diff options
-rw-r--r-- | CMakeLists.txt | 18 | ||||
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | README.md | 16 | ||||
-rw-r--r-- | cmake/FindRE2C.cmake | 137 | ||||
-rw-r--r-- | demo/libwabt.js | 29 | ||||
-rwxr-xr-x | scripts/travis-before-install.sh | 4 | ||||
-rwxr-xr-x | scripts/travis-build.sh | 5 | ||||
-rwxr-xr-x | scripts/travis-test.sh | 6 | ||||
-rw-r--r-- | src/lexer-keywords.txt | 516 | ||||
-rw-r--r-- | src/lexer-source.h | 3 | ||||
-rw-r--r-- | src/literal.h | 13 | ||||
-rw-r--r-- | src/prebuilt/lexer-keywords.cc | 1477 | ||||
-rw-r--r-- | src/prebuilt/wast-lexer-gen.cc | 13742 | ||||
-rw-r--r-- | src/wast-lexer.cc | 1182 | ||||
-rw-r--r-- | src/wast-lexer.h | 59 | ||||
-rw-r--r-- | test/parse/bad-string-eof.txt | 2 | ||||
-rw-r--r-- | test/parse/bad-string-hex-escape.txt | 4 | ||||
-rw-r--r-- | test/parse/empty-file.txt | 2 | ||||
-rw-r--r-- | test/parse/module/bad-module-no-close.txt | 2 |
19 files changed, 2552 insertions, 14678 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e0799db1..49f5bfbc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,6 @@ project(WABT) option(BUILD_TESTS "Build GTest-based tests" ON) option(BUILD_TOOLS "Build wabt commandline tools" ON) -option(RUN_RE2C "Run re2c" ON) option(USE_ASAN "Use address sanitizer" OFF) option(USE_MSAN "Use memory sanitizer" OFF) option(USE_LSAN "Use leak sanitizer" OFF) @@ -203,21 +202,6 @@ if (USE_UBSAN) endif () set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${WABT_SOURCE_DIR}/cmake) -find_package(RE2C) -if (RUN_RE2C AND RE2C_EXECUTABLE AND (NOT ${RE2C_VERSION} VERSION_LESS "0.16")) - message(STATUS "Using generated re2c lexer") - set(WAST_LEXER_CC ${WABT_SOURCE_DIR}/src/wast-lexer.cc) - set(WAST_LEXER_GEN_CC ${WABT_BINARY_DIR}/wast-lexer-gen.cc) - RE2C_TARGET( - NAME WAST_LEXER_GEN_CC - INPUT ${WAST_LEXER_CC} - OUTPUT ${WAST_LEXER_GEN_CC} - OPTIONS -bc8 -W -Werror - ) -else () - message(STATUS "Using prebuilt re2c lexer") - set(WAST_LEXER_GEN_CC src/prebuilt/wast-lexer-gen.cc) -endif () add_custom_target(everything) @@ -255,9 +239,9 @@ add_library(wabt STATIC src/type-checker.cc src/utf8.cc src/validator.cc + src/wast-lexer.cc src/wast-parser.cc src/wat-writer.cc - ${WAST_LEXER_GEN_CC} # TODO(binji): Move this into its own library? src/interp/binary-reader-interp.cc @@ -31,7 +31,7 @@ DEFAULT_SUFFIX = clang-debug COMPILERS := GCC GCC_I686 GCC_FUZZ CLANG EMCC BUILD_TYPES := DEBUG RELEASE SANITIZERS := ASAN MSAN LSAN UBSAN -CONFIGS := NORMAL $(SANITIZERS) COV NO_RE2C NO_TESTS +CONFIGS := NORMAL $(SANITIZERS) COV NO_TESTS # directory names GCC_DIR := gcc/ @@ -46,7 +46,6 @@ ASAN_DIR := asan/ MSAN_DIR := msan/ LSAN_DIR := lsan/ UBSAN_DIR := ubsan/ -NO_RE2C_DIR := no-re2c/ COV_DIR := cov/ NO_TESTS_DIR := no-tests/ @@ -65,7 +64,6 @@ MSAN_FLAG := -DUSE_MSAN=ON LSAN_FLAG := -DUSE_LSAN=ON UBSAN_FLAG := -DUSE_UBSAN=ON COV_FLAG := -DCODE_COVERAGE=ON -NO_RE2C_FLAG := -DRUN_RE2C=OFF NO_TESTS_FLAG := -DBUILD_TESTS=OFF # make target prefixes @@ -82,7 +80,6 @@ MSAN_PREFIX := -msan LSAN_PREFIX := -lsan UBSAN_PREFIX := -ubsan COV_PREFIX := -cov -NO_RE2C_PREFIX := -no-re2c NO_TESTS_PREFIX := -no-tests ifeq ($(USE_NINJA),1) @@ -140,11 +137,11 @@ clean: .PHONY: test-everything test-everything: -.PHONY: update-re2c -update-re2c: src/prebuilt/wast-lexer-gen.cc +.PHONY: update-gperf +update-gperf: src/prebuilt/lexer-keywords.cc -src/prebuilt/wast-lexer-gen.cc: src/wast-lexer.cc - re2c -W -Werror --no-generation-date -bc8 -o $@ $< +src/prebuilt/lexer-keywords.cc: src/lexer-keywords.txt + gperf -m 50 -L C++ -N InWordSet -E -t -c --output-file=$@ $< .PHONY: update-wasm2c update-wasm2c: src/prebuilt/wasm2c.include.c src/prebuilt/wasm2c.include.h @@ -86,8 +86,7 @@ configuration. - compilers: `gcc`, `clang`, `gcc-i686`, `gcc-fuzz` - build types: `debug`, `release` - - configurations: empty, `asan`, `msan`, `lsan`, `ubsan`, `no-re2c`, - `no-tests` + - configurations: empty, `asan`, `msan`, `lsan`, `ubsan`, `no-tests` They are combined with dashes, for example: @@ -95,7 +94,7 @@ They are combined with dashes, for example: $ make clang-debug $ make gcc-i686-release $ make clang-debug-lsan -$ make gcc-debug-no-re2c +$ make gcc-debug-no-tests ``` ## Building (Windows) @@ -138,14 +137,11 @@ So, for example, if you want to build the debug configuration on Visual Studio 2 > cmake --build . --config DEBUG --target install ``` -## Changing the lexer +## Adding new keywords to the lexer -If you make changes to `src/wast-lexer.cc`, you'll need to install -[re2c](http://re2c.org). Before you upload your PR, please run `make -update-re2c` to update the prebuilt C sources in `src/prebuilt/`. - -CMake will detect if you don't have re2c installed and use the prebuilt source -files instead. +If you want to add new keywords, you'll need to install +[gperf](https://www.gnu.org/software/gperf/). Before you upload your PR, please +run `make update-gperf` to update the prebuilt C++ sources in `src/prebuilt/`. ## Running wat2wasm and wast2json diff --git a/cmake/FindRE2C.cmake b/cmake/FindRE2C.cmake deleted file mode 100644 index 37e295d7..00000000 --- a/cmake/FindRE2C.cmake +++ /dev/null @@ -1,137 +0,0 @@ -# -# This module is designed to find/handle re2c binary -# -# Requirement: -# CMake >= 2.8.3 (for new version of find_package_handle_standard_args) -# -# The following variables will be defined for your use: -# - RE2C_EXECUTABLE : re2c (binary) location -# - RE2C_VERSION : complete version of re2c (x.y.z) -# - RE2C_MAJOR_VERSION : major version of re2c -# - RE2C_MINOR_VERSION : minor version of re2c -# - RE2C_PATCH_VERSION : patch version of re2c -# -# The following macro is provided: -# RE2C_TARGET -# -# Prototype: -# RE2C_TARGET([NAME <target>] [INPUT <input>] [OUTPUT <output>] [OPTIONS <options>] [DEPENDS <list of files>]) -# -# Argument details: -# - NAME <target> (mandatory): cmake target name to build the lexer -# - INPUT <input> (mandatory): the input file to give to re2c -# - OUTPUT <output> (mandatory): the output file generated by re2c -# - OPTIONS <options> (optionnal): command line options to pass to re2c -# - DEPENDS <file1> ... <file2> (optionnal): a list of files the lexer depends on -# -# How to use: -# 1) Copy this file in the root of your project source directory -# 2) Then, tell CMake to search this non-standard module in your project directory by adding to your CMakeLists.txt: -# set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) -# 3) Finally call find_package(RE2C) once -# -# Here is a complete sample to build an executable: -# -# set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) -# -# find_package(RE2C REQUIRED) # Note: name is case sensitive -# -# RE2C_TARGET(NAME foo INPUT foo.re2c OUPUT foo.c OPTIONS "-b" DEPENDS foo.h) -# -# add_executable(foo foo.c) -# - - -#============================================================================= -# Copyright (c) 2015, julp -# -# Distributed under the OSI-approved BSD License -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -#============================================================================= - -cmake_minimum_required(VERSION 2.8.3) - -########## Private ########## -if(NOT DEFINED RE2C_PUBLIC_VAR_NS) - set(RE2C_PUBLIC_VAR_NS "RE2C") -endif(NOT DEFINED RE2C_PUBLIC_VAR_NS) -if(NOT DEFINED RE2C_PRIVATE_VAR_NS) - set(RE2C_PRIVATE_VAR_NS "_${RE2C_PUBLIC_VAR_NS}") -endif(NOT DEFINED RE2C_PRIVATE_VAR_NS) - -function(re2c_debug _VARNAME) - if(${RE2C_PUBLIC_VAR_NS}_DEBUG) - if(DEFINED ${RE2C_PUBLIC_VAR_NS}_${_VARNAME}) - message("${RE2C_PUBLIC_VAR_NS}_${_VARNAME} = ${${RE2C_PUBLIC_VAR_NS}_${_VARNAME}}") - else(DEFINED ${RE2C_PUBLIC_VAR_NS}_${_VARNAME}) - message("${RE2C_PUBLIC_VAR_NS}_${_VARNAME} = <UNDEFINED>") - endif(DEFINED ${RE2C_PUBLIC_VAR_NS}_${_VARNAME}) - endif(${RE2C_PUBLIC_VAR_NS}_DEBUG) -endfunction(re2c_debug) - -########## Public ########## - -find_program(${RE2C_PUBLIC_VAR_NS}_EXECUTABLE re2c) -if(${RE2C_PUBLIC_VAR_NS}_EXECUTABLE) - execute_process(COMMAND ${${RE2C_PUBLIC_VAR_NS}_EXECUTABLE} --vernum OUTPUT_VARIABLE ${RE2C_PRIVATE_VAR_NS}_RAW_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - math(EXPR RE2C_MAJOR_VERSION "${${RE2C_PRIVATE_VAR_NS}_RAW_VERSION} / 100000") - math(EXPR RE2C_MINOR_VERSION "(${${RE2C_PRIVATE_VAR_NS}_RAW_VERSION} - ${${RE2C_PUBLIC_VAR_NS}_MAJOR_VERSION} * 100000) / 100") - math(EXPR RE2C_PATCH_VERSION "${${RE2C_PRIVATE_VAR_NS}_RAW_VERSION} - ${${RE2C_PUBLIC_VAR_NS}_MAJOR_VERSION} * 100000 - ${${RE2C_PUBLIC_VAR_NS}_MINOR_VERSION} * 100") - set(RE2C_VERSION "${${RE2C_PUBLIC_VAR_NS}_MAJOR_VERSION}.${${RE2C_PUBLIC_VAR_NS}_MINOR_VERSION}.${${RE2C_PUBLIC_VAR_NS}_PATCH_VERSION}") - - include(CMakeParseArguments) - macro(RE2C_TARGET) - cmake_parse_arguments(PARSED_ARGS "" "NAME;INPUT;OUTPUT" "OPTIONS;DEPENDS" ${ARGN}) - - if(NOT PARSED_ARGS_OUTPUT) - message(FATAL_ERROR "RE2C_TARGET expect an output filename") - endif(NOT PARSED_ARGS_OUTPUT) - if(NOT PARSED_ARGS_INPUT) - message(FATAL_ERROR "RE2C_TARGET expect an input filename") - endif(NOT PARSED_ARGS_INPUT) - if(NOT PARSED_ARGS_NAME) - message(FATAL_ERROR "RE2C_TARGET expect a target name") - endif(NOT PARSED_ARGS_NAME) - # TODO: - # - get_filename_component(PARSED_ARGS_INPUT ${PARSED_ARGS_INPUT} ABSOLUTE) - # - get_filename_component(PARSED_ARGS_OUTPUT ${PARSED_ARGS_OUTPUT} ABSOLUTE) - # ? - add_custom_command( - OUTPUT ${PARSED_ARGS_OUTPUT} - COMMAND ${${RE2C_PUBLIC_VAR_NS}_EXECUTABLE} ${PARSED_ARGS_OPTIONS} -o ${PARSED_ARGS_OUTPUT} ${PARSED_ARGS_INPUT} - DEPENDS ${PARSED_ARGS_INPUT} ${PARSED_ARGS_DEPENDS} - COMMENT "[RE2C][${PARSED_ARGS_NAME}] Building lexer with re2c ${${RE2C_PUBLIC_VAR_NS}_VERSION}" - ) - add_custom_target( - ${PARSED_ARGS_NAME} - SOURCES ${PARSED_ARGS_INPUT} - DEPENDS ${PARSED_ARGS_OUTPUT} - ) - endmacro(RE2C_TARGET) - - include(FindPackageHandleStandardArgs) - if(${RE2C_PUBLIC_VAR_NS}_FIND_REQUIRED AND NOT ${RE2C_PUBLIC_VAR_NS}_FIND_QUIETLY) - find_package_handle_standard_args( - ${RE2C_PUBLIC_VAR_NS} - REQUIRED_VARS ${RE2C_PUBLIC_VAR_NS}_EXECUTABLE - VERSION_VAR ${RE2C_PUBLIC_VAR_NS}_VERSION - ) - else(${RE2C_PUBLIC_VAR_NS}_FIND_REQUIRED AND NOT ${RE2C_PUBLIC_VAR_NS}_FIND_QUIETLY) - find_package_handle_standard_args(${RE2C_PUBLIC_VAR_NS} "re2c not found" ${RE2C_PUBLIC_VAR_NS}_EXECUTABLE) - endif(${RE2C_PUBLIC_VAR_NS}_FIND_REQUIRED AND NOT ${RE2C_PUBLIC_VAR_NS}_FIND_QUIETLY) -endif(${RE2C_PUBLIC_VAR_NS}_EXECUTABLE) - -# IN (args) -re2c_debug("FIND_REQUIRED") -re2c_debug("FIND_QUIETLY") -re2c_debug("FIND_VERSION") -# OUT -# Linking -re2c_debug("EXECUTABLE") -# Version -re2c_debug("MAJOR_VERSION") -re2c_debug("MINOR_VERSION") -re2c_debug("PATCH_VERSION") -re2c_debug("VERSION") diff --git a/demo/libwabt.js b/demo/libwabt.js index d7612223..2baafd60 100644 --- a/demo/libwabt.js +++ b/demo/libwabt.js @@ -5,25 +5,24 @@ var WabtModule = (function() { function(WabtModule) { WabtModule = WabtModule || {}; -var Module=typeof WabtModule!=="undefined"?WabtModule:{};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;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);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(_scriptDir){scriptDirectory=_scriptDir}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{var success=_emscripten_resize_heap(end);if(!success)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(10);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var 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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NONE=3;function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}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<endPtr){var u0=u8Array[idx++];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<str.length;++i){var u=str.charCodeAt(i);if(u>=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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else 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 writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}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()}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=330288,DYNAMIC_BASE=5573168,DYNAMICTOP_PTR=330032;var TOTAL_STACK=5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();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;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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){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}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAABJAQUAYqoEAG8BBQCEAAUAdQAFAOgABQCdjQQAlQAFAMAABQCjAAUA3AAFAGMABQCfAwUAjgEFAEIBBQAlAQUADAEFAAAAAAAAAAAAAAAAAJqPBAC0jwQAzI8EAOOPBAD6jwQAEpAEACmQBAA/kAQAV5AEAHKQBACMkAQAAAAAABiRBAAjkQQALZEEAD6RBABKkQQAV5EEAGKRBABpkQQAb5EEAHKRBAB3kQQAf5EEAIeRBACMkQQAmZEEAKGRBACnkQQAr5EEALSRBAC+kQQAyJEEAMuRBADQkQQA2ZEEAOKRBADrkQQA8JEEAPuRBAAEkgQAD5IEABqSBAAlkgQAMJIEADSSBAA+kgQARpIEAE6SBABVkgQAYJIEAHOSBAB6kgQAhZIEAJOSBACZkgQAo5IEAKySBAC2kgQAv5IEAMmSBADTkgQA3JIEAOSSBADqkgQA7pIEAPSSBAAAAAAA7gIFAMD////A////wP///8D///8AAAAAAAAAAAAAAAAAAAAAvQIFAMD////A////wP///8D///8AAAAAAAAAAAEAAAABAAAAAwQFAMD////A////wP///8D///8AAAAAAAAAAAIAAAACAAAA8wQFAMD////A////wP///8D///8AAAAAAAAAAAMAAAADAAAA+AQFAMD////A////wP///8D///8AAAAAAAAAAAQAAAAEAAAAIAIFAMD////A////wP///8D///8AAAAAAAAAAAUAAAAFAAAACwUFAMD////A////wP///8D///8AAAAAAAAAAAYAAAAGAAAABAIFAMD////A////wP///8D///8AAAAAAAAAAAcAAAAHAAAAawUFAMD////A////wP///8D///8AAAAAAAAAAAgAAAAIAAAAYwUFAMD////A////wP///8D///8AAAAAAAAAAAkAAAAJAAAAEgQFAMD////A////wP///8D///8AAAAAAAAAAAoAAAAKAAAAJQIFAMD////A////wP///8D///8AAAAAAAAAAAsAAAALAAAACQQFAMD////A////wP///8D///8AAAAAAAAAAAwAAAAMAAAADAQFAMD////A////wP///8D///8AAAAAAAAAAA0AAAANAAAAUgQFAMD////A////wP///8D///8AAAAAAAAAAA4AAAAOAAAAcQUFAMD////A////wP///8D///8AAAAAAAAAAA8AAAAPAAAAmAQFAMD////A////wP///8D///8AAAAAAAAAABAAAAAQAAAAnQQFAMD////A////wP///8D///8AAAAAAAAAABEAAAARAAAAqwQFAMD////A////wP///8D///8AAAAAAAAAABIAAAASAAAAtwQFAMD////A////wP///8D///8AAAAAAAAAABMAAAATAAAA1gQFAMD////A////wP///8D///8AAAAAAAAAABoAAAAaAAAAeAUFAMD////A////wP///8D///8AAAAAAAAAABsAAAAbAAAANAIFAMD////A////wP///8D///8AAAAAAAAAACAAAAAgAAAAJAUFAMD////A////wP///8D///8AAAAAAAAAACEAAAAhAAAALgUFAMD////A////wP///8D///8AAAAAAAAAACIAAAAiAAAAKQIFAMD////A////wP///8D///8AAAAAAAAAACMAAAAjAAAAGQUFAMD////A////wP///8D///8AAAAAAAAAACQAAAAkAAAAAJMEAP//////////wP///8D///8EAAAAAAAAACgAAAAoAAAACZMEAP7/////////wP///8D///8IAAAAAAAAACkAAAApAAAAEpMEAP3/////////wP///8D///8EAAAAAAAAACoAAAAqAAAAG5MEAPz/////////wP///8D///8IAAAAAAAAACsAAAArAAAAJJMEAP//////////wP///8D///8BAAAAAAAAACwAAAAsAAAAMJMEAP//////////wP///8D///8BAAAAAAAAAC0AAAAtAAAAPJMEAP//////////wP///8D///8CAAAAAAAAAC4AAAAuAAAASZMEAP//////////wP///8D///8CAAAAAAAAAC8AAAAvAAAAVpMEAP7/////////wP///8D///8BAAAAAAAAADAAAAAwAAAAYpMEAP7/////////wP///8D///8BAAAAAAAAADEAAAAxAAAAbpMEAP7/////////wP///8D///8CAAAAAAAAADIAAAAyAAAAe5MEAP7/////////wP///8D///8CAAAAAAAAADMAAAAzAAAAiJMEAP7/////////wP///8D///8EAAAAAAAAADQAAAA0AAAAlZMEAP7/////////wP///8D///8EAAAAAAAAADUAAAA1AAAAopMEAMD//////////////8D///8EAAAAAAAAADYAAAA2AAAArJMEAMD//////////v///8D///8IAAAAAAAAADcAAAA3AAAAtpMEAMD//////////f///8D///8EAAAAAAAAADgAAAA4AAAAwJMEAMD//////////P///8D///8IAAAAAAAAADkAAAA5AAAAypMEAMD//////////////8D///8BAAAAAAAAADoAAAA6AAAA1ZMEAMD//////////////8D///8CAAAAAAAAADsAAAA7AAAA4ZMEAMD//////////v///8D///8BAAAAAAAAADwAAAA8AAAA7JMEAMD//////////v///8D///8CAAAAAAAAAD0AAAA9AAAA+JMEAMD//////////v///8D///8EAAAAAAAAAD4AAAA+AAAAfQIFAP/////A////wP///8D///8AAAAAAAAAAD8AAAA/AAAAZQIFAP//////////wP///8D///8AAAAAAAAAAEAAAABAAAAABJQEAP/////A////wP///8D///8AAAAAAAAAAEEAAABBAAAADpQEAP7////A////wP///8D///8AAAAAAAAAAEIAAABCAAAAGJQEAP3////A////wP///8D///8AAAAAAAAAAEMAAABDAAAAIpQEAPz////A////wP///8D///8AAAAAAAAAAEQAAABEAAAALJQEAP//////////wP///8D///8AAAAAAAAAAEUAAABFAAAANJQEAP///////////////8D///8AAAAAAAAAAEYAAABGAAAAO5QEAP///////////////8D///8AAAAAAAAAAEcAAABHAAAAQpQEAP///////////////8D///8AAAAAAAAAAEgAAABIAAAAS5QEAP///////////////8D///8AAAAAAAAAAEkAAABJAAAAVJQEAP///////////////8D///8AAAAAAAAAAEoAAABKAAAAXZQEAP///////////////8D///8AAAAAAAAAAEsAAABLAAAAZpQEAP///////////////8D///8AAAAAAAAAAEwAAABMAAAAb5QEAP///////////////8D///8AAAAAAAAAAE0AAABNAAAAeJQEAP///////////////8D///8AAAAAAAAAAE4AAABOAAAAgZQEAP///////////////8D///8AAAAAAAAAAE8AAABPAAAAipQEAP/////+////wP///8D///8AAAAAAAAAAFAAAABQAAAAkpQEAP/////+/////v///8D///8AAAAAAAAAAFEAAABRAAAAmZQEAP/////+/////v///8D///8AAAAAAAAAAFIAAABSAAAAoJQEAP/////+/////v///8D///8AAAAAAAAAAFMAAABTAAAAqZQEAP/////+/////v///8D///8AAAAAAAAAAFQAAABUAAAAspQEAP/////+/////v///8D///8AAAAAAAAAAFUAAABVAAAAu5QEAP/////+/////v///8D///8AAAAAAAAAAFYAAABWAAAAxJQEAP/////+/////v///8D///8AAAAAAAAAAFcAAABXAAAAzZQEAP/////+/////v///8D///8AAAAAAAAAAFgAAABYAAAA1pQEAP/////+/////v///8D///8AAAAAAAAAAFkAAABZAAAA35QEAP/////+/////v///8D///8AAAAAAAAAAFoAAABaAAAA6JQEAP/////9/////f///8D///8AAAAAAAAAAFsAAABbAAAA75QEAP/////9/////f///8D///8AAAAAAAAAAFwAAABcAAAA9pQEAP/////9/////f///8D///8AAAAAAAAAAF0AAABdAAAA/ZQEAP/////9/////f///8D///8AAAAAAAAAAF4AAABeAAAABJUEAP/////9/////f///8D///8AAAAAAAAAAF8AAABfAAAAC5UEAP/////9/////f///8D///8AAAAAAAAAAGAAAABgAAAAEpUEAP/////8/////P///8D///8AAAAAAAAAAGEAAABhAAAAGZUEAP/////8/////P///8D///8AAAAAAAAAAGIAAABiAAAAIJUEAP/////8/////P///8D///8AAAAAAAAAAGMAAABjAAAAJ5UEAP/////8/////P///8D///8AAAAAAAAAAGQAAABkAAAALpUEAP/////8/////P///8D///8AAAAAAAAAAGUAAABlAAAANZUEAP/////8/////P///8D///8AAAAAAAAAAGYAAABmAAAAPJUEAP//////////wP///8D///8AAAAAAAAAAGcAAABnAAAARJUEAP//////////wP///8D///8AAAAAAAAAAGgAAABoAAAATJUEAP//////////wP///8D///8AAAAAAAAAAGkAAABpAAAAV5UEAP///////////////8D///8AAAAAAAAAAGoAAABqAAAAX5UEAP///////////////8D///8AAAAAAAAAAGsAAABrAAAAZ5UEAP///////////////8D///8AAAAAAAAAAGwAAABsAAAAb5UEAP///////////////8D///8AAAAAAAAAAG0AAABtAAAAeZUEAP///////////////8D///8AAAAAAAAAAG4AAABuAAAAg5UEAP///////////////8D///8AAAAAAAAAAG8AAABvAAAAjZUEAP///////////////8D///8AAAAAAAAAAHAAAABwAAAAl5UEAP///////////////8D///8AAAAAAAAAAHEAAABxAAAAn5UEAP///////////////8D///8AAAAAAAAAAHIAAAByAAAAppUEAP///////////////8D///8AAAAAAAAAAHMAAABzAAAArpUEAP///////////////8D///8AAAAAAAAAAHQAAAB0AAAAtpUEAP///////////////8D///8AAAAAAAAAAHUAAAB1AAAAwJUEAP///////////////8D///8AAAAAAAAAAHYAAAB2AAAAypUEAP///////////////8D///8AAAAAAAAAAHcAAAB3AAAA05UEAP///////////////8D///8AAAAAAAAAAHgAAAB4AAAA3JUEAP7////+////wP///8D///8AAAAAAAAAAHkAAAB5AAAA5JUEAP7////+////wP///8D///8AAAAAAAAAAHoAAAB6AAAA7JUEAP7////+////wP///8D///8AAAAAAAAAAHsAAAB7AAAA95UEAP7////+/////v///8D///8AAAAAAAAAAHwAAAB8AAAA/5UEAP7////+/////v///8D///8AAAAAAAAAAH0AAAB9AAAAB5YEAP7////+/////v///8D///8AAAAAAAAAAH4AAAB+AAAAD5YEAP7////+/////v///8D///8AAAAAAAAAAH8AAAB/AAAAGZYEAP7////+/////v///8D///8AAAAAAAAAAIAAAACAAAAAI5YEAP7////+/////v///8D///8AAAAAAAAAAIEAAACBAAAALZYEAP7////+/////v///8D///8AAAAAAAAAAIIAAACCAAAAN5YEAP7////+/////v///8D///8AAAAAAAAAAIMAAACDAAAAP5YEAP7////+/////v///8D///8AAAAAAAAAAIQAAACEAAAARpYEAP7////+/////v///8D///8AAAAAAAAAAIUAAACFAAAATpYEAP7////+/////v///8D///8AAAAAAAAAAIYAAACGAAAAVpYEAP7////+/////v///8D///8AAAAAAAAAAIcAAACHAAAAYJYEAP7////+/////v///8D///8AAAAAAAAAAIgAAACIAAAAapYEAP7////+/////v///8D///8AAAAAAAAAAIkAAACJAAAAc5YEAP7////+/////v///8D///8AAAAAAAAAAIoAAACKAAAAfJYEAP3////9/////f///8D///8AAAAAAAAAAIsAAACLAAAAhJYEAP3////9/////f///8D///8AAAAAAAAAAIwAAACMAAAAjJYEAP3////9/////f///8D///8AAAAAAAAAAI0AAACNAAAAlZYEAP3////9/////f///8D///8AAAAAAAAAAI4AAACOAAAAn5YEAP3////9/////f///8D///8AAAAAAAAAAI8AAACPAAAAqZYEAP3////9/////f///8D///8AAAAAAAAAAJAAAACQAAAAtZYEAP3////9/////f///8D///8AAAAAAAAAAJEAAACRAAAAvpYEAP3////9/////f///8D///8AAAAAAAAAAJIAAACSAAAAxpYEAP3////9/////f///8D///8AAAAAAAAAAJMAAACTAAAAzpYEAP3////9/////f///8D///8AAAAAAAAAAJQAAACUAAAA1pYEAP3////9/////f///8D///8AAAAAAAAAAJUAAACVAAAA3pYEAP3////9/////f///8D///8AAAAAAAAAAJYAAACWAAAA5pYEAP3////9/////f///8D///8AAAAAAAAAAJcAAACXAAAA7pYEAP3////9/////f///8D///8AAAAAAAAAAJgAAACYAAAA+5YEAPz////8/////P///8D///8AAAAAAAAAAJkAAACZAAAAA5cEAPz////8/////P///8D///8AAAAAAAAAAJoAAACaAAAAC5cEAPz////8/////P///8D///8AAAAAAAAAAJsAAACbAAAAFJcEAPz////8/////P///8D///8AAAAAAAAAAJwAAACcAAAAHpcEAPz////8/////P///8D///8AAAAAAAAAAJ0AAACdAAAAKJcEAPz////8/////P///8D///8AAAAAAAAAAJ4AAACeAAAANJcEAPz////8/////P///8D///8AAAAAAAAAAJ8AAACfAAAAPZcEAPz////8/////P///8D///8AAAAAAAAAAKAAAACgAAAARZcEAPz////8/////P///8D///8AAAAAAAAAAKEAAAChAAAATZcEAPz////8/////P///8D///8AAAAAAAAAAKIAAACiAAAAVZcEAPz////8/////P///8D///8AAAAAAAAAAKMAAACjAAAAXZcEAPz////8/////P///8D///8AAAAAAAAAAKQAAACkAAAAZZcEAPz////8/////P///8D///8AAAAAAAAAAKUAAAClAAAAbZcEAPz////8/////P///8D///8AAAAAAAAAAKYAAACmAAAAepcEAP/////+////wP///8D///8AAAAAAAAAAKcAAACnAAAAh5cEAP/////9////wP///8D///8AAAAAAAAAAKgAAACoAAAAl5cEAP/////9////wP///8D///8AAAAAAAAAAKkAAACpAAAAp5cEAP/////8////wP///8D///8AAAAAAAAAAKoAAACqAAAAt5cEAP/////8////wP///8D///8AAAAAAAAAAKsAAACrAAAAx5cEAP7/////////wP///8D///8AAAAAAAAAAKwAAACsAAAA2JcEAP7/////////wP///8D///8AAAAAAAAAAK0AAACtAAAA6ZcEAP7////9////wP///8D///8AAAAAAAAAAK4AAACuAAAA+ZcEAP7////9////wP///8D///8AAAAAAAAAAK8AAACvAAAACZgEAP7////8////wP///8D///8AAAAAAAAAALAAAACwAAAAGZgEAP7////8////wP///8D///8AAAAAAAAAALEAAACxAAAAKZgEAP3/////////wP///8D///8AAAAAAAAAALIAAACyAAAAO5gEAP3/////////wP///8D///8AAAAAAAAAALMAAACzAAAATZgEAP3////+////wP///8D///8AAAAAAAAAALQAAAC0AAAAX5gEAP3////+////wP///8D///8AAAAAAAAAALUAAAC1AAAAcZgEAP3////8////wP///8D///8AAAAAAAAAALYAAAC2AAAAgJgEAPz/////////wP///8D///8AAAAAAAAAALcAAAC3AAAAkpgEAPz/////////wP///8D///8AAAAAAAAAALgAAAC4AAAApJgEAPz////+////wP///8D///8AAAAAAAAAALkAAAC5AAAAtpgEAPz////+////wP///8D///8AAAAAAAAAALoAAAC6AAAAyJgEAPz////9////wP///8D///8AAAAAAAAAALsAAAC7AAAA2JgEAP/////9////wP///8D///8AAAAAAAAAALwAAAC8AAAA7JgEAP7////8////wP///8D///8AAAAAAAAAAL0AAAC9AAAAAJkEAP3/////////wP///8D///8AAAAAAAAAAL4AAAC+AAAAFJkEAPz////+////wP///8D///8AAAAAAAAAAL8AAAC/AAAAKJkEAP//////////wP///8D///8AAAAAAAAAAMAAAADAAAAANpkEAP//////////wP///8D///8AAAAAAAAAAMEAAADBAAAARZkEAP7////+////wP///8D///8AAAAAAAAAAMIAAADCAAAAU5kEAP7////+////wP///8D///8AAAAAAAAAAMMAAADDAAAAYpkEAP7////+////wP///8D///8AAAAAAAAAAMQAAADEAAAAcZkEAMD////A////wP///8D///8AAAAAAAAAAOAAAADgAAAAeJkEAMD////A////wP///8D///8AAAAAAAAAAOEAAADhAAAAgpkEAMD////A////wP///8D///8AAAAAAAAAAOIAAADiAAAA/gAFAMD////A////wP///8D///8AAAAAAAAAAOMAAADjAAAAjJkEAMD////A////wP///8D///8AAAAAAAAAAOQAAADkAAAAlpkEAP/////9////wP///8D///8AAAAA/AAAAAAAAAAA/AAAqpkEAP/////9////wP///8D///8AAAAA/AAAAAEAAAAB/AAAvpkEAP/////8////wP///8D///8AAAAA/AAAAAIAAAAC/AAA0pkEAP/////8////wP///8D///8AAAAA/AAAAAMAAAAD/AAA5pkEAP7////9////wP///8D///8AAAAA/AAAAAQAAAAE/AAA+pkEAP7////9////wP///8D///8AAAAA/AAAAAUAAAAF/AAADpoEAP7////8////wP///8D///8AAAAA/AAAAAYAAAAG/AAAIpoEAP7////8////wP///8D///8AAAAA/AAAAAcAAAAH/AAAcQIFAMD///////////////////8AAAAA/AAAAAgAAAAI/AAATwIFAMD////A////wP///8D///8AAAAA/AAAAAkAAAAJ/AAAQwIFAMD///////////////////8AAAAA/AAAAAoAAAAK/AAAWQIFAMD///////////////////8AAAAA/AAAAAsAAAAL/AAAngIFAMD///////////////////8AAAAA/AAAAAwAAAAM/AAAlAIFAMD////A////wP///8D///8AAAAA/AAAAA0AAAAN/AAAiQIFAMD///////////////////8AAAAA/AAAAA4AAAAO/AAAOAUFAMD////A////wP///8D///8AAAAAAAAAACUAAAAlAAAAQgUFAMD////A////wP///8D///8AAAAAAAAAACYAAAAmAAAATAUFAMD////A////wP///8D///8AAAAA/AAAAA8AAAAP/AAAqQIFAMD////A////wP///8D///8AAAAA/AAAABAAAAAQ/AAAtAIFAMD////A////wP///8D///8AAAAAAAAAANAAAADQAAAAVwUFAMD////A////wP///8D///8AAAAAAAAAANEAAADRAAAANpoEAPv/////////wP///8D///8QAAAA/QAAAAAAAAAA/QAAQJoEAMD/////////+////8D///8QAAAA/QAAAAEAAAAB/QAAS5oEAPv////A////wP///8D///8AAAAA/QAAAAIAAAAC/QAAVpoEAPv////7////+////8D///8AAAAA/QAAAAMAAAAD/QAAZJoEAPv/////////wP///8D///8AAAAA/QAAAAQAAAAE/QAAcJoEAP/////7////wP///8D///8AAAAA/QAAAAUAAAAF/QAAhZoEAP/////7////wP///8D///8AAAAA/QAAAAYAAAAG/QAAmpoEAPv////7/////////8D///8AAAAA/QAAAAcAAAAH/QAArZoEAPv/////////wP///8D///8AAAAA/QAAAAgAAAAI/QAAuZoEAP/////7////wP///8D///8AAAAA/QAAAAkAAAAJ/QAAzpoEAP/////7////wP///8D///8AAAAA/QAAAAoAAAAK/QAA45oEAPv////7/////////8D///8AAAAA/QAAAAsAAAAL/QAA9poEAPv/////////wP///8D///8AAAAA/QAAAAwAAAAM/QAAApsEAP/////7////wP///8D///8AAAAA/QAAAA0AAAAN/QAAFZsEAPv////7/////////8D///8AAAAA/QAAAA4AAAAO/QAAKJsEAPv////+////wP///8D///8AAAAA/QAAAA8AAAAP/QAANJsEAP7////7////wP///8D///8AAAAA/QAAABAAAAAQ/QAAR5sEAPv////7/////v///8D///8AAAAA/QAAABEAAAAR/QAAWpsEAPv////9////wP///8D///8AAAAA/QAAABIAAAAS/QAAZpsEAP3////7////wP///8D///8AAAAA/QAAABMAAAAT/QAAeZsEAPv////7/////f///8D///8AAAAA/QAAABQAAAAU/QAAjJsEAPv////8////wP///8D///8AAAAA/QAAABUAAAAV/QAAmJsEAPz////7////wP///8D///8AAAAA/QAAABYAAAAW/QAAq5sEAPv////7/////P///8D///8AAAAA/QAAABcAAAAX/QAAvpsEAPv////7////+////8D///8AAAAA/QAAABgAAAAY/QAAx5sEAPv////7////+////8D///8AAAAA/QAAABkAAAAZ/QAA0JsEAPv////7////+////8D///8AAAAA/QAAABoAAAAa/QAA25sEAPv////7////+////8D///8AAAAA/QAAABsAAAAb/QAA5psEAPv////7////+////8D///8AAAAA/QAAABwAAAAc/QAA8ZsEAPv////7////+////8D///8AAAAA/QAAAB0AAAAd/QAA/JsEAPv////7////+////8D///8AAAAA/QAAAB4AAAAe/QAAB5wEAPv////7////+////8D///8AAAAA/QAAAB8AAAAf/QAAEpwEAPv////7////+////8D///8AAAAA/QAAACAAAAAg/QAAHZwEAPv////7////+////8D///8AAAAA/QAAACEAAAAh/QAAKJwEAPv////7////+////8D///8AAAAA/QAAACIAAAAi/QAAMZwEAPv////7////+////8D///8AAAAA/QAAACMAAAAj/QAAOpwEAPv////7////+////8D///8AAAAA/QAAACQAAAAk/QAARZwEAPv////7////+////8D///8AAAAA/QAAACUAAAAl/QAAUJwEAPv////7////+////8D///8AAAAA/QAAACYAAAAm/QAAW5wEAPv////7////+////8D///8AAAAA/QAAACcAAAAn/QAAZpwEAPv////7////+////8D///8AAAAA/QAAACgAAAAo/QAAcZwEAPv////7////+////8D///8AAAAA/QAAACkAAAAp/QAAfJwEAPv////7////+////8D///8AAAAA/QAAACoAAAAq/QAAh5wEAPv////7////+////8D///8AAAAA/QAAACsAAAAr/QAAkpwEAPv////7////+////8D///8AAAAA/QAAACwAAAAs/QAAm5wEAPv////7////+////8D///8AAAAA/QAAAC0AAAAt/QAApJwEAPv////7////+////8D///8AAAAA/QAAAC4AAAAu/QAAr5wEAPv////7////+////8D///8AAAAA/QAAAC8AAAAv/QAAupwEAPv////7////+////8D///8AAAAA/QAAADAAAAAw/QAAxZwEAPv////7////+////8D///8AAAAA/QAAADEAAAAx/QAA0JwEAPv////7////+////8D///8AAAAA/QAAADIAAAAy/QAA25wEAPv////7////+////8D///8AAAAA/QAAADMAAAAz/QAA5pwEAPv////7////+////8D///8AAAAA/QAAADQAAAA0/QAA8ZwEAPv////7////+////8D///8AAAAA/QAAADUAAAA1/QAA/JwEAPv////7////+////8D///8AAAAA/QAAAEAAAABA/QAABZ0EAPv////7////+////8D///8AAAAA/QAAAEEAAABB/QAADp0EAPv////7////+////8D///8AAAAA/QAAAEIAAABC/QAAF50EAPv////7////+////8D///8AAAAA/QAAAEMAAABD/QAAIJ0EAPv////7////+////8D///8AAAAA/QAAAEQAAABE/QAAKZ0EAPv////7////+////8D///8AAAAA/QAAAEUAAABF/QAAMp0EAPv////7////+////8D///8AAAAA/QAAAEYAAABG/QAAO50EAPv////7////+////8D///8AAAAA/QAAAEcAAABH/QAARJ0EAPv////7////+////8D///8AAAAA/QAAAEgAAABI/QAATZ0EAPv////7////+////8D///8AAAAA/QAAAEkAAABJ/QAAVp0EAPv////7////+////8D///8AAAAA/QAAAEoAAABK/QAAX50EAPv////7////+////8D///8AAAAA/QAAAEsAAABL/QAAaJ0EAPv////7////wP///8D///8AAAAA/QAAAEwAAABM/QAAcZ0EAPv////7////+////8D///8AAAAA/QAAAE0AAABN/QAAep0EAPv////7////+////8D///8AAAAA/QAAAE4AAABO/QAAgp0EAPv////7////+////8D///8AAAAA/QAAAE8AAABP/QAAi50EAPv////7////+/////v///8AAAAA/QAAAFAAAABQ/QAAmp0EAPv////7////wP///8D///8AAAAA/QAAAFEAAABR/QAApJ0EAP/////7////wP///8D///8AAAAA/QAAAFIAAABS/QAAs50EAP/////7////wP///8D///8AAAAA/QAAAFMAAABT/QAAwp0EAPv////7/////////8D///8AAAAA/QAAAFQAAABU/QAAzJ0EAPv////7/////////8D///8AAAAA/QAAAFUAAABV/QAA2J0EAPv////7/////////8D///8AAAAA/QAAAFYAAABW/QAA5J0EAPv////7////+////8D///8AAAAA/QAAAFcAAABX/QAA7p0EAPv////7////+////8D///8AAAAA/QAAAFgAAABY/QAAA54EAPv////7////+////8D///8AAAAA/QAAAFkAAABZ/QAAGJ4EAPv////7////+////8D///8AAAAA/QAAAFoAAABa/QAAIp4EAPv////7////+////8D///8AAAAA/QAAAFsAAABb/QAAN54EAPv////7////+////8D///8AAAAA/QAAAFwAAABc/QAATJ4EAPv////7////+////8D///8AAAAA/QAAAF0AAABd/QAAVp4EAPv////7////wP///8D///8AAAAA/QAAAGIAAABi/QAAYJ4EAP/////7////wP///8D///8AAAAA/QAAAGMAAABj/QAAb54EAP/////7////wP///8D///8AAAAA/QAAAGQAAABk/QAAfp4EAPv////7/////////8D///8AAAAA/QAAAGUAAABl/QAAiJ4EAPv////7/////////8D///8AAAAA/QAAAGYAAABm/QAAlJ4EAPv////7/////////8D///8AAAAA/QAAAGcAAABn/QAAoJ4EAPv////7////+////8D///8AAAAA/QAAAGgAAABo/QAAqp4EAPv////7////+////8D///8AAAAA/QAAAGkAAABp/QAAv54EAPv////7////+////8D///8AAAAA/QAAAGoAAABq/QAA1J4EAPv////7////+////8D///8AAAAA/QAAAGsAAABr/QAA3p4EAPv////7////+////8D///8AAAAA/QAAAGwAAABs/QAA854EAPv////7////+////8D///8AAAAA/QAAAG0AAABt/QAACJ8EAPv////7////+////8D///8AAAAA/QAAAG4AAABu/QAAEp8EAPv////7////wP///8D///8AAAAA/QAAAHMAAABz/QAAHJ8EAP/////7////wP///8D///8AAAAA/QAAAHQAAAB0/QAAK58EAP/////7////wP///8D///8AAAAA/QAAAHUAAAB1/QAAOp8EAPv////7/////////8D///8AAAAA/QAAAHYAAAB2/QAARJ8EAPv////7/////////8D///8AAAAA/QAAAHcAAAB3/QAAUJ8EAPv////7/////////8D///8AAAAA/QAAAHgAAAB4/QAAXJ8EAPv////7////+////8D///8AAAAA/QAAAHkAAAB5/QAAZp8EAPv////7////+////8D///8AAAAA/QAAAHwAAAB8/QAAcJ8EAPv////7////+////8D///8AAAAA/QAAAH8AAAB//QAAep8EAPv////7////wP///8D///8AAAAA/QAAAIQAAACE/QAAhJ8EAP/////7////wP///8D///8AAAAA/QAAAIUAAACF/QAAk58EAP/////7////wP///8D///8AAAAA/QAAAIYAAACG/QAAop8EAPv////7/////////8D///8AAAAA/QAAAIcAAACH/QAArJ8EAPv////7/////////8D///8AAAAA/QAAAIgAAACI/QAAuJ8EAPv////7/////////8D///8AAAAA/QAAAIkAAACJ/QAAxJ8EAPv////7////+////8D///8AAAAA/QAAAIoAAACK/QAAzp8EAPv////7////+////8D///8AAAAA/QAAAI0AAACN/QAA2J8EAPv////7////wP///8D///8AAAAA/QAAAJUAAACV/QAA4p8EAPv////7////wP///8D///8AAAAA/QAAAJYAAACW/QAA7J8EAPv////7////wP///8D///8AAAAA/QAAAJcAAACX/QAA958EAPv////7////+////8D///8AAAAA/QAAAJoAAACa/QAAAaAEAPv////7////+////8D///8AAAAA/QAAAJsAAACb/QAAC6AEAPv////7////+////8D///8AAAAA/QAAAJwAAACc/QAAFaAEAPv////7////+////8D///8AAAAA/QAAAJ0AAACd/QAAH6AEAPv////7////+////8D///8AAAAA/QAAAJ4AAACe/QAAKaAEAPv////7////+////8D///8AAAAA/QAAAJ8AAACf/QAAM6AEAPv////7////wP///8D///8AAAAA/QAAAKAAAACg/QAAPaAEAPv////7////wP///8D///8AAAAA/QAAAKEAAACh/QAAR6AEAPv////7////wP///8D///8AAAAA/QAAAKIAAACi/QAAUqAEAPv////7////+////8D///8AAAAA/QAAAKUAAACl/QAAXKAEAPv////7////+////8D///8AAAAA/QAAAKYAAACm/QAAZqAEAPv////7////+////8D///8AAAAA/QAAAKcAAACn/QAAcKAEAPv////7////+////8D///8AAAAA/QAAAKgAAACo/QAAeqAEAPv////7////+////8D///8AAAAA/QAAAKkAAACp/QAAhKAEAPv////7////+////8D///8AAAAA/QAAAKoAAACq/QAAjqAEAPv////7////wP///8D///8AAAAA/QAAAKsAAACr/QAApqAEAPv////7////wP///8D///8AAAAA/QAAAKwAAACs/QAAvqAEAPv////7////wP///8D///8AAAAA/QAAAK0AAACt/QAA1qAEAPv////7////wP///8D///8AAAAA/QAAAK4AAACu/QAA7qAEAPv////7////wP///8D///8AAAAA/QAAAK8AAACv/QAABKEEAPv////7////wP///8D///8AAAAA/QAAALAAAACw/QAAGqEEAPv////7////wP///8D///8AAAAA/QAAALEAAACx/QAAMKEEAPv////7////wP///8D///8AAAAA/QAAALIAAACy/QAARqEEAP///////////////8D///8EAAAA/gAAAAAAAAAA/gAAVKEEAP////////////////7///8EAAAA/gAAAAEAAAAB/gAAZKEEAP///////////v////7///8IAAAA/gAAAAIAAAAC/gAAdKEEAP//////////wP///8D///8EAAAA/gAAABAAAAAQ/gAAhKEEAP7/////////wP///8D///8IAAAA/gAAABEAAAAR/gAAlKEEAP//////////wP///8D///8BAAAA/gAAABIAAAAS/gAAp6EEAP//////////wP///8D///8CAAAA/gAAABMAAAAT/gAAu6EEAP7/////////wP///8D///8BAAAA/gAAABQAAAAU/gAAzqEEAP7/////////wP///8D///8CAAAA/gAAABUAAAAV/gAA4qEEAP7/////////wP///8D///8EAAAA/gAAABYAAAAW/gAA9qEEAMD//////////////8D///8EAAAA/gAAABcAAAAX/gAAB6IEAMD//////////v///8D///8IAAAA/gAAABgAAAAY/gAAGKIEAMD//////////////8D///8BAAAA/gAAABkAAAAZ/gAAKqIEAMD//////////////8D///8CAAAA/gAAABoAAAAa/gAAPaIEAMD//////////v///8D///8BAAAA/gAAABsAAAAb/gAAT6IEAMD//////////v///8D///8CAAAA/gAAABwAAAAc/gAAYqIEAMD//////////v///8D///8EAAAA/gAAAB0AAAAd/gAAdaIEAP///////////////8D///8EAAAA/gAAAB4AAAAe/gAAiKIEAP7//////////v///8D///8IAAAA/gAAAB8AAAAf/gAAm6IEAP///////////////8D///8BAAAA/gAAACAAAAAg/gAAsaIEAP///////////////8D///8CAAAA/gAAACEAAAAh/gAAyKIEAP7//////////v///8D///8BAAAA/gAAACIAAAAi/gAA3qIEAP7//////////v///8D///8CAAAA/gAAACMAAAAj/gAA9aIEAP7//////////v///8D///8EAAAA/gAAACQAAAAk/gAADKMEAP///////////////8D///8EAAAA/gAAACUAAAAl/gAAH6MEAP7//////////v///8D///8IAAAA/gAAACYAAAAm/gAAMqMEAP///////////////8D///8BAAAA/gAAACcAAAAn/gAASKMEAP///////////////8D///8CAAAA/gAAACgAAAAo/gAAX6MEAP7//////////v///8D///8BAAAA/gAAACkAAAAp/gAAdaMEAP7//////////v///8D///8CAAAA/gAAACoAAAAq/gAAjKMEAP7//////////v///8D///8EAAAA/gAAACsAAAAr/gAAo6MEAP///////////////8D///8EAAAA/gAAACwAAAAs/gAAtqMEAP7//////////v///8D///8IAAAA/gAAAC0AAAAt/gAAyaMEAP///////////////8D///8BAAAA/gAAAC4AAAAu/gAA36MEAP///////////////8D///8CAAAA/gAAAC8AAAAv/gAA9qMEAP7//////////v///8D///8BAAAA/gAAADAAAAAw/gAADKQEAP7//////////v///8D///8CAAAA/gAAADEAAAAx/gAAI6QEAP7//////////v///8D///8EAAAA/gAAADIAAAAy/gAAOqQEAP///////////////8D///8EAAAA/gAAADMAAAAz/gAATKQEAP7//////////v///8D///8IAAAA/gAAADQAAAA0/gAAXqQEAP///////////////8D///8BAAAA/gAAADUAAAA1/gAAc6QEAP///////////////8D///8CAAAA/gAAADYAAAA2/gAAiaQEAP7//////////v///8D///8BAAAA/gAAADcAAAA3/gAAnqQEAP7//////////v///8D///8CAAAA/gAAADgAAAA4/gAAtKQEAP7//////////v///8D///8EAAAA/gAAADkAAAA5/gAAyqQEAP///////////////8D///8EAAAA/gAAADoAAAA6/gAA3aQEAP7//////////v///8D///8IAAAA/gAAADsAAAA7/gAA8KQEAP///////////////8D///8BAAAA/gAAADwAAAA8/gAABqUEAP///////////////8D///8CAAAA/gAAAD0AAAA9/gAAHaUEAP7//////////v///8D///8BAAAA/gAAAD4AAAA+/gAAM6UEAP7//////////v///8D///8CAAAA/gAAAD8AAAA//gAASqUEAP7//////////v///8D///8EAAAA/gAAAEAAAABA/gAAYaUEAP///////////////8D///8EAAAA/gAAAEEAAABB/gAAdaUEAP7//////////v///8D///8IAAAA/gAAAEIAAABC/gAAiaUEAP///////////////8D///8BAAAA/gAAAEMAAABD/gAAoKUEAP///////////////8D///8CAAAA/gAAAEQAAABE/gAAuKUEAP7//////////v///8D///8BAAAA/gAAAEUAAABF/gAAz6UEAP7//////////v///8D///8CAAAA/gAAAEYAAABG/gAA56UEAP7//////////v///8D///8EAAAA/gAAAEcAAABH/gAA/6UEAP////////////////////8EAAAA/gAAAEgAAABI/gAAFqYEAP7//////////v////7///8IAAAA/gAAAEkAAABJ/gAALaYEAP////////////////////8BAAAA/gAAAEoAAABK/gAAR6YEAP////////////////////8CAAAA/gAAAEsAAABL/gAAYqYEAP7//////////v////7///8BAAAA/gAAAEwAAABM/gAAfKYEAP7//////////v////7///8CAAAA/gAAAE0AAABN/gAAl6YEAP7//////////v////7///8EAAAA/gAAAE4AAABO/gAAsqYEAMD////A////wP///8D///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQEBAQEAAAEBAAEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAACAgICAgICAgICAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAkaABoaGhoaCAgaGgoaGho+Pj4+Pj4+Pj4+GggaGhoaGjo6Ojo6OhoaGhoaGhoaGhoaGhoaGhoaGhoaChIKGhoaOjo6Ojo6GhoaGhoaGhoaGhoaGhoaGhoaGhoKGgoaCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAADAxMjM0NTY3ODlhYmNkZWYAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAFwAAABgAAAAZAAAAGgAAAMwAAADNAAAAAAAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAgAAAAIEAAACCAAAAgwAAAIQAAACFAAAAhgAAAIcAAACIAAAAiQAAAIoAAACLAAAAjAAAAI0AAACOAAAAjwAAAJAAAACRAAAAkgAAAJMAAACUAAAAlQAAAJYAAACXAAAAmAAAAJkAAACaAAAAmwAAAJwAAACdAAAAngAAAJ8AAACgAAAAoQAAAKIAAACjAAAApAAAAKUAAACmAAAApwAAAKgAAACpAAAAqgAAAKsAAACsAAAArQAAAK4AAACvAAAAsAAAALEAAACyAAAAswAAALQAAAC1AAAAtgAAALcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAADRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAuQAAALoAAAC7AAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAAMcAAADIAAAAyQAAAMoAAADLAAAAzgAAAM8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAANsAAADcAAAA3QAAAN4AAADfAAAA4AAAAOEAAADiAAAA4wAAAOQAAADlAAAA5gAAAOcAAADoAAAA6QAAAOoAAADrAAAA7AAAAO0AAADuAAAA7wAAAPAAAADxAAAA8gAAAPMAAAD0AAAA9QAAAPYAAAD3AAAA+AAAAPkAAAD6AAAA+wAAAPwAAAD9AAAA/gAAAP8AAAAAAQAAAQEAAAIBAAADAQAABAEAAAUBAAAGAQAABwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAQAACQEAAAoBAAALAQAADAEAAA0BAAAOAQAADwEAABABAAARAQAAEgEAABMBAAAUAQAAFQEAABYBAAAXAQAAGAEAABkBAAAaAQAAGwEAABwBAAAdAQAAHgEAAB8BAAAgAQAAIQEAACIBAAAjAQAAJAEAACUBAAAAAAAAAAAAAAAAAAAAAAAAJgEAACcBAAAoAQAAKQEAACoBAAArAQAALAEAAC0BAAAuAQAALwEAADABAAAxAQAAMgEAAAAAAAAAAAAAAAAAAAAAAAAzAQAANAEAADUBAAA2AQAANwEAADgBAAA5AQAAAAAAAAAAAAA6AQAAAAAAAAAAAAA7AQAAAAAAAAAAAAAAAAAAAAAAADwBAAA9AQAAPgEAAD8BAABAAQAAQQEAAEIBAAAAAAAAAAAAAEMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAEAAEUBAABGAQAAAAAAAAAAAABHAQAASAEAAEkBAABKAQAASwEAAEwBAABNAQAATgEAAE8BAAAAAAAAAAAAAFABAABRAQAAUgEAAFMBAABUAQAAVQEAAFYBAABXAQAAWAEAAFkBAABaAQAAWwEAAFwBAABdAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABeAQAAXwEAAGABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYQEAAGIBAABjAQAAZAEAAGUBAABmAQAAZwEAAGgBAABpAQAAagEAAGsBAABsAQAAbQEAAG4BAABvAQAAcAEAAHEBAAByAQAAcwEAAHQBAAB1AQAAdgEAAHcBAAB4AQAAeQEAAHoBAAB7AQAAfAEAAH0BAAB+AQAAfwEAAIABAACBAQAAggEAAIMBAACEAQAAhQEAAIYBAACHAQAAiAEAAIkBAACKAQAAiwEAAIwBAACNAQAAjgEAAI8BAACQAQAAkQEAAJIBAACTAQAAlAEAAJUBAACWAQAAlwEAAJgBAACZAQAAmgEAAJsBAACcAQAAnQEAAJ4BAACfAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFsABQCkAwUAhAMFAGMABQB1AAUAhAAFAJUABQCjAAUAwAAFANwABQDoAAUA+gAFAP4ABQADAQUACAEFAAwBBQASAQUAnwMFABkBBQAhAQUAJQEFACwBBQAzAQUAOgEFAEABBQBCAQUASQEFAFABBQBUAQUAWwEFAGEBBQBpAQUAbwEFAHgBBQB/AQUAgQEFAIgBBQCOAQUAlAEFAJkBBQCeAQUApAEFAKgBBQCsAQUAuAEFAMMBBQDWAQUA4wEFAO8BBQD9AQUAAwQFAAkEBQAMBAUAEgQFAFIEBQCYBAUAnQQFAAQCBQAKAgUAEgIFABgCBQDWBAUAIAIFACUCBQApAgUANAIFAPgEBQA+AgUA8wQFAEMCBQBPAgUAWQIFAGUCBQBxAgUAfQIFAIkCBQCUAgUAngIFADgFBQBCBQUATAUFAKkCBQC0AgUAVwUFAL0CBQBjBQUAcQUFAKsEBQC3BAUAeAUFABkFBQAkBQUAwQIFAMwCBQDaAgUALgUFAOACBQBrBQUACwUFAOgCBQDuAgUA+gIFAAEDBQAJAwUAEgMFABcDBQAbAwUAAAAAAOoEBQADBAUA8wQFAPgEBQD7BAUACwUFAA8FBQAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRlQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fAAAAAAAAAAAAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAB8cgQAzXIEADBSBAAAAAAAfHIEAPByBABAUgQAAAAAAFRyBAAScwQAfHIEAOeGBACwWgQAAAAAAHxyBAAwcwQAaFIEAAAAAAB8cgQAQnMEAHhSBAAAAAAApHIEAGdzBAAAAAAAAQAAAJBSBAACBAAAVHIEAHRzBAB8cgQAnHMEAKhSBAAAAAAAfHIEAL9zBAB4UgQAAAAAAHxyBADkcwQAyFIEAAAAAAB8cgQA/nMEANhSBAAAAAAApHIEADN0BAAAAAAAAQAAAPBSBAACBAAAVHIEAEh0BAB8cgQA5XQEAAhTBAAAAAAAfHIEAAV1BADYUgQAAAAAAHxyBAA5dQQAKFMEAAAAAAB8cgQAWXUEANhSBAAAAAAAfHIEALN1BABIUwQAAAAAAHxyBADOdQQAeFIEAAAAAAB8cgQA83UEAGhTBAAAAAAAfHIEAAt2BAB4UgQAAAAAAHxyBABKdgQAeFIEAAAAAAB8cgQAb3YEAJhTBAAAAAAAfHIEAJZ2BAB4UgQAAAAAAHxyBAC7dgQAuFMEAAAAAAB8cgQA4nYEAHhSBAAAAAAAfHIEAAd3BADYUwQAAAAAAHxyBAAXdwQAeFIEAAAAAAB8cgQAPHcEAPhTBAAAAAAAfHIEAF93BAB4UgQAAAAAAHxyBACEdwQAGFQEAAAAAAB8cgQArncEAHhSBAAAAAAAfHIEANN3BAB4UgQAAAAAAHxyBAD4dwQASFQEAAAAAAB8cgQAGHgEAHhSBAAAAAAAfHIEAD14BABoVAQAAAAAAHxyBABgeAQAeFIEAAAAAAB8cgQAhXgEAHhSBAAAAAAAfHIEAKp4BAB4UgQAAAAAAHxyBADPeAQAeFIEAAAAAAB8cgQA9HgEAHhSBAAAAAAAfHIEABl5BAB4UgQAAAAAAHxyBAA+eQQA2FQEAAAAAAB8cgQAYXkEAHhSBAAAAAAAfHIEAIZ5BAD4VAQAAAAAAHxyBACpeQQAeFIEAAAAAAB8cgQAznkEABhVBAAAAAAAfHIEAPF5BAB4UgQAAAAAAHxyBAAWegQAOFUEAAAAAAB8cgQAOXoEAHhSBAAAAAAAfHIEAF56BABYVQQAAAAAAHxyBACBegQAeFIEAAAAAAB8cgQApnoEAHhVBAAAAAAAfHIEAMl6BAB4UgQAAAAAAHxyBADuegQAeFIEAAAAAAB8cgQAE3sEAHhSBAAAAAAAfHIEADh7BAC4VQQAAAAAAHxyBABbewQAeFIEAAAAAAB8cgQAgHsEAHhSBAAAAAAAfHIEAKV7BAB4UgQAAAAAAHxyBADKewQA+FUEAAAAAAB8cgQA7XsEAHhSBAAAAAAAfHIEABJ8BAB4UgQAAAAAAHxyBAA3fAQAKFYEAAAAAAB8cgQAYXwEAHhSBAAAAAAAfHIEAIZ8BABIVgQAAAAAAHxyBACpfAQAeFIEAAAAAAB8cgQAznwEAGhWBAAAAAAAfHIEAPF8BAB4UgQAAAAAAHxyBAAWfQQAiFYEAAAAAAB8cgQAOX0EAHhSBAAAAAAAfHIEAF59BACoVgQAAAAAAHxyBACIfQQAeFIEAAAAAAB8cgQArX0EAMhWBAAAAAAAfHIEALx9BAB4UgQAAAAAAHxyBADhfQQA6FYEAAAAAAB8cgQABH4EAHhSBAAAAAAAfHIEAE1+BAB4UgQAAAAAAHxyBAByfgQAGFcEAAAAAAB8cgQAmX4EAHhSBAAAAAAAfHIEAL5+BAA4VwQAAAAAAHxyBADlfgQAeFIEAAAAAAB8cgQAMH8EAFhXBAAAAAAAfHIEAEp/BAB4UgQAAAAAAHxyBABvfwQAeFcEAAAAAAB8cgQAkn8EAHhSBAAAAAAAfHIEALd/BACYVwQAAAAAAHxyBADMfwQAeFIEAAAAAAB8cgQA8X8EALhXBAAAAAAAfHIEAAaABAB4UgQAAAAAAHxyBAArgAQA2FcEAAAAAAB8cgQATYAEAHhSBAAAAAAAfHIEAHGABAD4VwQAAAAAAHxyBACTgAQAeFIEAAAAAAB8cgQAt4AEABhYBAAAAAAAfHIEAOCABAB4UgQAAAAAAHxyBAAEgQQAOFgEAAAAAAB8cgQAKoEEAHhSBAAAAAAAfHIEAE6BBABYWAQAAAAAAHxyBAB3gQQAeFIEAAAAAAB8cgQAm4EEAHhYBAAAAAAAfHIEAMSBBAB4UgQAAAAAAHxyBADogQQAmFgEAAAAAAB8cgQAEYIEAHhSBAAAAAAAfHIEADWCBAC4WAQAAAAAAHxyBABeggQAeFIEAAAAAAB8cgQAgoIEANhYBAAAAAAAfHIEAKuCBAB4UgQAAAAAAHxyBADPggQA+FgEAAAAAAB8cgQA+IIEAHhSBAAAAAAAfHIEAByDBAAYWQQAAAAAAHxyBAA2gwQA2FIEAAAAAAB8cgQAaoMEADhZBAAAAAAAfHIEAIWDBADYUgQAAAAAAHxyBAC5gwQAWFkEAAAAAAB8cgQA1IMEANhSBAAAAAAAfHIEAAiEBAB4WQQAAAAAAHxyBAAjhAQA2FIEAAAAAAB8cgQAV4QEAJhZBAAAAAAAfHIEAHGEBADYUgQAAAAAAHxyBAClhAQAuFkEAAAAAAB8cgQAvoQEANhSBAAAAAAAfHIEAPKEBADYWQQAAAAAAHxyBAANhQQA2FIEAAAAAAB8cgQAUIUEAABaBAAAAAAAVHIEAEGFBAB8cgQAZYUEAPhZBAAAAAAAfHIEAJGFBAAgWgQAAAAAAHxyBACnhQQA+FkEAAAAAAB8cgQA04UEAEBaBAAAAAAAfHIEAOmFBAD4WQQAAAAAAHxyBAAVhgQAYFoEAAAAAAB8cgQAKoYEAPhZBAAAAAAAfHIEAFaGBACAWgQAAAAAAHxyBABqhgQA+FkEAAAAAAB8cgQAloYEAKBaBAAAAAAAfHIEALOGBADYUgQAAAAAAHxyBAANhwQAwFoEAAAAAABUcgQAJocEAHxyBABsjgQA4FoEAAAAAABUcgQAuo0EAFRyBABNjwQAfHIEAPOQBAAwUgQAAAAAAHxyBAA3pwQAEFsEAAAAAABUcgQA16YEAFRyBAD4pwQAfHIEAMuoBAAQWwQAAAAAAFRyBABzqAQAfHIEAN6pBAAwUgQAAAAAAHxyBAACqgQAUFsEAAAAAABUcgQAGKoEAHxyBADHrgQAEFsEAAAAAABUcgQAWq4EAHxyBAD/sAQAiFsEAAAAAABUcgQAg7AEAFRyBACmsQQAfHIEAJmzBABAUgQAAAAAAHxyBABRtgQAMFIEAAAAAAB8cgQAN7cEAMBbBAAAAAAAfHIEAE63BADQWwQAAAAAAFRyBAB6twQAfHIEAIq3BADoWwQAAAAAAHxyBACktwQA+FsEAAAAAABUcgQA2rcEAHxyBADwtwQAEFwEAAAAAAB8cgQAJbgEAPhbBAAAAAAAfHIEAFu4BAAwXAQAAAAAAHxyBACQuAQA+FsEAAAAAAB8cgQA0LgEAFBcBAAAAAAAfHIEAOm4BADQWwQAAAAAAHxyBAAVuQQAcFwEAAAAAAB8cgQAJ7kEAIBcBAAAAAAAVHIEAFG5BAB8cgQAYLkEAJhcBAAAAAAAfHIEAHa5BACAXAQAAAAAAHxyBACguQQAuFwEAAAAAAB8cgQA0bkEANBbBAAAAAAAfHIEAP25BADYXAQAAAAAAHxyBAAwugQA0FsEAAAAAAB8cgQAXLoEAPhcBAAAAAAAfHIEAJK6BADQWwQAAAAAAHxyBAC/ugQAGF0EAAAAAAB8cgQA8roEANBbBAAAAAAAfHIEAB67BAA4XQQAAAAAAHxyBABPuwQA0FsEAAAAAAB8cgQAe7sEAFhdBAAAAAAAfHIEAKy7BADQWwQAAAAAAHxyBADYuwQAeF0EAAAAAAB8cgQA9bsEANBbBAAAAAAAfHIEACG8BACYXQQAAAAAAHxyBABUvAQA0FsEAAAAAAB8cgQAgLwEALhdBAAAAAAAfHIEALO8BADQWwQAAAAAAHxyBADfvAQA2F0EAAAAAAB8cgQAFb0EANBbBAAAAAAAfHIEANe9BABAUgQAAAAAAHxyBAALAAUAwFoEAAAAAABUcgQAKAAFAHxyBAA9AAUACF4EAAAAAAB8cgQAfwYFADBeBAAAAAAAfHIEACwGBQBAXgQAAAAAAFRyBABNBgUAfHIEAFoGBQAgXgQAAAAAAHxyBAChBgUAIF4EAAAAAAAAAAAAIFIEAAsAAAAMAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAAAAAABIUgQADQAAAA4AAABIAAAACwAAAEkAAAALAAAACwAAAAwAAAAMAAAASgAAAEsAAAALAAAADQAAAEwAAABNAAAACwAAAAwAAAALAAAADQAAAAwAAAAOAAAADgAAAE4AAABPAAAADQAAAA8AAABQAAAAUQAAAAwAAAAQAAAAUgAAAFMAAAAOAAAAEQAAAFQAAABVAAAADQAAAFYAAABXAAAAWAAAABIAAABZAAAAWgAAAAsAAAATAAAAWwAAAFwAAAAUAAAAXQAAAF4AAAAPAAAAXwAAAA4AAABgAAAAFQAAAGEAAABiAAAAEAAAABEAAAASAAAAYwAAABMAAABkAAAAZQAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAAGYAAABnAAAAaAAAAGkAAAAUAAAAFQAAAGoAAAAVAAAAFgAAAGsAAABsAAAAFwAAABgAAAAZAAAAGgAAAG0AAAAWAAAAbgAAAG8AAABwAAAAcQAAABcAAAByAAAAFgAAAHMAAAB0AAAAdQAAAHYAAAAbAAAAdwAAABwAAAAdAAAAeAAAAB4AAAAfAAAAeQAAAHoAAAB7AAAAfAAAAH0AAAB+AAAAIAAAACEAAAAiAAAAIwAAACQAAAB/AAAAGAAAACUAAAAXAAAAgAAAAIEAAACCAAAAgwAAACYAAACEAAAAJwAAABgAAAAZAAAAhQAAAIYAAAAZAAAAhwAAAIgAAAAaAAAAGwAAAIkAAAAoAAAAigAAAIsAAAAaAAAAjAAAAI0AAAAbAAAAjgAAACkAAACPAAAAkAAAACoAAACRAAAAHAAAAJIAAAAdAAAAkwAAABwAAAAeAAAAlAAAAB0AAAAfAAAAKwAAAJUAAAAeAAAADAAAACwAAACWAAAADQAAAJcAAACYAAAALQAAAJkAAACaAAAAIAAAAA0AAAAOAAAADwAAACEAAACbAAAAEAAAAJwAAAAfAAAALgAAAJ0AAACeAAAAIAAAAC8AAAAhAAAAIgAAACIAAAAjAAAAJAAAACMAAAAAAAAAWFIEAA8AAAAQAAAAAAAAAJhSBAARAAAAEgAAAAAAAAC4UgQAEwAAABQAAAAAAAAA+FIEABUAAAAWAAAAAAAAABhTBAAXAAAAGAAAAAAAAAA4UwQADwAAABkAAAAAAAAAWFMEAA8AAAAaAAAAAAAAAHhTBAAPAAAAGwAAAAAAAACIUwQADwAAABwAAAAAAAAAqFMEAA8AAAAdAAAAAAAAAMhTBAAeAAAAHwAAAAAAAADoUwQAIAAAACEAAAAAAAAACFQEAA8AAAAiAAAAAAAAAChUBAAPAAAAIwAAAAAAAAA4VAQAJAAAACUAAAAAAAAAWFQEACYAAAAnAAAAAAAAAHhUBAAPAAAAKAAAAAAAAACIVAQADwAAACkAAAAAAAAAmFQEAA8AAAAqAAAAAAAAAKhUBAAPAAAAKwAAAAAAAAC4VAQADwAAACwAAAAAAAAAyFQEAC0AAAAuAAAAAAAAAOhUBAAvAAAAMAAAAAAAAAAIVQQAMQAAADIAAAAAAAAAKFUEADMAAAA0AAAAAAAAAEhVBAA1AAAANgAAAAAAAABoVQQANwAAADgAAAAAAAAAiFUEAA8AAAA5AAAAAAAAAJhVBAAPAAAAOgAAAAAAAACoVQQAOwAAADwAAAAAAAAAyFUEAA8AAAA9AAAAAAAAANhVBAAPAAAAPgAAAAAAAADoVQQAPwAAAEAAAAAAAAAACFYEAA8AAABBAAAAAAAAABhWBABCAAAAQwAAAAAAAAA4VgQARAAAAEUAAAAAAAAAWFYEAEYAAABHAAAAAAAAAHhWBABIAAAASQAAAAAAAACYVgQADwAAAEoAAAAAAAAAuFYEAEsAAABMAAAAAAAAANhWBABNAAAATgAAAAAAAAD4VgQADwAAAE8AAAAAAAAACFcEAA8AAABQAAAAAAAAAChXBAAPAAAAUQAAAAAAAABIVwQAUgAAAFMAAAAAAAAAaFcEAFQAAABVAAAAAAAAAIhXBABWAAAAVwAAAAAAAACoVwQAWAAAAFkAAAAAAAAAyFcEAFoAAABbAAAAAAAAAOhXBABcAAAAXQAAAAAAAAAIWAQAXgAAAF8AAAAAAAAAKFgEAA8AAABgAAAAAAAAAEhYBAAPAAAAYQAAAAAAAABoWAQADwAAAGIAAAAAAAAAiFgEAA8AAABjAAAAAAAAAKhYBAAPAAAAZAAAAAAAAADIWAQADwAAAGUAAAAAAAAA6FgEAA8AAABmAAAAAAAAAAhZBABnAAAAaAAAAAAAAAAoWQQAaQAAAGoAAAAAAAAASFkEAGsAAABsAAAAAAAAAGhZBABtAAAAbgAAAAAAAACIWQQAbwAAAHAAAAAAAAAAqFkEAHEAAAByAAAAAAAAAOhZBABzAAAAdAAAAAAAAADIWQQAdQAAAHYAAAAAAAAA+FkEAHcAAAB4AAAAAAAAABBaBAB5AAAAegAAAAAAAAAwWgQAewAAAHwAAAAAAAAAUFoEAH0AAAB+AAAAAAAAAHBaBAB/AAAAgAAAAAAAAACQWgQAgQAAAIIAAAAAAAAAyFoEAIMAAACEAAAAMAAAAAwAAACFAAAAhgAAAJ8AAACgAAAAMQAAAAAAAADoWgQAhwAAAIgAAAALAAAAoQAAAKIAAACjAAAApAAAAKUAAACmAAAApwAAAKgAAAAUAAAAFQAAABYAAAAXAAAAqQAAAKoAAACrAAAAGwAAAKwAAAAdAAAArQAAAK4AAACvAAAAsAAAALEAAAAjAAAAsgAAACUAAAAmAAAAswAAACgAAAApAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAMAAAADEAAAAyAAAAMwAAALoAAAC7AAAANgAAADcAAAA4AAAAOQAAALwAAAA7AAAAvQAAAL4AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAAAAAAADBbBACJAAAAigAAAAsAAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAABQAAAAVAAAAFgAAABcAAADHAAAAyAAAAMkAAAAbAAAAygAAAB0AAADLAAAAzAAAAM0AAADOAAAAzwAAACMAAADQAAAAJQAAACYAAADRAAAAKAAAACkAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAAAwAAAAMQAAADIAAAAzAAAA2AAAANkAAAA2AAAANwAAADgAAAA5AAAA2gAAADsAAADbAAAA3AAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAAAAAAAAGFsEAIsAAACMAAAAMgAAAA0AAACNAAAAjgAAAAsAAADdAAAAMwAAAAAAAAD4WgQAiwAAAI8AAAA0AAAADgAAAJAAAACRAAAADAAAAN4AAAA1AAAAAAAAAEBbBACSAAAAkwAAACQAAAAlAAAAAAAAAJBbBACUAAAAlQAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAAEQEAABIBAAATAQAAFAEAABUBAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAAAAAAcFsEAJYAAACXAAAANgAAAA8AAACYAAAAmQAAABAAAAAcAQAANwAAAAAAAABYWwQAiwAAAJoAAAA4AAAAEQAAAJsAAACcAAAADQAAAB0BAAA5AAAAAAAAAKBbBACdAAAAngAAAAsAAAAeAQAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAHwEAABQAAAAVAAAAFgAAABcAAACpAAAAqgAAACABAAAbAAAArAAAAB0AAACtAAAArgAAAK8AAAAhAQAAsQAAACMAAACyAAAAJQAAACYAAACzAAAAKAAAACkAAAC0AAAAtQAAALYAAAC3AAAAuAAAALkAAAAwAAAAMQAAADIAAAAzAAAAugAAACIBAAA2AAAANwAAADgAAAA5AAAAIwEAADsAAAC9AAAAvgAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAAAAAAAAsFsEAJ8AAACgAAAAAAAAACBcBAChAAAAogAAADoAAAAAAAAAAFwEAKMAAACkAAAAOwAAAAAAAADYWwQApQAAAKYAAAA8AAAAAAAAAKhcBACnAAAAqAAAAAAAAABAXAQAqQAAAKoAAAAAAAAAgFwEAKsAAACsAAAAAAAAAIhcBACtAAAArgAAAAAAAABgXAQAqwAAAK8AAAAAAAAAyFwEALAAAACxAAAAAAAAAAhdBACyAAAAswAAAAAAAADoXAQAtAAAALUAAAAAAAAAKF0EALYAAAC3AAAAAAAAAEhdBAC4AAAAuQAAAAAAAABoXQQAugAAALsAAAAAAAAAiF0EALwAAAC9AAAAAAAAAKhdBAC+AAAAvwAAAAAAAADIXQQAwAAAAMEAAAAAAAAA6F0EAJ0AAADCAAAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAACsBAAAsAQAALQEAAC4BAAAvAQAAMAEAADEBAAAyAQAAMwEAADQBAAA1AQAANgEAADcBAAA4AQAAOQEAADoBAAA7AQAAPAEAAD0BAAA+AQAAPwEAAEABAABBAQAAQgEAAEMBAABEAQAARQEAAEYBAABHAQAASAEAAEkBAABKAQAASwEAAEwBAABNAQAATgEAAE8BAABQAQAAUQEAAFIBAABTAQAAVAEAAFUBAABWAQAAVwEAAFgBAABZAQAAWgEAAFsBAABcAQAAXQEAAF4BAABfAQAAYAEAAAAAAAD4XQQAwwAAAMQAAABhAQAAEgAAAGIBAAA9AAAAJQAAACYAAAA+AAAAYwEAAGQBAAAPAAAAPwAAAGUBAABmAQAAJgAAABAAAAAOAAAAEQAAAA8AAAASAAAAQAAAAGcBAABoAQAAJwAAAEEAAABpAQAAagEAACcAAABCAAAAawEAAGwBAAAoAAAAQwAAAG0BAABuAQAAKAAAAG8BAABwAQAAcQEAAEQAAAByAQAAcwEAABEAAABFAAAAdAEAAHUBAABGAAAAdgEAAHcBAAApAAAAeAEAACkAAAB5AQAARwAAAHoBAAB7AQAAKgAAACsAAAAsAAAAfAEAAC0AAAB9AQAAfgEAACoAAAArAAAALAAAAC0AAAAuAAAALwAAAH8BAACAAQAAgQEAAIIBAAAuAAAAMAAAAIMBAAAvAAAASAAAAIQBAACFAQAASQAAAEoAAABLAAAATAAAAIYBAAAwAAAAhwEAAIgBAACJAQAAigEAADEAAACLAQAAMQAAAIwBAACNAQAAjgEAAI8BAABNAAAAkAEAAE4AAABPAAAAkQEAAFAAAABRAAAAkgEAAJMBAACUAQAAlQEAAJYBAACXAQAAUgAAAFMAAABUAAAAVQAAAFYAAACYAQAAMgAAAFcAAAAyAAAAmQEAAJoBAACbAQAAnAEAAFgAAACdAQAAWQAAADMAAAAzAAAAngEAAJ8BAAA0AAAAoAEAAKEBAAA0AAAANQAAAKIBAABaAAAAowEAAKQBAAA1AAAApQEAAKYBAAA2AAAApwEAAFsAAACoAQAAqQEAAFwAAACqAQAANwAAAKsBAAA4AAAArAEAADYAAAA5AAAArQEAADcAAAA6AAAAXQAAAK4BAAA4AAAAEgAAAF4AAACvAQAAEwAAALABAACxAQAAXwAAALIBAACzAQAAOwAAABAAAAAUAAAAFQAAADwAAAC0AQAAFgAAALUBAAA5AAAAYAAAALYBAAC3AQAAOgAAAGEAAAA7AAAAPQAAADwAAAA9AAAAPgAAAD4AAAAAAAAAEF4EAMUAAADGAAAAEwAAALgBAAA/AAAAQAAAALkBAAAFAAAAAAAAAAAAAABiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAQgAAABUJBQAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9wiQD/CS8PAAAAACBeBADHAAAAyAAAAMkAAADKAAAARAAAAAsAAAALAAAACwAAAAAAAABIXgQAxwAAAMsAAADJAAAAygAAAEQAAAAMAAAADAAAAAwAAAAAAAAAWF4EAMcAAADMAAAAyQAAAMoAAABEAAAADQAAAA0AAAANAAAAPGJpbmFyeT4ATjR3YWJ0MTJfR0xPQkFMX19OXzExMU5hbWVBcHBsaWVyRQBONHdhYnQxMUV4cHJWaXNpdG9yMTFEZWxlZ2F0ZU5vcEUATjR3YWJ0MTFFeHByVmlzaXRvcjhEZWxlZ2F0ZUUATjR3YWJ0OUNvbnN0RXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTE1RUVFAE40d2FidDRFeHByRQBONHdhYnQxOWludHJ1c2l2ZV9saXN0X2Jhc2VJTlNfNEV4cHJFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUxOEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMThFRUUATjR3YWJ0MTZFdmVudE1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTEwRUVFAE40d2FidDExTW9kdWxlRmllbGRFAE40d2FidDE5aW50cnVzaXZlX2xpc3RfYmFzZUlOU18xMU1vZHVsZUZpZWxkRUVFAGV4cGVjdGVkIGxvY2FsIG5hbWUgY291bnQgKCV1KSA8PSBsb2NhbCBjb3VudCAoJXUpAGV4cGVjdGVkIGZ1bmN0aW9uIG5hbWUgY291bnQgKCV1KSA8PSBmdW5jdGlvbiBjb3VudCAoJXpkKQBONHdhYnQyMkRhdGFTZWdtZW50TW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFOEVFRQBONHdhYnQyMkVsZW1TZWdtZW50TW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFNkVFRQBhY2Nlc3Npbmcgc3RhY2sgZGVwdGg6ICV1ID49IG1heDogJXpkAE40d2FidDE3U2ltZFNodWZmbGVPcEV4cHJFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0MUVFRQBONHdhYnQxNFNpbWRMYW5lT3BFeHByRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDBFRUUAcG9wcGluZyBlbXB0eSBsYWJlbCBzdGFjawBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNTRFRUUATjR3YWJ0MTBPcGNvZGVFeHBySUxOU184RXhwclR5cGVFNTBFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTUwRUVFAE40d2FidDEwT3Bjb2RlRXhwcklMTlNfOEV4cHJUeXBlRTUzRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU1M0VFRQBONHdhYnQ3VHJ5RXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTUyRUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFNTFFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTUxRUVFAE40d2FidDEzTG9hZFN0b3JlRXhwcklMTlNfOEV4cHJUeXBlRTQyRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0MkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMzlFRUUATjR3YWJ0MjJSZXR1cm5DYWxsSW5kaXJlY3RFeHByRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMzhFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUzN0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMzdFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTM2RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzNUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMzJFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTMzRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzNEVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTQ4RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0OEVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTQ3RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0N0VFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTQ5RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0OUVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTQ2RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0NkVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTQ1RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0NUVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTQ0RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0NEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDNFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTMxRUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFMzBFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTMwRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUyOUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjhFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUyN0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjdFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTI2RUVFAE40d2FidDEzQmxvY2tFeHByQmFzZUlMTlNfOEV4cHJUeXBlRTI1RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUyNUVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTI0RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUyNEVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTIzRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUyM0VFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTIyRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUyMkVFRQBONHdhYnQxM0xvYWRTdG9yZUV4cHJJTE5TXzhFeHByVHlwZUUyMUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjFFRUUATjR3YWJ0NklmRXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTIwRUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFMTlFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTE5RUVFAGVsc2UgZXhwcmVzc2lvbiB3aXRob3V0IG1hdGNoaW5nIGlmAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxN0VFRQBONHdhYnQxME9wY29kZUV4cHJJTE5TXzhFeHByVHlwZUUxNkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMTZFRUUATjR3YWJ0MTBPcGNvZGVFeHBySUxOU184RXhwclR5cGVFMTRFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTE0RUVFAGNhdGNoIGV4cHJlc3Npb24gd2l0aG91dCBtYXRjaGluZyB0cnkATjR3YWJ0MTZDYWxsSW5kaXJlY3RFeHByRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMTNFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUxMkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMTJFRUUATjR3YWJ0MTFCclRhYmxlRXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTExRUVFAE40d2FidDExQnJPbkV4bkV4cHJFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxMEVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTlFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTlFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU4RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU4RUVFAE40d2FidDEzQmxvY2tFeHByQmFzZUlMTlNfOEV4cHJUeXBlRTdFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTdFRUUATjR3YWJ0MTBPcGNvZGVFeHBySUxOU184RXhwclR5cGVFNkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNkVFRQBONHdhYnQxM0xvYWRTdG9yZUV4cHJJTE5TXzhFeHByVHlwZUU0RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0RUVFAE40d2FidDEzTG9hZFN0b3JlRXhwcklMTlNfOEV4cHJUeXBlRTVFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTVFRUUATjR3YWJ0MTNMb2FkU3RvcmVFeHBySUxOU184RXhwclR5cGVFMkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMkVFRQBONHdhYnQxM0xvYWRTdG9yZUV4cHJJTE5TXzhFeHByVHlwZUUxRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxRUVFAE40d2FidDEzTG9hZFN0b3JlRXhwcklMTlNfOEV4cHJUeXBlRTNFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTNFRUUATjR3YWJ0MTNMb2FkU3RvcmVFeHBySUxOU184RXhwclR5cGVFMEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMEVFRQBONHdhYnQxNlN0YXJ0TW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFOUVFRQBONHdhYnQxN0V4cG9ydE1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTNFRUUATjR3YWJ0MTdHbG9iYWxNb2R1bGVGaWVsZEUATjR3YWJ0MTZNb2R1bGVGaWVsZE1peGluSUxOU18xNU1vZHVsZUZpZWxkVHlwZUUxRUVFAE40d2FidDE3TWVtb3J5TW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFN0VFRQBONHdhYnQxNlRhYmxlTW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFNUVFRQBONHdhYnQxNUZ1bmNNb2R1bGVGaWVsZEUATjR3YWJ0MTZNb2R1bGVGaWVsZE1peGluSUxOU18xNU1vZHVsZUZpZWxkVHlwZUUwRUVFAE40d2FidDE3SW1wb3J0TW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFMkVFRQBONHdhYnQ2SW1wb3J0RQBONHdhYnQxMUV2ZW50SW1wb3J0RQBONHdhYnQxMUltcG9ydE1peGluSUxOU18xMkV4dGVybmFsS2luZEU0RUVFAE40d2FidDEyR2xvYmFsSW1wb3J0RQBONHdhYnQxMUltcG9ydE1peGluSUxOU18xMkV4dGVybmFsS2luZEUzRUVFAE40d2FidDEyTWVtb3J5SW1wb3J0RQBONHdhYnQxMUltcG9ydE1peGluSUxOU18xMkV4dGVybmFsS2luZEUyRUVFAE40d2FidDExVGFibGVJbXBvcnRFAE40d2FidDExSW1wb3J0TWl4aW5JTE5TXzEyRXh0ZXJuYWxLaW5kRTFFRUUATjR3YWJ0MTBGdW5jSW1wb3J0RQBONHdhYnQxMUltcG9ydE1peGluSUxOU18xMkV4dGVybmFsS2luZEUwRUVFAE40d2FidDE5RnVuY1R5cGVNb2R1bGVGaWVsZEUATjR3YWJ0MTZNb2R1bGVGaWVsZE1peGluSUxOU18xNU1vZHVsZUZpZWxkVHlwZUU0RUVFAE40d2FidDEyX0dMT0JBTF9fTl8xMTRCaW5hcnlSZWFkZXJJUkUATjR3YWJ0MTVCaW5hcnlSZWFkZXJOb3BFAE40d2FidDIwQmluYXJ5UmVhZGVyRGVsZWdhdGVFAHByZWZpeABsaW1pdHM6IGZsYWdzAGxpbWl0czogaW5pdGlhbABsaW1pdHM6IG1heABXQVNNX0JJTkFSWV9NQUdJQwBXQVNNX0JJTkFSWV9WRVJTSU9OAG51bSB0eXBlcwBGSVhVUCBzZWN0aW9uIHNpemUAOyAlcyAlZAoAbnVtIHBhcmFtcwBudW0gcmVzdWx0cwBudW0gaW1wb3J0cwBpbXBvcnQgaGVhZGVyAG51bSBmdW5jdGlvbnMAZnVuY3Rpb24gJXpkIHNpZ25hdHVyZSBpbmRleABudW0gdGFibGVzAG51bSBtZW1vcmllcwBudW0gZ2xvYmFscwBudW0gZXhwb3J0cwBleHBvcnQgbmFtZQBleHBvcnQgZnVuYyBpbmRleABleHBvcnQgdGFibGUgaW5kZXgAZXhwb3J0IG1lbW9yeSBpbmRleABleHBvcnQgZ2xvYmFsIGluZGV4AGV4cG9ydCBldmVudCBpbmRleABzdGFydCBmdW5jIGluZGV4AG51bSBlbGVtIHNlZ21lbnRzAGVsZW0gc2VnbWVudCBoZWFkZXIAbnVtIGZ1bmN0aW9uIGluZGljZXMAZnVuY3Rpb24gYm9keQBmdW5jIGJvZHkgc2l6ZSAoZ3Vlc3MpAGxvY2FsIGRlY2wgY291bnQARklYVVAgZnVuYyBib2R5IHNpemUAbnVtIGRhdGEgc2VnbWVudHMAZGF0YSBzZWdtZW50IGhlYWRlcgBkYXRhIHNlZ21lbnQgc2l6ZQBtb2R1bGUgbmFtZSB0eXBlAHN1YnNlY3Rpb24gc2l6ZSAoZ3Vlc3MpAEZJWFVQIHN1YnNlY3Rpb24gc2l6ZQBmdW5jdGlvbiBuYW1lIHR5cGUAZnVuYyBuYW1lICV6ZABsb2NhbCBuYW1lIHR5cGUAbnVtIGxvY2FscwBsb2NhbCBuYW1lICV6ZABsb2NhbCBpbmRleABtZXRhZGF0YSB2ZXJzaW9uAHN5bWJvbCB0YWJsZQBudW0gc3ltYm9scwBzeW1ib2wgdHlwZQBzeW1ib2wgZmxhZ3MAZWxlbWVudCBpbmRleABnbG9iYWwgbmFtZQAlcy4lcwByZWxvYyBzZWN0aW9uIGluZGV4AG51bSByZWxvY3MAcmVsb2MgdHlwZQByZWxvYyBvZmZzZXQAcmVsb2MgaW5kZXgAcmVsb2MgYWRkZW5kAHNlY3Rpb24gIiVzIgA7ICVzCgBzZWN0aW9uIHNpemUgKGd1ZXNzKQBjdXN0b20gc2VjdGlvbiBuYW1lAGFsaWdubWVudABicmVhayBkZXB0aABudW0gdGFyZ2V0cwBicmVhayBkZXB0aCBmb3IgZGVmYXVsdABzaWduYXR1cmUgaW5kZXgAaTMyIGxpdGVyYWwAaTY0IGxpdGVyYWwAZjMyIGxpdGVyYWwAZjY0IGxpdGVyYWwAdjEyOCBsaXRlcmFsAGdsb2JhbCBpbmRleABtZW1vcnkuY29weSByZXNlcnZlZABkYXRhLmRyb3Agc2VnbWVudABtZW1vcnkuZmlsbCByZXNlcnZlZABtZW1vcnkuaW5pdCBzZWdtZW50AG1lbW9yeS5pbml0IHJlc2VydmVkAHRhYmxlLmNvcHkgcmVzZXJ2ZWQAZWxlbS5kcm9wIHNlZ21lbnQAdGFibGUuaW5pdCBzZWdtZW50AHRhYmxlLmluaXQgcmVzZXJ2ZWQAdGFibGUuZ2V0IHRhYmxlIGluZGV4AHRhYmxlLnNldCB0YWJsZSBpbmRleAB0YWJsZS5ncm93IHRhYmxlIGluZGV4AHRhYmxlLnNpemUgdGFibGUgaW5kZXgAdGhyb3cgZXZlbnQAU2ltZCBMYW5lIGxpdGVyYWwAU2ltZCBMYW5lWzE2XSBsaXRlcmFsAGJsb2NrIHR5cGUgZnVuY3Rpb24gaW5kZXgAc2VjdGlvbiAiJXMiICgldSkAeyJzb3VyY2VfZmlsZW5hbWUiOiAALAogImNvbW1hbmRzIjogWwoACgAgIHsAIiVzIjogACIlcyIAbGluZQBmaWxlbmFtZQBleHBlY3RlZAAiJXUiAGFzAHRleHQAfQBdfQoAewB2YWx1ZQAiJWxsdSIAYmluYXJ5AG1vZHVsZV90eXBlAGZpZWxkAGFyZ3MAYXNzZXJ0X3VuaW5zdGFudGlhYmxlAFx1JTA0eABaTjR3YWJ0MjFXcml0ZUJpbmFyeVNwZWNTY3JpcHRFUE5TXzZTdHJlYW1FUE5TXzZTY3JpcHRFTlNfMTFzdHJpbmdfdmlld0VTNF9SS05TXzE4V3JpdGVCaW5hcnlPcHRpb25zRVBOU3QzX18yNnZlY3RvcklOU18yNEZpbGVuYW1lTWVtb3J5U3RyZWFtUGFpckVOUzhfOWFsbG9jYXRvcklTQV9FRUVFUzFfRTMkXzAATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk40d2FidDIxV3JpdGVCaW5hcnlTcGVjU2NyaXB0RVBOUzJfNlN0cmVhbUVQTlMyXzZTY3JpcHRFTlMyXzExc3RyaW5nX3ZpZXdFUzdfUktOUzJfMThXcml0ZUJpbmFyeU9wdGlvbnNFUE5TXzZ2ZWN0b3JJTlMyXzI0RmlsZW5hbWVNZW1vcnlTdHJlYW1QYWlyRU5TXzlhbGxvY2F0b3JJU0NfRUVFRVM0X0UzJF8wTlNEX0lTSF9FRUZTNF9TN19FRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRlBONHdhYnQ2U3RyZWFtRU5TMl8xMXN0cmluZ192aWV3RUVFRQBGT1JDRV9DT0xPUgBSX1dBU01fRlVOQ1RJT05fSU5ERVhfTEVCAFJfV0FTTV9UQUJMRV9JTkRFWF9TTEVCAFJfV0FTTV9UQUJMRV9JTkRFWF9JMzIAUl9XQVNNX01FTU9SWV9BRERSX0xFQgBSX1dBU01fTUVNT1JZX0FERFJfU0xFQgBSX1dBU01fTUVNT1JZX0FERFJfSTMyAFJfV0FTTV9UWVBFX0lOREVYX0xFQgBSX1dBU01fR0xPQkFMX0lOREVYX0xFQgBSX1dBU01fRlVOQ1RJT05fT0ZGU0VUX0kzMgBSX1dBU01fU0VDVElPTl9PRkZTRVRfSTMyAFJfV0FTTV9FVkVOVF9JTkRFWF9MRUIAG1sxbQAlZDolZDogABtbMzFtADogABtbMG0AG1szMm0ALndhc20ALndhdAAkZwAkdAAkZgAkVAAkTQAkZQAkZAAkcAAkbAAkTAAkSQAkQgBONHdhYnQxMl9HTE9CQUxfX05fMTEzTmFtZUdlbmVyYXRvckUAQXRvbWljTG9hZABBdG9taWNSbXcAQXRvbWljUm13Q21weGNoZwBBdG9taWNTdG9yZQBBdG9taWNOb3RpZnkAQXRvbWljV2FpdABCaW5hcnkAQmxvY2sAQnIAQnJJZgBCck9uRXhuAEJyVGFibGUAQ2FsbABDYWxsSW5kaXJlY3QAQ29tcGFyZQBDb25zdABDb252ZXJ0AERyb3AAR2xvYmFsR2V0AEdsb2JhbFNldABJZgBMb2FkAExvY2FsR2V0AExvY2FsU2V0AExvY2FsVGVlAExvb3AATWVtb3J5Q29weQBEYXRhRHJvcABNZW1vcnlGaWxsAE1lbW9yeUdyb3cATWVtb3J5SW5pdABNZW1vcnlTaXplAE5vcABSZWZJc051bGwAUmVmTnVsbABSZXRocm93AFJldHVybgBSZXR1cm5DYWxsAFJldHVybkNhbGxJbmRpcmVjdABTZWxlY3QAU2ltZExhbmVPcABTaW1kU2h1ZmZsZU9wAFN0b3JlAFRhYmxlQ29weQBFbGVtRHJvcABUYWJsZUluaXQAVGFibGVHZXQAVGFibGVHcm93AFRhYmxlU2l6ZQBUYWJsZVNldABUZXJuYXJ5AFRocm93AFRyeQBVbmFyeQBVbnJlYWNoYWJsZQBpMzIubG9hZABpNjQubG9hZABmMzIubG9hZABmNjQubG9hZABpMzIubG9hZDhfcwBpMzIubG9hZDhfdQBpMzIubG9hZDE2X3MAaTMyLmxvYWQxNl91AGk2NC5sb2FkOF9zAGk2NC5sb2FkOF91AGk2NC5sb2FkMTZfcwBpNjQubG9hZDE2X3UAaTY0LmxvYWQzMl9zAGk2NC5sb2FkMzJfdQBpMzIuc3RvcmUAaTY0LnN0b3JlAGYzMi5zdG9yZQBmNjQuc3RvcmUAaTMyLnN0b3JlOABpMzIuc3RvcmUxNgBpNjQuc3RvcmU4AGk2NC5zdG9yZTE2AGk2NC5zdG9yZTMyAGkzMi5jb25zdABpNjQuY29uc3QAZjMyLmNvbnN0AGY2NC5jb25zdABpMzIuZXF6AGkzMi5lcQBpMzIubmUAaTMyLmx0X3MAaTMyLmx0X3UAaTMyLmd0X3MAaTMyLmd0X3UAaTMyLmxlX3MAaTMyLmxlX3UAaTMyLmdlX3MAaTMyLmdlX3UAaTY0LmVxegBpNjQuZXEAaTY0Lm5lAGk2NC5sdF9zAGk2NC5sdF91AGk2NC5ndF9zAGk2NC5ndF91AGk2NC5sZV9zAGk2NC5sZV91AGk2NC5nZV9zAGk2NC5nZV91AGYzMi5lcQBmMzIubmUAZjMyLmx0AGYzMi5ndABmMzIubGUAZjMyLmdlAGY2NC5lcQBmNjQubmUAZjY0Lmx0AGY2NC5ndABmNjQubGUAZjY0LmdlAGkzMi5jbHoAaTMyLmN0egBpMzIucG9wY250AGkzMi5hZGQAaTMyLnN1YgBpMzIubXVsAGkzMi5kaXZfcwBpMzIuZGl2X3UAaTMyLnJlbV9zAGkzMi5yZW1fdQBpMzIuYW5kAGkzMi5vcgBpMzIueG9yAGkzMi5zaGwAaTMyLnNocl9zAGkzMi5zaHJfdQBpMzIucm90bABpMzIucm90cgBpNjQuY2x6AGk2NC5jdHoAaTY0LnBvcGNudABpNjQuYWRkAGk2NC5zdWIAaTY0Lm11bABpNjQuZGl2X3MAaTY0LmRpdl91AGk2NC5yZW1fcwBpNjQucmVtX3UAaTY0LmFuZABpNjQub3IAaTY0LnhvcgBpNjQuc2hsAGk2NC5zaHJfcwBpNjQuc2hyX3UAaTY0LnJvdGwAaTY0LnJvdHIAZjMyLmFicwBmMzIubmVnAGYzMi5jZWlsAGYzMi5mbG9vcgBmMzIudHJ1bmMAZjMyLm5lYXJlc3QAZjMyLnNxcnQAZjMyLmFkZABmMzIuc3ViAGYzMi5tdWwAZjMyLmRpdgBmMzIubWluAGYzMi5tYXgAZjMyLmNvcHlzaWduAGY2NC5hYnMAZjY0Lm5lZwBmNjQuY2VpbABmNjQuZmxvb3IAZjY0LnRydW5jAGY2NC5uZWFyZXN0AGY2NC5zcXJ0AGY2NC5hZGQAZjY0LnN1YgBmNjQubXVsAGY2NC5kaXYAZjY0Lm1pbgBmNjQubWF4AGY2NC5jb3B5c2lnbgBpMzIud3JhcF9pNjQAaTMyLnRydW5jX2YzMl9zAGkzMi50cnVuY19mMzJfdQBpMzIudHJ1bmNfZjY0X3MAaTMyLnRydW5jX2Y2NF91AGk2NC5leHRlbmRfaTMyX3MAaTY0LmV4dGVuZF9pMzJfdQBpNjQudHJ1bmNfZjMyX3MAaTY0LnRydW5jX2YzMl91AGk2NC50cnVuY19mNjRfcwBpNjQudHJ1bmNfZjY0X3UAZjMyLmNvbnZlcnRfaTMyX3MAZjMyLmNvbnZlcnRfaTMyX3UAZjMyLmNvbnZlcnRfaTY0X3MAZjMyLmNvbnZlcnRfaTY0X3UAZjMyLmRlbW90ZV9mNjQAZjY0LmNvbnZlcnRfaTMyX3MAZjY0LmNvbnZlcnRfaTMyX3UAZjY0LmNvbnZlcnRfaTY0X3MAZjY0LmNvbnZlcnRfaTY0X3UAZjY0LnByb21vdGVfZjMyAGkzMi5yZWludGVycHJldF9mMzIAaTY0LnJlaW50ZXJwcmV0X2Y2NABmMzIucmVpbnRlcnByZXRfaTMyAGY2NC5yZWludGVycHJldF9pNjQAaTMyLmV4dGVuZDhfcwBpMzIuZXh0ZW5kMTZfcwBpNjQuZXh0ZW5kOF9zAGk2NC5leHRlbmQxNl9zAGk2NC5leHRlbmQzMl9zAGFsbG9jYQBicl91bmxlc3MAY2FsbF9ob3N0AGRyb3Bfa2VlcABpMzIudHJ1bmNfc2F0X2YzMl9zAGkzMi50cnVuY19zYXRfZjMyX3UAaTMyLnRydW5jX3NhdF9mNjRfcwBpMzIudHJ1bmNfc2F0X2Y2NF91AGk2NC50cnVuY19zYXRfZjMyX3MAaTY0LnRydW5jX3NhdF9mMzJfdQBpNjQudHJ1bmNfc2F0X2Y2NF9zAGk2NC50cnVuY19zYXRfZjY0X3UAdjEyOC5sb2FkAHYxMjguc3RvcmUAdjEyOC5jb25zdAB2OHgxNi5zaHVmZmxlAGk4eDE2LnNwbGF0AGk4eDE2LmV4dHJhY3RfbGFuZV9zAGk4eDE2LmV4dHJhY3RfbGFuZV91AGk4eDE2LnJlcGxhY2VfbGFuZQBpMTZ4OC5zcGxhdABpMTZ4OC5leHRyYWN0X2xhbmVfcwBpMTZ4OC5leHRyYWN0X2xhbmVfdQBpMTZ4OC5yZXBsYWNlX2xhbmUAaTMyeDQuc3BsYXQAaTMyeDQuZXh0cmFjdF9sYW5lAGkzMng0LnJlcGxhY2VfbGFuZQBpNjR4Mi5zcGxhdABpNjR4Mi5leHRyYWN0X2xhbmUAaTY0eDIucmVwbGFjZV9sYW5lAGYzMng0LnNwbGF0AGYzMng0LmV4dHJhY3RfbGFuZQBmMzJ4NC5yZXBsYWNlX2xhbmUAZjY0eDIuc3BsYXQAZjY0eDIuZXh0cmFjdF9sYW5lAGY2NHgyLnJlcGxhY2VfbGFuZQBpOHgxNi5lcQBpOHgxNi5uZQBpOHgxNi5sdF9zAGk4eDE2Lmx0X3UAaTh4MTYuZ3RfcwBpOHgxNi5ndF91AGk4eDE2LmxlX3MAaTh4MTYubGVfdQBpOHgxNi5nZV9zAGk4eDE2LmdlX3UAaTE2eDguZXEAaTE2eDgubmUAaTE2eDgubHRfcwBpMTZ4OC5sdF91AGkxNng4Lmd0X3MAaTE2eDguZ3RfdQBpMTZ4OC5sZV9zAGkxNng4LmxlX3UAaTE2eDguZ2VfcwBpMTZ4OC5nZV91AGkzMng0LmVxAGkzMng0Lm5lAGkzMng0Lmx0X3MAaTMyeDQubHRfdQBpMzJ4NC5ndF9zAGkzMng0Lmd0X3UAaTMyeDQubGVfcwBpMzJ4NC5sZV91AGkzMng0LmdlX3MAaTMyeDQuZ2VfdQBmMzJ4NC5lcQBmMzJ4NC5uZQBmMzJ4NC5sdABmMzJ4NC5ndABmMzJ4NC5sZQBmMzJ4NC5nZQBmNjR4Mi5lcQBmNjR4Mi5uZQBmNjR4Mi5sdABmNjR4Mi5ndABmNjR4Mi5sZQBmNjR4Mi5nZQB2MTI4Lm5vdAB2MTI4LmFuZAB2MTI4Lm9yAHYxMjgueG9yAHYxMjguYml0c2VsZWN0AGk4eDE2Lm5lZwBpOHgxNi5hbnlfdHJ1ZQBpOHgxNi5hbGxfdHJ1ZQBpOHgxNi5zaGwAaTh4MTYuc2hyX3MAaTh4MTYuc2hyX3UAaTh4MTYuYWRkAGk4eDE2LmFkZF9zYXR1cmF0ZV9zAGk4eDE2LmFkZF9zYXR1cmF0ZV91AGk4eDE2LnN1YgBpOHgxNi5zdWJfc2F0dXJhdGVfcwBpOHgxNi5zdWJfc2F0dXJhdGVfdQBpOHgxNi5tdWwAaTE2eDgubmVnAGkxNng4LmFueV90cnVlAGkxNng4LmFsbF90cnVlAGkxNng4LnNobABpMTZ4OC5zaHJfcwBpMTZ4OC5zaHJfdQBpMTZ4OC5hZGQAaTE2eDguYWRkX3NhdHVyYXRlX3MAaTE2eDguYWRkX3NhdHVyYXRlX3UAaTE2eDguc3ViAGkxNng4LnN1Yl9zYXR1cmF0ZV9zAGkxNng4LnN1Yl9zYXR1cmF0ZV91AGkxNng4Lm11bABpMzJ4NC5uZWcAaTMyeDQuYW55X3RydWUAaTMyeDQuYWxsX3RydWUAaTMyeDQuc2hsAGkzMng0LnNocl9zAGkzMng0LnNocl91AGkzMng0LmFkZABpMzJ4NC5zdWIAaTMyeDQubXVsAGk2NHgyLm5lZwBpNjR4Mi5hbnlfdHJ1ZQBpNjR4Mi5hbGxfdHJ1ZQBpNjR4Mi5zaGwAaTY0eDIuc2hyX3MAaTY0eDIuc2hyX3UAaTY0eDIuYWRkAGk2NHgyLnN1YgBmMzJ4NC5hYnMAZjMyeDQubmVnAGYzMng0LnNxcnQAZjMyeDQuYWRkAGYzMng0LnN1YgBmMzJ4NC5tdWwAZjMyeDQuZGl2AGYzMng0Lm1pbgBmMzJ4NC5tYXgAZjY0eDIuYWJzAGY2NHgyLm5lZwBmNjR4Mi5zcXJ0AGY2NHgyLmFkZABmNjR4Mi5zdWIAZjY0eDIubXVsAGY2NHgyLmRpdgBmNjR4Mi5taW4AZjY0eDIubWF4AGkzMng0LnRydW5jX3NhdF9mMzJ4NF9zAGkzMng0LnRydW5jX3NhdF9mMzJ4NF91AGk2NHgyLnRydW5jX3NhdF9mNjR4Ml9zAGk2NHgyLnRydW5jX3NhdF9mNjR4Ml91AGYzMng0LmNvbnZlcnRfaTMyeDRfcwBmMzJ4NC5jb252ZXJ0X2kzMng0X3UAZjY0eDIuY29udmVydF9pNjR4Ml9zAGY2NHgyLmNvbnZlcnRfaTY0eDJfdQBhdG9taWMubm90aWZ5AGkzMi5hdG9taWMud2FpdABpNjQuYXRvbWljLndhaXQAaTMyLmF0b21pYy5sb2FkAGk2NC5hdG9taWMubG9hZABpMzIuYXRvbWljLmxvYWQ4X3UAaTMyLmF0b21pYy5sb2FkMTZfdQBpNjQuYXRvbWljLmxvYWQ4X3UAaTY0LmF0b21pYy5sb2FkMTZfdQBpNjQuYXRvbWljLmxvYWQzMl91AGkzMi5hdG9taWMuc3RvcmUAaTY0LmF0b21pYy5zdG9yZQBpMzIuYXRvbWljLnN0b3JlOABpMzIuYXRvbWljLnN0b3JlMTYAaTY0LmF0b21pYy5zdG9yZTgAaTY0LmF0b21pYy5zdG9yZTE2AGk2NC5hdG9taWMuc3RvcmUzMgBpMzIuYXRvbWljLnJtdy5hZGQAaTY0LmF0b21pYy5ybXcuYWRkAGkzMi5hdG9taWMucm13OC5hZGRfdQBpMzIuYXRvbWljLnJtdzE2LmFkZF91AGk2NC5hdG9taWMucm13OC5hZGRfdQBpNjQuYXRvbWljLnJtdzE2LmFkZF91AGk2NC5hdG9taWMucm13MzIuYWRkX3UAaTMyLmF0b21pYy5ybXcuc3ViAGk2NC5hdG9taWMucm13LnN1YgBpMzIuYXRvbWljLnJtdzguc3ViX3UAaTMyLmF0b21pYy5ybXcxNi5zdWJfdQBpNjQuYXRvbWljLnJtdzguc3ViX3UAaTY0LmF0b21pYy5ybXcxNi5zdWJfdQBpNjQuYXRvbWljLnJtdzMyLnN1Yl91AGkzMi5hdG9taWMucm13LmFuZABpNjQuYXRvbWljLnJtdy5hbmQAaTMyLmF0b21pYy5ybXc4LmFuZF91AGkzMi5hdG9taWMucm13MTYuYW5kX3UAaTY0LmF0b21pYy5ybXc4LmFuZF91AGk2NC5hdG9taWMucm13MTYuYW5kX3UAaTY0LmF0b21pYy5ybXczMi5hbmRfdQBpMzIuYXRvbWljLnJtdy5vcgBpNjQuYXRvbWljLnJtdy5vcgBpMzIuYXRvbWljLnJtdzgub3JfdQBpMzIuYXRvbWljLnJtdzE2Lm9yX3UAaTY0LmF0b21pYy5ybXc4Lm9yX3UAaTY0LmF0b21pYy5ybXcxNi5vcl91AGk2NC5hdG9taWMucm13MzIub3JfdQBpMzIuYXRvbWljLnJtdy54b3IAaTY0LmF0b21pYy5ybXcueG9yAGkzMi5hdG9taWMucm13OC54b3JfdQBpMzIuYXRvbWljLnJtdzE2Lnhvcl91AGk2NC5hdG9taWMucm13OC54b3JfdQBpNjQuYXRvbWljLnJtdzE2Lnhvcl91AGk2NC5hdG9taWMucm13MzIueG9yX3UAaTMyLmF0b21pYy5ybXcueGNoZwBpNjQuYXRvbWljLnJtdy54Y2hnAGkzMi5hdG9taWMucm13OC54Y2hnX3UAaTMyLmF0b21pYy5ybXcxNi54Y2hnX3UAaTY0LmF0b21pYy5ybXc4LnhjaGdfdQBpNjQuYXRvbWljLnJtdzE2LnhjaGdfdQBpNjQuYXRvbWljLnJtdzMyLnhjaGdfdQBpMzIuYXRvbWljLnJtdy5jbXB4Y2hnAGk2NC5hdG9taWMucm13LmNtcHhjaGcAaTMyLmF0b21pYy5ybXc4LmNtcHhjaGdfdQBpMzIuYXRvbWljLnJtdzE2LmNtcHhjaGdfdQBpNjQuYXRvbWljLnJtdzguY21weGNoZ191AGk2NC5hdG9taWMucm13MTYuY21weGNoZ191AGk2NC5hdG9taWMucm13MzIuY21weGNoZ191ADxpbnZhbGlkPgB1bmRlZmluZWQgJXMgdmFyaWFibGUgIiVzIgBaTjR3YWJ0MTJfR0xPQkFMX19OXzExMk5hbWVSZXNvbHZlcjlWaXNpdEZ1bmNFUE5TXzRGdW5jRUUzJF8xAHBhcmFtZXRlcgByZWRlZmluaXRpb24gb2YgJXMgIiVzIgBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjR3YWJ0MTJfR0xPQkFMX19OXzExMk5hbWVSZXNvbHZlcjlWaXNpdEZ1bmNFUE5TMl80RnVuY0VFMyRfMU5TXzlhbGxvY2F0b3JJUzdfRUVGdlJLTlNfNHBhaXJJS05TXzEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TOF9JY0VFRUVOUzJfN0JpbmRpbmdFRUVTS19FRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZSS05TXzRwYWlySUtOU18xMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFTjR3YWJ0N0JpbmRpbmdFRUVTRV9FRUUAWk40d2FidDEyX0dMT0JBTF9fTl8xMTJOYW1lUmVzb2x2ZXIyMkNoZWNrRHVwbGljYXRlQmluZGluZ3NFUEtOU18xMUJpbmRpbmdIYXNoRVBLY0UzJF8wAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpONHdhYnQxMl9HTE9CQUxfX05fMTEyTmFtZVJlc29sdmVyMjJDaGVja0R1cGxpY2F0ZUJpbmRpbmdzRVBLTlMyXzExQmluZGluZ0hhc2hFUEtjRTMkXzBOU185YWxsb2NhdG9ySVNBX0VFRnZSS05TXzRwYWlySUtOU18xMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU0JfSWNFRUVFTlMyXzdCaW5kaW5nRUVFU05fRUVFAGVsZW0gc2VnbWVudABkYXRhIHNlZ21lbnQAdW5kZWZpbmVkIGxhYmVsIHZhcmlhYmxlICIlcyIATjR3YWJ0MTJfR0xPQkFMX19OXzExMk5hbWVSZXNvbHZlckUATjR3YWJ0MTJNZW1vcnlTdHJlYW1FAE40d2FidDZTdHJlYW1FACUwN3p4OiAAJTAyeAAgIDsgJXMAOyBtb3ZlIGRhdGE6IFslengsICV6eCkgLT4gWyV6eCwgJXp4KQoAYWN0aW9uAGV4cGVjdGVkIDEgcmVzdWx0LCBnb3QgJXpkAHR5cGUgbWlzbWF0Y2ggYXQgJXMuIGdvdCAlcywgZXhwZWN0ZWQgZjMyIG9yIGY2NAB0eXBlIG1pc21hdGNoIGZvciAlcyAldSBvZiAlcy4gZ290ICVzLCBleHBlY3RlZCAlcwBleHBlY3RlZCAlemQgcmVzdWx0cywgZ290ICV6ZAB1bmtub3duIG1vZHVsZQB1bmtub3duIGZ1bmN0aW9uIGV4cG9ydCAiJXMiAG1hbnkAZmV3AHRvbyAlcyBwYXJhbWV0ZXJzIHRvIGZ1bmN0aW9uLiBnb3QgJXpkLCBleHBlY3RlZCAlemQAYXJndW1lbnQAdW5rbm93biBnbG9iYWwgZXhwb3J0ICIlcyIAJXMgdmFyaWFibGUgb3V0IG9mIHJhbmdlIChtYXggJXUpAGVsZW0gc2VnbWVudCBvZmZzZXQAZGF0YSBzZWdtZW50IG9mZnNldABmdW5jdGlvbiB0eXBlAEV2ZW50IHNpZ25hdHVyZSBtdXN0IGhhdmUgMCByZXN1bHRzLgBtdWx0aXBsZSByZXN1bHQgdmFsdWVzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLgBnbG9iYWwgaW5pdGlhbGl6ZXIgZXhwcmVzc2lvbgBtdXRhYmxlIGdsb2JhbHMgY2Fubm90IGJlIGltcG9ydGVkAG11dGFibGUgZ2xvYmFscyBjYW5ub3QgYmUgZXhwb3J0ZWQAb25seSBvbmUgc3RhcnQgZnVuY3Rpb24gYWxsb3dlZABzdGFydCBmdW5jdGlvbiBtdXN0IGJlIG51bGxhcnkAc3RhcnQgZnVuY3Rpb24gbXVzdCBub3QgcmV0dXJuIGFueXRoaW5nAG9ubHkgb25lIG1lbW9yeSBibG9jayBhbGxvd2VkAHBhZ2VzAGluaXRpYWwgJXMgKCVsbHUpIG11c3QgYmUgPD0gKCVsbHUpAG1heCAlcyAoJWxsdSkgbXVzdCBiZSA8PSAoJWxsdSkAbWF4ICVzICglbGx1KSBtdXN0IGJlID49IGluaXRpYWwgJXMgKCVsbHUpAG1lbW9yaWVzIG1heSBub3QgYmUgc2hhcmVkAHNoYXJlZCBtZW1vcmllcyBtdXN0IGhhdmUgbWF4IHNpemVzAG9ubHkgb25lIHRhYmxlIGFsbG93ZWQAZWxlbXMAdGFibGVzIG11c3QgaGF2ZSBhbnlyZWYgdHlwZQB0YWJsZXMgbXVzdCBoYXZlIGFueXJlZiBvciBhbnlmdW5jIHR5cGUAZXhwZWN0ZWQgJXpkICVzcywgZ290ICV6ZABaTjR3YWJ0MTJfR0xPQkFMX19OXzE5VmFsaWRhdG9yMjhDaGVja0R1cGxpY2F0ZUV4cG9ydEJpbmRpbmdzRVBLTlNfNk1vZHVsZUVFMyRfMQByZWRlZmluaXRpb24gb2YgZXhwb3J0ICIlcyIATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk40d2FidDEyX0dMT0JBTF9fTl8xOVZhbGlkYXRvcjI4Q2hlY2tEdXBsaWNhdGVFeHBvcnRCaW5kaW5nc0VQS05TMl82TW9kdWxlRUUzJF8xTlNfOWFsbG9jYXRvcklTOF9FRUZ2UktOU180cGFpcklLTlNfMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlM5X0ljRUVFRU5TMl83QmluZGluZ0VFRVNMX0VFRQBpbnZhbGlkICVzLCBtdXN0IGJlIGEgY29uc3RhbnQgZXhwcmVzc2lvbjsgZWl0aGVyICouY29uc3Qgb3IgZ2xvYmFsLmdldC4AaW5pdGlhbGl6ZXIgZXhwcmVzc2lvbiBjYW4gb25seSByZWZlcmVuY2UgYW4gaW1wb3J0ZWQgZ2xvYmFsAGluaXRpYWxpemVyIGV4cHJlc3Npb24gY2Fubm90IHJlZmVyZW5jZSBhIG11dGFibGUgZ2xvYmFsAHR5cGUgbWlzbWF0Y2ggYXQgJXMuIGdvdCAlcywgZXhwZWN0ZWQgJXMAWk40d2FidDEyX0dMT0JBTF9fTl8xOVZhbGlkYXRvckMxRVBOU3QzX18yNnZlY3RvcklOU181RXJyb3JFTlMyXzlhbGxvY2F0b3JJUzRfRUVFRVBLTlNfNlNjcmlwdEVSS05TXzE1VmFsaWRhdGVPcHRpb25zRUUzJF8wAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpONHdhYnQxMl9HTE9CQUxfX05fMTlWYWxpZGF0b3JDMUVQTlNfNnZlY3RvcklOUzJfNUVycm9yRU5TXzlhbGxvY2F0b3JJUzZfRUVFRVBLTlMyXzZTY3JpcHRFUktOUzJfMTVWYWxpZGF0ZU9wdGlvbnNFRTMkXzBOUzdfSVNIX0VFRnZQS2NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZQS2NFRUUAJXMgcmVxdWlyZXMgYW4gaW1wb3J0ZWQgb3IgZGVmaW5lZCBtZW1vcnkuACVzIHJlcXVpcmVzIG1lbW9yeSB0byBiZSBzaGFyZWQuAGFsaWdubWVudCBtdXN0IGJlIGVxdWFsIHRvIG5hdHVyYWwgYWxpZ25tZW50ICgldSkAJXMgcGFyYW1zIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLgBtdWx0aXBsZSAlcyByZXN1bHRzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLgBhbGlnbm1lbnQgbXVzdCBub3QgYmUgbGFyZ2VyIHRoYW4gbmF0dXJhbCBhbGlnbm1lbnQgKCV1KQAlcyByZXF1aXJlcyB0YWJsZSAlZCB0byBiZSBhbiBpbXBvcnRlZCBvciBkZWZpbmVkIHRhYmxlLgBlbGVtX3NlZ21lbnQAZGF0YV9zZWdtZW50AHVuZGVmaW5lZCBsb2NhbCB2YXJpYWJsZSAiJXMiAGxvY2FsIHZhcmlhYmxlIG91dCBvZiByYW5nZSAobWF4ICV1KQBjYW4ndCBnbG9iYWwuc2V0IG9uIGltbXV0YWJsZSBnbG9iYWwgYXQgaW5kZXggJXUuAE40d2FidDEyX0dMT0JBTF9fTl8xOVZhbGlkYXRvckUAdW5leHBlY3RlZCB0b2tlbiAlcywgZXhwZWN0ZWQgJXMuAHVuZXhwZWN0ZWQgdG9rZW4gJXMuAG9wY29kZSBub3QgYWxsb3dlZDogJXMAIG9yIAAgKGUuZy4gAHVuZXhwZWN0ZWQgdG9rZW4gIiVzIiVzLgBpbnZhbGlkIGludCAiJS4qcyIAYSBudW1lcmljIGluZGV4AGEgbmFtZQAxMiBvciAkZm9vAGFuIG9mZnNldCBleHByAChpMzIuY29uc3QgMTIzKQBhbiBleHByAHRoZW4gYmxvY2sAKHRoZW4gLi4uKQB1bmV4cGVjdGVkIGxhYmVsICIlcyIAbWlzbWF0Y2hpbmcgbGFiZWwgIiVzIiAhPSAiJXMiAGFuIE5hdCBsaXRlcmFsADEyMwBpbnZhbGlkIGxpdGVyYWwgIiVzIgBFeHBlY3RlZCBpMzIgYXQgc3RhcnQgb2Ygc2ltZCBjb25zdGFudABhIG5hdHVyYWwgbnVtYmVyAGEgbnVtZXJpYyBsaXRlcmFsIGZvciBub24tc2ltZCBjb25zdCBvcGNvZGUAMTIzLCAtNDUsIDYuN2U4AGEgbnVtZXJpYyBsaXRlcmFsAGludmFsaWQgYWxpZ25tZW50ICIlLipzIgBhbGlnbm1lbnQgbXVzdCBiZSBwb3dlci1vZi10d28AaW52YWxpZCBvZmZzZXQgIiUuKnMiAG9mZnNldCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAweGZmZmZmZmZmAGEgcXVvdGVkIHN0cmluZwAiZm9vIgBxdW90ZWQgc3RyaW5nIGhhcyBhbiBpbnZhbGlkIHV0Zi04IGVuY29kaW5nAGEgbW9kdWxlIGZpZWxkAE40d2FidDEyX0dMT0JBTF9fTl8xMzVSZXNvbHZlRnVuY1R5cGVzRXhwclZpc2l0b3JEZWxlZ2F0ZUUAaW1wb3J0cyBtdXN0IG9jY3VyIGJlZm9yZSBhbGwgbm9uLWltcG9ydCBkZWZpbml0aW9ucwBhbiBleHRlcm5hbCBraW5kADx0ZXh0PgBlcnJvciBpbiBiaW5hcnkgbW9kdWxlOiAlcwBlcnJvciBpbiBiaW5hcnkgbW9kdWxlOiBAMHglMDh6eDogJXMAYSBiaW5hcnkgbW9kdWxlAGEgdGV4dCBtb2R1bGUATjR3YWJ0MTNNb2R1bGVDb21tYW5kRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUUwRUVFAE40d2FidDdDb21tYW5kRQBONHdhYnQxNlRleHRTY3JpcHRNb2R1bGVFAE40d2FidDE3U2NyaXB0TW9kdWxlTWl4aW5JTE5TXzE2U2NyaXB0TW9kdWxlVHlwZUUwRUVFAE40d2FidDEyU2NyaXB0TW9kdWxlRQBONHdhYnQxNkRhdGFTY3JpcHRNb2R1bGVJTE5TXzE2U2NyaXB0TW9kdWxlVHlwZUUyRUVFAE40d2FidDE3U2NyaXB0TW9kdWxlTWl4aW5JTE5TXzE2U2NyaXB0TW9kdWxlVHlwZUUyRUVFAE40d2FidDE2RGF0YVNjcmlwdE1vZHVsZUlMTlNfMTZTY3JpcHRNb2R1bGVUeXBlRTFFRUUATjR3YWJ0MTdTY3JpcHRNb2R1bGVNaXhpbklMTlNfMTZTY3JpcHRNb2R1bGVUeXBlRTFFRUUAYSBjb21tYW5kAE40d2FidDE1UmVnaXN0ZXJDb21tYW5kRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUUyRUVFAE40d2FidDlHZXRBY3Rpb25FAE40d2FidDExQWN0aW9uTWl4aW5JTE5TXzEwQWN0aW9uVHlwZUUxRUVFAE40d2FidDZBY3Rpb25FAE40d2FidDEySW52b2tlQWN0aW9uRQBONHdhYnQxMUFjdGlvbk1peGluSUxOU18xMEFjdGlvblR5cGVFMEVFRQBONHdhYnQxN0FjdGlvbkNvbW1hbmRCYXNlSUxOU18xMUNvbW1hbmRUeXBlRTFFRUUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFMUVFRQBONHdhYnQxOUFzc2VydE1vZHVsZUNvbW1hbmRJTE5TXzExQ29tbWFuZFR5cGVFNUVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUU1RUVFAE40d2FidDIxQXNzZXJ0VHJhcENvbW1hbmRCYXNlSUxOU18xMUNvbW1hbmRUeXBlRTEwRUVFAE40d2FidDEyQ29tbWFuZE1peGluSUxOU18xMUNvbW1hbmRUeXBlRTEwRUVFAE40d2FidDE5QXNzZXJ0TW9kdWxlQ29tbWFuZElMTlNfMTFDb21tYW5kVHlwZUU2RUVFAE40d2FidDEyQ29tbWFuZE1peGluSUxOU18xMUNvbW1hbmRUeXBlRTZFRUUATjR3YWJ0MTdBY3Rpb25Db21tYW5kQmFzZUlMTlNfMTFDb21tYW5kVHlwZUU4RUVFAE40d2FidDEyQ29tbWFuZE1peGluSUxOU18xMUNvbW1hbmRUeXBlRThFRUUATjR3YWJ0MTdBY3Rpb25Db21tYW5kQmFzZUlMTlNfMTFDb21tYW5kVHlwZUU5RUVFAE40d2FidDEyQ29tbWFuZE1peGluSUxOU18xMUNvbW1hbmRUeXBlRTlFRUUATjR3YWJ0MTlBc3NlcnRSZXR1cm5Db21tYW5kRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUU3RUVFAE40d2FidDE5QXNzZXJ0TW9kdWxlQ29tbWFuZElMTlNfMTFDb21tYW5kVHlwZUUzRUVFAE40d2FidDEyQ29tbWFuZE1peGluSUxOU18xMUNvbW1hbmRUeXBlRTNFRUUATjR3YWJ0MTlBc3NlcnRNb2R1bGVDb21tYW5kSUxOU18xMUNvbW1hbmRUeXBlRTRFRUUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFNEVFRQBONHdhYnQyMUFzc2VydFRyYXBDb21tYW5kQmFzZUlMTlNfMTFDb21tYW5kVHlwZUUxMUVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUUxMUVFRQAoOyV1OykAJWxsdQAgMHglMDh4IDB4JTA4eCAweCUwOHggMHglMDh4AG9mZnNldD0ldQBhbGlnbj0ldQAgOzsgbGFiZWwgPSBAJXUAJWxsZAAoOz0lZzspAGkzMiAweCUwOHggMHglMDh4IDB4JTA4eCAweCUwOHgAJXUgKDtAJXU7KQAldSAoOyBJTlZBTElEIDspAE40d2FidDEyX0dMT0JBTF9fTl8xOVdhdFdyaXRlcjE5RXhwclZpc2l0b3JEZWxlZ2F0ZUUASW52YWxpZCBPcGNvZGUgZm9yIGV4cHIgdHlwZTogJXMKAGJhZCBleHByIHR5cGU6ICVzCgBpbGxlZ2FsIGNoYXJhY3RlciBpbiBzdHJpbmcAbmV3bGluZSBpbiBzdHJpbmcAbWFsZm9ybWVkIHV0Zi04JXMAIGluIHN0cmluZwBiYWQgZXNjYXBlICIlLipzIgAgaW4gYmxvY2sgY29tbWVudAB1bmV4cGVjdGVkIGNoYXIARGF0YQBDb2RlAERhdGFDb3VudABFbGVtAFN0YXJ0AEV4cG9ydABFdmVudABHbG9iYWwATWVtb3J5AFRhYmxlAEZ1bmN0aW9uAEltcG9ydABUeXBlAEN1c3RvbQBtYWdpYwB1aW50MzJfdAB1bmFibGUgdG8gcmVhZCAlczogJXMAYmFkIG1hZ2ljIHZhbHVlAHZlcnNpb24AYmFkIHdhc20gZmlsZSB2ZXJzaW9uOiAlI3ggKGV4cGVjdGVkICUjeCkAQmVnaW5Nb2R1bGUgY2FsbGJhY2sgZmFpbGVkAGZ1bmN0aW9uIHNpZ25hdHVyZSBjb3VudCAhPSBmdW5jdGlvbiBib2R5IGNvdW50AEVuZE1vZHVsZSBjYWxsYmFjayBmYWlsZWQAc2VjdGlvbiBjb2RlAHVuYWJsZSB0byByZWFkIHUzMiBsZWIxMjg6ICVzAHNlY3Rpb24gc2l6ZQBpbnZhbGlkIHNlY3Rpb24gY29kZTogJXUAaW52YWxpZCBzZWN0aW9uIHNpemU6IGV4dGVuZHMgcGFzdCBlbmQAc2VjdGlvbiAlcyBvdXQgb2Ygb3JkZXIAJXMgc2VjdGlvbiBjYW4gbm90IG9jY3VyIGFmdGVyIE5hbWUgc2VjdGlvbgBCZWdpblNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAHNlY3Rpb24gbmFtZQBCZWdpbkN1c3RvbVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAG5hbWUAQmVnaW5OYW1lc1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAG5hbWUgdHlwZQBkdXBsaWNhdGUgc3ViLXNlY3Rpb24Ab3V0LW9mLW9yZGVyIHN1Yi1zZWN0aW9uAHN1YnNlY3Rpb24gc2l6ZQBpbnZhbGlkIHN1Yi1zZWN0aW9uIHNpemU6IGV4dGVuZHMgcGFzdCBlbmQAT25Nb2R1bGVOYW1lU3Vic2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAbW9kdWxlIG5hbWUAT25Nb2R1bGVOYW1lIGNhbGxiYWNrIGZhaWxlZABPbkZ1bmN0aW9uTmFtZVN1YnNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAG5hbWUgY291bnQAaW52YWxpZCAlcyAldSwgb25seSAlemQgYnl0ZXMgbGVmdCBpbiBzZWN0aW9uAE9uRnVuY3Rpb25OYW1lc0NvdW50IGNhbGxiYWNrIGZhaWxlZABmdW5jdGlvbiBpbmRleABkdXBsaWNhdGUgZnVuY3Rpb24gbmFtZTogJXUAZnVuY3Rpb24gaW5kZXggb3V0IG9mIG9yZGVyOiAldQBpbnZhbGlkIGZ1bmN0aW9uIGluZGV4OiAldQBmdW5jdGlvbiBuYW1lAE9uRnVuY3Rpb25OYW1lIGNhbGxiYWNrIGZhaWxlZABPbkxvY2FsTmFtZVN1YnNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGZ1bmN0aW9uIGNvdW50AE9uTG9jYWxOYW1lRnVuY3Rpb25Db3VudCBjYWxsYmFjayBmYWlsZWQAbG9jYWxzIGZ1bmN0aW9uIGluZGV4IG91dCBvZiBvcmRlcjogJXUAbG9jYWwgY291bnQAT25Mb2NhbE5hbWVMb2NhbENvdW50IGNhbGxiYWNrIGZhaWxlZABuYW1lZCBpbmRleABkdXBsaWNhdGUgbG9jYWwgaW5kZXg6ICV1AGxvY2FsIGluZGV4IG91dCBvZiBvcmRlcjogJXUAT25Mb2NhbE5hbWUgY2FsbGJhY2sgZmFpbGVkAHVuZmluaXNoZWQgc3ViLXNlY3Rpb24gKGV4cGVjdGVkIGVuZDogMHglengpAEVuZE5hbWVzU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZHlsaW5rAEJlZ2luRHlsaW5rU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAbWVtX3NpemUAbWVtX2FsaWduAHRhYmxlX3NpemUAdGFibGVfYWxpZ24AT25EeWxpbmtJbmZvIGNhbGxiYWNrIGZhaWxlZABuZWVkZWRfZHlubGlicwBPbkR5bGlua05lZWRlZENvdW50IGNhbGxiYWNrIGZhaWxlZABkeWxpYiBzb19uYW1lAE9uRHlsaW5rTmVlZGVkIGNhbGxiYWNrIGZhaWxlZABFbmREeWxpbmtTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZAByZWxvYwBCZWdpblJlbG9jU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAc2VjdGlvbiBpbmRleAByZWxvY2F0aW9uIGNvdW50AE9uUmVsb2NDb3VudCBjYWxsYmFjayBmYWlsZWQAcmVsb2NhdGlvbiB0eXBlAGluZGV4AGFkZGVuZAB1bmFibGUgdG8gcmVhZCBpMzIgbGViMTI4OiAlcwBPblJlbG9jIGNhbGxiYWNrIGZhaWxlZABFbmRSZWxvY1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGxpbmtpbmcAQmVnaW5MaW5raW5nU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAaW52YWxpZCBsaW5raW5nIG1ldGFkYXRhIHZlcnNpb246ICV1AHN5bSBjb3VudABPblN5bWJvbENvdW50IGNhbGxiYWNrIGZhaWxlZABzeW0gdHlwZQBzeW0gZmxhZ3MAT25TeW1ib2wgY2FsbGJhY2sgZmFpbGVkAHN5bWJvbCBuYW1lAE9uRnVuY3Rpb25TeW1ib2wgY2FsbGJhY2sgZmFpbGVkAE9uR2xvYmFsU3ltYm9sIGNhbGxiYWNrIGZhaWxlZABzZWdtZW50AHNpemUAT25EYXRhU3ltYm9sIGNhbGxiYWNrIGZhaWxlZABPblNlY3Rpb25TeW1ib2wgY2FsbGJhY2sgZmFpbGVkAGluZm8gY291bnQAT25TZWdtZW50SW5mb0NvdW50IGNhbGxiYWNrIGZhaWxlZABzZWdtZW50IG5hbWUAc2VnbWVudCBhbGlnbm1lbnQAc2VnbWVudCBmbGFncwBPblNlZ21lbnRJbmZvIGNhbGxiYWNrIGZhaWxlZABPbkluaXRGdW5jdGlvbkNvdW50IGNhbGxiYWNrIGZhaWxlZABwcmlvcml0eQBPbkluaXRGdW5jdGlvbiBjYWxsYmFjayBmYWlsZWQARW5kTGlua2luZ1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEVuZEN1c3RvbVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luVHlwZVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAHR5cGUgY291bnQAT25UeXBlQ291bnQgY2FsbGJhY2sgZmFpbGVkAHR5cGUgZm9ybQAtAHVuZXhwZWN0ZWQgdHlwZSBmb3JtIChnb3QgJXMlI3gpAGZ1bmN0aW9uIHBhcmFtIGNvdW50AGZ1bmN0aW9uIHBhcmFtIHR5cGUAZXhwZWN0ZWQgdmFsaWQgcGFyYW0gdHlwZSAoZ290ICVzJSN4KQBmdW5jdGlvbiByZXN1bHQgY291bnQAcmVzdWx0IGNvdW50IG11c3QgYmUgMCBvciAxAGZ1bmN0aW9uIHJlc3VsdCB0eXBlAGV4cGVjdGVkIHZhbGlkIHJlc3VsdCB0eXBlIChnb3QgJXMlI3gpAE9uVHlwZSBjYWxsYmFjayBmYWlsZWQARW5kVHlwZVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luSW1wb3J0U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAaW1wb3J0IGNvdW50AE9uSW1wb3J0Q291bnQgY2FsbGJhY2sgZmFpbGVkAGltcG9ydCBtb2R1bGUgbmFtZQBpbXBvcnQgZmllbGQgbmFtZQBpbXBvcnQga2luZAB1aW50OF90AGltcG9ydCBzaWduYXR1cmUgaW5kZXgAaW52YWxpZCBpbXBvcnQgc2lnbmF0dXJlIGluZGV4AE9uSW1wb3J0IGNhbGxiYWNrIGZhaWxlZABPbkltcG9ydEZ1bmMgY2FsbGJhY2sgZmFpbGVkAE9uSW1wb3J0VGFibGUgY2FsbGJhY2sgZmFpbGVkAE9uSW1wb3J0TWVtb3J5IGNhbGxiYWNrIGZhaWxlZABPbkltcG9ydEdsb2JhbCBjYWxsYmFjayBmYWlsZWQAaW52YWxpZCBpbXBvcnQgZXZlbnQga2luZDogZXhjZXB0aW9ucyBub3QgYWxsb3dlZABPbkltcG9ydEV2ZW50IGNhbGxiYWNrIGZhaWxlZABFbmRJbXBvcnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkZ1bmN0aW9uU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZnVuY3Rpb24gc2lnbmF0dXJlIGNvdW50AE9uRnVuY3Rpb25Db3VudCBjYWxsYmFjayBmYWlsZWQAZnVuY3Rpb24gc2lnbmF0dXJlIGluZGV4AGludmFsaWQgZnVuY3Rpb24gc2lnbmF0dXJlIGluZGV4OiAldQBPbkZ1bmN0aW9uIGNhbGxiYWNrIGZhaWxlZABFbmRGdW5jdGlvblNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luVGFibGVTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZAB0YWJsZSBjb3VudAB0YWJsZSBjb3VudCAoJXUpIG11c3QgYmUgMCBvciAxAE9uVGFibGVDb3VudCBjYWxsYmFjayBmYWlsZWQAT25UYWJsZSBjYWxsYmFjayBmYWlsZWQARW5kVGFibGVTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbk1lbW9yeVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAG1lbW9yeSBjb3VudABtZW1vcnkgY291bnQgbXVzdCBiZSAwIG9yIDEAT25NZW1vcnlDb3VudCBjYWxsYmFjayBmYWlsZWQAT25NZW1vcnkgY2FsbGJhY2sgZmFpbGVkAEVuZE1lbW9yeVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luR2xvYmFsU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZ2xvYmFsIGNvdW50AE9uR2xvYmFsQ291bnQgY2FsbGJhY2sgZmFpbGVkAEJlZ2luR2xvYmFsIGNhbGxiYWNrIGZhaWxlZABCZWdpbkdsb2JhbEluaXRFeHByIGNhbGxiYWNrIGZhaWxlZABFbmRHbG9iYWxJbml0RXhwciBjYWxsYmFjayBmYWlsZWQARW5kR2xvYmFsIGNhbGxiYWNrIGZhaWxlZABFbmRHbG9iYWxTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkV4cG9ydFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGV4cG9ydCBjb3VudABPbkV4cG9ydENvdW50IGNhbGxiYWNrIGZhaWxlZABleHBvcnQgaXRlbSBuYW1lAGV4cG9ydCBraW5kAGludmFsaWQgZXhwb3J0IGV4dGVybmFsIGtpbmQ6ICVkAGV4cG9ydCBpdGVtIGluZGV4AGludmFsaWQgZXhwb3J0IGZ1bmMgaW5kZXg6ICV1AGludmFsaWQgZXhwb3J0IHRhYmxlIGluZGV4OiAldQBpbnZhbGlkIGV4cG9ydCBtZW1vcnkgaW5kZXg6ICV1AGludmFsaWQgZXhwb3J0IGdsb2JhbCBpbmRleDogJXUAaW52YWxpZCBleHBvcnQgZXZlbnQga2luZDogZXhjZXB0aW9ucyBub3QgYWxsb3dlZABPbkV4cG9ydCBjYWxsYmFjayBmYWlsZWQARW5kRXhwb3J0U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5TdGFydFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAHN0YXJ0IGZ1bmN0aW9uIGluZGV4AGludmFsaWQgc3RhcnQgZnVuY3Rpb24gaW5kZXg6ICV1AE9uU3RhcnRGdW5jdGlvbiBjYWxsYmFjayBmYWlsZWQARW5kU3RhcnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkVsZW1TZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABlbGVtIHNlZ21lbnQgY291bnQAT25FbGVtU2VnbWVudENvdW50IGNhbGxiYWNrIGZhaWxlZABlbGVtIHNlY3Rpb24gd2l0aG91dCB0YWJsZSBzZWN0aW9uAGVsZW0gc2VnbWVudCBmbGFncwBpbnZhbGlkIGVsZW0gc2VnbWVudCBmbGFncwBlbGVtIHNlZ21lbnQgdGFibGUgaW5kZXgAQmVnaW5FbGVtU2VnbWVudCBjYWxsYmFjayBmYWlsZWQAQmVnaW5FbGVtU2VnbWVudEluaXRFeHByIGNhbGxiYWNrIGZhaWxlZABFbmRFbGVtU2VnbWVudEluaXRFeHByIGNhbGxiYWNrIGZhaWxlZABlbGVtIHNlZ21lbnQgZnVuY3Rpb24gaW5kZXggY291bnQAT25FbGVtU2VnbWVudEZ1bmN0aW9uSW5kZXhDb3VudCBjYWxsYmFjayBmYWlsZWQAZWxlbSBzZWdtZW50IGZ1bmN0aW9uIGluZGV4AE9uRWxlbVNlZ21lbnRGdW5jdGlvbkluZGV4IGNhbGxiYWNrIGZhaWxlZABFbmRFbGVtU2VnbWVudCBjYWxsYmFjayBmYWlsZWQARW5kRWxlbVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luQ29kZVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGZ1bmN0aW9uIGJvZHkgY291bnQAT25GdW5jdGlvbkJvZHlDb3VudCBjYWxsYmFjayBmYWlsZWQAZnVuY3Rpb24gYm9keSBzaXplAEJlZ2luRnVuY3Rpb25Cb2R5IGNhbGxiYWNrIGZhaWxlZABsb2NhbCBkZWNsYXJhdGlvbiBjb3VudABPbkxvY2FsRGVjbENvdW50IGNhbGxiYWNrIGZhaWxlZABsb2NhbCB0eXBlIGNvdW50AGxvY2FsIGNvdW50IG11c3QgYmUgPiAwAGxvY2FsIGNvdW50IG11c3QgYmUgPCAweDEwMDAwMDAwAGxvY2FsIHR5cGUAZXhwZWN0ZWQgdmFsaWQgbG9jYWwgdHlwZQBPbkxvY2FsRGVjbCBjYWxsYmFjayBmYWlsZWQARW5kRnVuY3Rpb25Cb2R5IGNhbGxiYWNrIGZhaWxlZABFbmRDb2RlU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5EYXRhU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZGF0YSBzZWdtZW50IGNvdW50AE9uRGF0YVNlZ21lbnRDb3VudCBjYWxsYmFjayBmYWlsZWQAZGF0YSBzZWN0aW9uIHdpdGhvdXQgbWVtb3J5IHNlY3Rpb24AZGF0YSBzZWdtZW50IGNvdW50IGRvZXMgbm90IGVxdWFsIGNvdW50IGluIERhdGFDb3VudCBzZWN0aW9uAGRhdGEgc2VnbWVudCBmbGFncwBpbnZhbGlkIGRhdGEgc2VnbWVudCBmbGFncwBkYXRhIHNlZ21lbnQgbWVtb3J5IGluZGV4AEJlZ2luRGF0YVNlZ21lbnQgY2FsbGJhY2sgZmFpbGVkAEJlZ2luRGF0YVNlZ21lbnRJbml0RXhwciBjYWxsYmFjayBmYWlsZWQARW5kRGF0YVNlZ21lbnRJbml0RXhwciBjYWxsYmFjayBmYWlsZWQAZGF0YSBzZWdtZW50IGRhdGEAZGF0YSBzaXplAHVuYWJsZSB0byByZWFkIGRhdGE6ICVzAE9uRGF0YVNlZ21lbnREYXRhIGNhbGxiYWNrIGZhaWxlZABFbmREYXRhU2VnbWVudCBjYWxsYmFjayBmYWlsZWQARW5kRGF0YVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luRXZlbnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABldmVudCBjb3VudABPbkV2ZW50Q291bnQgY2FsbGJhY2sgZmFpbGVkAE9uRXZlbnRUeXBlIGNhbGxiYWNrIGZhaWxlZABFbmRFdmVudFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luRGF0YUNvdW50U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZGF0YSBjb3VudABPbkRhdGFDb3VudCBjYWxsYmFjayBmYWlsZWQARW5kRGF0YUNvdW50U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAdW5maW5pc2hlZCBzZWN0aW9uIChleHBlY3RlZCBlbmQ6IDB4JXp4KQBPbk9wY29kZSBjYWxsYmFjayBmYWlsZWQAT25VbnJlYWNoYWJsZUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlQmFyZSBjYWxsYmFjayBmYWlsZWQAYmxvY2sgc2lnbmF0dXJlIHR5cGUAZXhwZWN0ZWQgdmFsaWQgYmxvY2sgc2lnbmF0dXJlIHR5cGUAT25CbG9ja0V4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlQmxvY2tTaWcgY2FsbGJhY2sgZmFpbGVkAGxvb3Agc2lnbmF0dXJlIHR5cGUAT25Mb29wRXhwciBjYWxsYmFjayBmYWlsZWQAaWYgc2lnbmF0dXJlIHR5cGUAT25JZkV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uRWxzZUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uU2VsZWN0RXhwciBjYWxsYmFjayBmYWlsZWQAYnIgZGVwdGgAT25CckV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlSW5kZXggY2FsbGJhY2sgZmFpbGVkAGJyX2lmIGRlcHRoAE9uQnJJZkV4cHIgY2FsbGJhY2sgZmFpbGVkAGJyX3RhYmxlIHRhcmdldCBjb3VudABicl90YWJsZSB0YXJnZXQgZGVwdGgAYnJfdGFibGUgZGVmYXVsdCB0YXJnZXQgZGVwdGgAT25CclRhYmxlRXhwciBjYWxsYmFjayBmYWlsZWQAT25SZXR1cm5FeHByIGNhbGxiYWNrIGZhaWxlZABPbk5vcEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uRHJvcEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uRW5kRnVuYyBjYWxsYmFjayBmYWlsZWQAT25FbmRFeHByIGNhbGxiYWNrIGZhaWxlZABpMzIuY29uc3QgdmFsdWUAT25JMzJDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlVWludDMyIGNhbGxiYWNrIGZhaWxlZABpNjQuY29uc3QgdmFsdWUAdW5hYmxlIHRvIHJlYWQgaTY0IGxlYjEyODogJXMAT25JNjRDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlVWludDY0IGNhbGxiYWNrIGZhaWxlZABmMzIuY29uc3QgdmFsdWUAZmxvYXQAT25GMzJDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlRjMyIGNhbGxiYWNrIGZhaWxlZABmNjQuY29uc3QgdmFsdWUAZG91YmxlAE9uRjY0Q29uc3RFeHByIGNhbGxiYWNrIGZhaWxlZABPbk9wY29kZUY2NCBjYWxsYmFjayBmYWlsZWQAdjEyOC5jb25zdCB2YWx1ZQBPblYxMjhDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlVjEyOCBjYWxsYmFjayBmYWlsZWQAZ2xvYmFsLmdldCBnbG9iYWwgaW5kZXgAT25HbG9iYWxHZXRFeHByIGNhbGxiYWNrIGZhaWxlZABsb2NhbC5nZXQgbG9jYWwgaW5kZXgAT25Mb2NhbEdldEV4cHIgY2FsbGJhY2sgZmFpbGVkAGdsb2JhbC5zZXQgZ2xvYmFsIGluZGV4AE9uR2xvYmFsU2V0RXhwciBjYWxsYmFjayBmYWlsZWQAbG9jYWwuc2V0IGxvY2FsIGluZGV4AE9uTG9jYWxTZXRFeHByIGNhbGxiYWNrIGZhaWxlZABjYWxsIGZ1bmN0aW9uIGluZGV4AGludmFsaWQgY2FsbCBmdW5jdGlvbiBpbmRleDogJXUAT25DYWxsRXhwciBjYWxsYmFjayBmYWlsZWQAY2FsbF9pbmRpcmVjdCBzaWduYXR1cmUgaW5kZXgAaW52YWxpZCBjYWxsX2luZGlyZWN0IHNpZ25hdHVyZSBpbmRleABjYWxsX2luZGlyZWN0IHRhYmxlIGluZGV4AGludmFsaWQgY2FsbF9pbmRpcmVjdCB0YWJsZSBpbmRleABjYWxsX2luZGlyZWN0IHJlc2VydmVkAGNhbGxfaW5kaXJlY3QgcmVzZXJ2ZWQgdmFsdWUgbXVzdCBiZSAwAE9uQ2FsbEluZGlyZWN0RXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVVaW50MzJVaW50MzIgY2FsbGJhY2sgZmFpbGVkAGludmFsaWQgcmV0dXJuX2NhbGwgZnVuY3Rpb24gaW5kZXg6ICV1AE9uUmV0dXJuQ2FsbEV4cHIgY2FsbGJhY2sgZmFpbGVkAGludmFsaWQgcmV0dXJuX2NhbGxfaW5kaXJlY3Qgc2lnbmF0dXJlIGluZGV4AHJldHVybl9jYWxsX2luZGlyZWN0IHRhYmxlIGluZGV4AGludmFsaWQgcmV0dXJuX2NhbGxfaW5kaXJlY3QgdGFibGUgaW5kZXgAcmV0dXJuX2NhbGxfaW5kaXJlY3QgcmVzZXJ2ZWQAcmV0dXJuX2NhbGxfaW5kaXJlY3QgcmVzZXJ2ZWQgdmFsdWUgbXVzdCBiZSAwAE9uUmV0dXJuQ2FsbEluZGlyZWN0RXhwciBjYWxsYmFjayBmYWlsZWQAbG9jYWwudGVlIGxvY2FsIGluZGV4AE9uTG9jYWxUZWVFeHByIGNhbGxiYWNrIGZhaWxlZABsb2FkIGFsaWdubWVudABsb2FkIG9mZnNldABPbkxvYWRFeHByIGNhbGxiYWNrIGZhaWxlZABzdG9yZSBhbGlnbm1lbnQAc3RvcmUgb2Zmc2V0AE9uU3RvcmVFeHByIGNhbGxiYWNrIGZhaWxlZABtZW1vcnkuc2l6ZSByZXNlcnZlZABtZW1vcnkuc2l6ZSByZXNlcnZlZCB2YWx1ZSBtdXN0IGJlIDAAT25NZW1vcnlTaXplRXhwciBjYWxsYmFjayBmYWlsZWQAbWVtb3J5Lmdyb3cgcmVzZXJ2ZWQAbWVtb3J5Lmdyb3cgcmVzZXJ2ZWQgdmFsdWUgbXVzdCBiZSAwAE9uTWVtb3J5R3Jvd0V4cHIgY2FsbGJhY2sgZmFpbGVkAE9uQmluYXJ5RXhwciBjYWxsYmFjayBmYWlsZWQAT25Db21wYXJlRXhwciBjYWxsYmFjayBmYWlsZWQAT25VbmFyeUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uVGVybmFyeUV4cHIgY2FsbGJhY2sgZmFpbGVkAExhbmUgaWR4AE9uU2ltZExhbmVPcEV4cHIgY2FsbGJhY2sgZmFpbGVkAExhbmUgaWR4IFsxNl0AT25TaW1kU2h1ZmZsZU9wRXhwciBjYWxsYmFjayBmYWlsZWQAT25Db252ZXJ0RXhwciBjYWxsYmFjayBmYWlsZWQAdHJ5IHNpZ25hdHVyZSB0eXBlAE9uVHJ5RXhwciBjYWxsYmFjayBmYWlsZWQAT25DYXRjaEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uUmV0aHJvd0V4cHIgY2FsbGJhY2sgZmFpbGVkAGV2ZW50IGluZGV4AE9uVGhyb3dFeHByIGNhbGxiYWNrIGZhaWxlZABicl9vbl9leG4gZGVwdGgAT25Cck9uRXhuRXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVJbmRleEluZGV4IGNhbGxiYWNrIGZhaWxlZABPbkF0b21pY05vdGlmeUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uQXRvbWljV2FpdEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uQXRvbWljTG9hZEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uQXRvbWljU3RvcmVFeHByIGNhbGxiYWNrIGZhaWxlZABtZW1vcnkgYWxpZ25tZW50AG1lbW9yeSBvZmZzZXQAT25BdG9taWNSbXdFeHByIGNhbGxiYWNrIGZhaWxlZABPbkF0b21pY1Jtd0NtcHhjaGdFeHByIGNhbGxiYWNrIGZhaWxlZABlbGVtIHNlZ21lbnQgaW5kZXgAcmVzZXJ2ZWQgdGFibGUgaW5kZXgAcmVzZXJ2ZWQgdmFsdWUgbXVzdCBiZSAwAE9uVGFibGVJbml0RXhwciBjYWxsYmFjayBmYWlsZWQAcmVzZXJ2ZWQgbWVtb3J5IGluZGV4AE9uTWVtb3J5SW5pdEV4cHIgY2FsbGJhY2sgZmFpbGVkAHNlZ21lbnQgaW5kZXgAT25EYXRhRHJvcEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uRWxlbURyb3BFeHByIGNhbGxiYWNrIGZhaWxlZABPbk1lbW9yeUZpbGxFeHByIGNhbGxiYWNrIGZhaWxlZABPbk1lbW9yeUNvcHlFeHByIGNhbGxiYWNrIGZhaWxlZABPblRhYmxlQ29weUV4cHIgY2FsbGJhY2sgZmFpbGVkAHRhYmxlIGluZGV4AE9uVGFibGVHZXRFeHByIGNhbGxiYWNrIGZhaWxlZABPblRhYmxlU2V0RXhwciBjYWxsYmFjayBmYWlsZWQAT25UYWJsZUdyb3dFeHByIGNhbGxiYWNrIGZhaWxlZABPblRhYmxlU2l6ZUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uUmVmTnVsbEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uUmVmSXNOdWxsRXhwciBjYWxsYmFjayBmYWlsZWQAZnVuY3Rpb24gYm9keSBsb25nZXIgdGhhbiBnaXZlbiBzaXplAGZ1bmN0aW9uIGJvZHkgbXVzdCBlbmQgd2l0aCBFTkQgb3Bjb2RlAHVuZXhwZWN0ZWQgb3Bjb2RlADoAIDB4JXgAb3Bjb2RlAGluaXRfZXhwciBpMzIuY29uc3QgdmFsdWUAT25Jbml0RXhwckkzMkNvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAaW5pdF9leHByIGk2NC5jb25zdCB2YWx1ZQBPbkluaXRFeHBySTY0Q29uc3RFeHByIGNhbGxiYWNrIGZhaWxlZABpbml0X2V4cHIgZjMyLmNvbnN0IHZhbHVlAE9uSW5pdEV4cHJGMzJDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAGluaXRfZXhwciBmNjQuY29uc3QgdmFsdWUAT25Jbml0RXhwckY2NENvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAaW5pdF9leHByIHYxMjguY29uc3QgdmFsdWUAT25Jbml0RXhwclYxMjhDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAGluaXRfZXhwciBnbG9iYWwuZ2V0IGluZGV4AE9uSW5pdEV4cHJHbG9iYWxHZXRFeHByIGNhbGxiYWNrIGZhaWxlZABpbiBpbml0aWFsaXplciBleHByZXNzaW9uAGV4cGVjdGVkIGkzMiBpbml0X2V4cHIAZXhwZWN0ZWQgRU5EIG9wY29kZSBhZnRlciBpbml0aWFsaXplciBleHByZXNzaW9uAGV2ZW50IGF0dHJpYnV0ZQBldmVudCBhdHRyaWJ1dGUgbXVzdCBiZSAwAGV2ZW50IHNpZ25hdHVyZSBpbmRleABnbG9iYWwgdHlwZQBpbnZhbGlkIGdsb2JhbCB0eXBlOiAlI3gAZ2xvYmFsIG11dGFiaWxpdHkAZ2xvYmFsIG11dGFiaWxpdHkgbXVzdCBiZSAwIG9yIDEAbWVtb3J5IGZsYWdzAG1lbW9yeSBpbml0aWFsIHBhZ2UgY291bnQAaW52YWxpZCBtZW1vcnkgaW5pdGlhbCBzaXplAHNoYXJlZCBtZW1vcnkgbXVzdCBoYXZlIGEgbWF4IHNpemUAbWVtb3J5IG1heCBwYWdlIGNvdW50AGludmFsaWQgbWVtb3J5IG1heCBzaXplAG1lbW9yeSBpbml0aWFsIHNpemUgbXVzdCBiZSA8PSBtYXggc2l6ZQB0YWJsZSBlbGVtIHR5cGUAdGFibGUgZWxlbSB0eXBlIG11c3QgYnkgYW55ZnVuYyBvciBhbnlyZWYAdGFibGUgZmxhZ3MAdGFibGUgaW5pdGlhbCBlbGVtIGNvdW50AHRhYmxlcyBtYXkgbm90IGJlIHNoYXJlZAB0YWJsZSBtYXggZWxlbSBjb3VudAB0YWJsZSBpbml0aWFsIGVsZW0gY291bnQgbXVzdCBiZSA8PSBtYXggZWxlbSBjb3VudABzdHJpbmcgbGVuZ3RoAHVuYWJsZSB0byByZWFkIHN0cmluZzogJXMAaW52YWxpZCB1dGYtOCBlbmNvZGluZzogJXMAd2FybmluZwBlcnJvcgAlMDd6eDogJXM6ICVzCgBPbkluaXRFeHBySTY0Q29uc3RFeHByKGluZGV4OiAldSwgdmFsdWU6ICVsbHUpCgBPbkluaXRFeHBySTMyQ29uc3RFeHByKGluZGV4OiAldSwgdmFsdWU6ICV1KQoAT25Jbml0RXhwckdsb2JhbEdldEV4cHIoaW5kZXg6ICV1LCBnbG9iYWxfaW5kZXg6ICV1KQoAT25Jbml0RXhwclYxMjhDb25zdEV4cHIoaW5kZXg6ICV1IHZhbHVlOiAoIDB4JTA4eCAweCUwOHggMHglMDh4IDB4JTA4eCkpCgBPbkluaXRFeHByRjY0Q29uc3RFeHByKGluZGV4OiAldSB2YWx1ZTogJWcgKDB4MDglbGx4KSkKAE9uSW5pdEV4cHJGMzJDb25zdEV4cHIoaW5kZXg6ICV1LCB2YWx1ZTogJWcgKDB4MDQleCkpCgBFbmRFdmVudFNlY3Rpb24KAE9uRXZlbnRUeXBlKGluZGV4OiAldSwgc2lnX2luZGV4OiAldSkKAE9uRXZlbnRDb3VudCgldSkKAEJlZ2luRXZlbnRTZWN0aW9uKCV6ZCkKAEVuZExpbmtpbmdTZWN0aW9uCgBPbkluaXRGdW5jdGlvbiglZCBwcmlvcml0eTogJWQpCgBPbkluaXRGdW5jdGlvbkNvdW50KCV1KQoAT25TZWdtZW50SW5mb3MoJWQgbmFtZTogJS4qcywgYWxpZ25tZW50OiAlZCwgZmxhZ3M6IDB4JXgpCgBPblNlZ21lbnRJbmZvQ291bnQoJXUpCgBPblNlY3Rpb25TeW1ib2woZmxhZ3M6IDB4JXggaW5kZXg6ICV1KQoAT25HbG9iYWxTeW1ib2wobmFtZTogJS4qcyBmbGFnczogMHgleCBpbmRleDogJXUpCgBPbkZ1bmN0aW9uU3ltYm9sKG5hbWU6ICUuKnMgZmxhZ3M6IDB4JXggaW5kZXg6ICV1KQoAT25EYXRhU3ltYm9sKG5hbWU6ICUuKnMgZmxhZ3M6IDB4JXgpCgBzZWN0aW9uAE9uU3ltYm9sKHR5cGU6ICVzIGZsYWdzOiAweCV4KQoAT25TeW1ib2xDb3VudCgldSkKAEJlZ2luTGlua2luZ1NlY3Rpb24oJXpkKQoARW5kRHlsaW5rU2VjdGlvbgoAT25EeWxpbmtOZWVkZWQobmFtZTogJS4qcykKAE9uRHlsaW5rTmVlZGVkQ291bnQoJXUpCgBPbkR5bGlua0luZm8obWVtX3NpemU6ICV1LCBtZW1fYWxpZ246ICV1LCB0YWJsZV9zaXplOiAldSwgdGFibGVfYWxpZ246ICV1KQoAQmVnaW5EeWxpbmtTZWN0aW9uKCV6ZCkKAEVuZFJlbG9jU2VjdGlvbgoAT25SZWxvYyh0eXBlOiAlcywgb2Zmc2V0OiAlemQsIGluZGV4OiAldSwgYWRkZW5kOiAlZCkKAE9uUmVsb2NDb3VudChjb3VudDogJXUsIHNlY3Rpb246ICV1KQoAQmVnaW5SZWxvY1NlY3Rpb24oJXpkKQoARW5kTmFtZXNTZWN0aW9uCgBPbkxvY2FsTmFtZShmdW5jX2luZGV4OiAldSwgbG9jYWxfaW5kZXg6ICV1LCBuYW1lOiAiJS4qcyIpCgBPbkxvY2FsTmFtZUxvY2FsQ291bnQoaW5kZXg6ICV1LCBjb3VudDogJXUpCgBPbkxvY2FsTmFtZUZ1bmN0aW9uQ291bnQoJXUpCgBPbkxvY2FsTmFtZVN1YnNlY3Rpb24oaW5kZXg6JXUsIG5hbWV0eXBlOiV1LCBzaXplOiV6ZCkKAE9uRnVuY3Rpb25OYW1lKGluZGV4OiAldSwgbmFtZTogIiUuKnMiKQoAT25GdW5jdGlvbk5hbWVzQ291bnQoJXUpCgBPbkZ1bmN0aW9uTmFtZVN1YnNlY3Rpb24oaW5kZXg6JXUsIG5hbWV0eXBlOiV1LCBzaXplOiV6ZCkKAE9uTW9kdWxlTmFtZShuYW1lOiAiJS4qcyIpCgBPbk1vZHVsZU5hbWVTdWJzZWN0aW9uKGluZGV4OiV1LCBuYW1ldHlwZToldSwgc2l6ZTolemQpCgBCZWdpbk5hbWVzU2VjdGlvbiglemQpCgBFbmREYXRhQ291bnRTZWN0aW9uCgBPbkRhdGFDb3VudCgldSkKAEJlZ2luRGF0YUNvdW50U2VjdGlvbiglemQpCgBFbmREYXRhU2VjdGlvbgoARW5kRGF0YVNlZ21lbnQoJXUpCgBPbkRhdGFTZWdtZW50RGF0YShpbmRleDoldSwgc2l6ZToldSkKAEVuZERhdGFTZWdtZW50SW5pdEV4cHIoJXUpCgBCZWdpbkRhdGFTZWdtZW50SW5pdEV4cHIoJXUpCgB0cnVlAGZhbHNlAEJlZ2luRGF0YVNlZ21lbnQoaW5kZXg6ICV1LCBtZW1vcnlfaW5kZXg6ICV1LCBwYXNzaXZlOiAlcykKAE9uRGF0YVNlZ21lbnRDb3VudCgldSkKAEJlZ2luRGF0YVNlY3Rpb24oJXpkKQoARW5kRWxlbVNlY3Rpb24KAEVuZEVsZW1TZWdtZW50KCV1KQoAT25FbGVtU2VnbWVudEZ1bmN0aW9uSW5kZXgoaW5kZXg6ICV1LCBmdW5jX2luZGV4OiAldSkKAE9uRWxlbVNlZ21lbnRGdW5jdGlvbkluZGV4Q291bnQoaW5kZXg6ICV1LCBjb3VudDogJXUpCgBFbmRFbGVtU2VnbWVudEluaXRFeHByKCV1KQoAQmVnaW5FbGVtU2VnbWVudEluaXRFeHByKCV1KQoAQmVnaW5FbGVtU2VnbWVudChpbmRleDogJXUsIHRhYmxlX2luZGV4OiAldSwgcGFzc2l2ZTogJXMpCgBPbkVsZW1TZWdtZW50Q291bnQoJXUpCgBCZWdpbkVsZW1TZWN0aW9uKCV6ZCkKAE9uU2ltZFNodWZmbGVPcEV4cHIgKGxhbmU6IDB4JTA4eCAlMDh4ICUwOHggJTA4eCkKAE9uU2ltZExhbmVPcEV4cHIgKGxhbmU6ICVsbHUpCgBFbmRDb2RlU2VjdGlvbgoARW5kRnVuY3Rpb25Cb2R5KCV1KQoAT25VbnJlYWNoYWJsZUV4cHIKAE9uVGVybmFyeUV4cHIoIiVzIiAoJXUpKQoAT25VbmFyeUV4cHIoIiVzIiAoJXUpKQoAT25UcnlFeHByKHNpZzogACkKAGZ1bmNpZHhbJWRdAE9uVGhyb3dFeHByKGV2ZW50X2luZGV4OiAldSkKAE9uU3RvcmVFeHByKG9wY29kZTogIiVzIiAoJXUpLCBhbGlnbiBsb2cyOiAldSwgb2Zmc2V0OiAldSkKAE9uU2VsZWN0RXhwcgoAT25SZXR1cm5DYWxsSW5kaXJlY3RFeHByKHNpZ19pbmRleDogJXUsIHRhYmxlX2luZGV4OiAldSkKAE9uUmV0dXJuQ2FsbEV4cHIoZnVuY19pbmRleDogJXUpCgBPblJldHVybkV4cHIKAE9uUmV0aHJvd0V4cHIKAE9uTm9wRXhwcgoAT25SZWZJc051bGxFeHByCgBPblJlZk51bGxFeHByCgBPblRhYmxlU2l6ZUV4cHIoJXUpCgBPblRhYmxlR3Jvd0V4cHIoJXUpCgBPblRhYmxlU2V0RXhwcigldSkKAE9uVGFibGVHZXRFeHByKCV1KQoAT25UYWJsZUluaXRFeHByKCV1KQoAT25FbGVtRHJvcEV4cHIoJXUpCgBPblRhYmxlQ29weUV4cHIKAE9uTWVtb3J5U2l6ZUV4cHIKAE9uTWVtb3J5SW5pdEV4cHIoJXUpCgBPbk1lbW9yeUdyb3dFeHByCgBPbk1lbW9yeUZpbGxFeHByCgBPbkRhdGFEcm9wRXhwcigldSkKAE9uTWVtb3J5Q29weUV4cHIKAE9uTG9vcEV4cHIoc2lnOiAAT25Mb2NhbFRlZUV4cHIoaW5kZXg6ICV1KQoAT25Mb2NhbFNldEV4cHIoaW5kZXg6ICV1KQoAT25Mb2NhbEdldEV4cHIoaW5kZXg6ICV1KQoAT25Mb2FkRXhwcihvcGNvZGU6ICIlcyIgKCV1KSwgYWxpZ24gbG9nMjogJXUsIG9mZnNldDogJXUpCgBPbklmRXhwcihzaWc6IABPbkk2NENvbnN0RXhwciglbGx1ICgweCVsbHgpKQoAT25JMzJDb25zdEV4cHIoJXUgKDB4JXgpKQoAT25HbG9iYWxTZXRFeHByKGluZGV4OiAldSkKAE9uR2xvYmFsR2V0RXhwcihpbmRleDogJXUpCgBPblYxMjhDb25zdEV4cHIoMHglMDh4IDB4JTA4eCAweCUwOHggMHglMDh4KQoAT25GNjRDb25zdEV4cHIoJWcgKDB4MDglbGx4KSkKAE9uRjMyQ29uc3RFeHByKCVnICgweDA0JXgpKQoAT25FbmRFeHByCgBPbkVsc2VFeHByCgBPbkRyb3BFeHByCgBPbkNvbnZlcnRFeHByKCIlcyIgKCV1KSkKAE9uQ29tcGFyZUV4cHIoIiVzIiAoJXUpKQoAT25DYXRjaEV4cHIKAE9uQ2FsbEluZGlyZWN0RXhwcihzaWdfaW5kZXg6ICV1LCB0YWJsZV9pbmRleDogJXUpCgBPbkNhbGxFeHByKGZ1bmNfaW5kZXg6ICV1KQoAT25CclRhYmxlRXhwcihudW1fdGFyZ2V0czogJXUsIGRlcHRoczogWwBdLCBkZWZhdWx0OiAldSkKAE9uQnJPbkV4bkV4cHIoZGVwdGg6ICV1LCBldmVudF9pbmRleDogJXUpCgBPbkJySWZFeHByKGRlcHRoOiAldSkKAE9uQnJFeHByKGRlcHRoOiAldSkKAE9uQmxvY2tFeHByKHNpZzogAE9uQmluYXJ5RXhwcigiJXMiICgldSkpCgBPbkF0b21pY05vdGlmeUV4cHIob3Bjb2RlOiAiJXMiICgldSksIGFsaWduIGxvZzI6ICV1LCBvZmZzZXQ6ICV1KQoAT25BdG9taWNXYWl0RXhwcihvcGNvZGU6ICIlcyIgKCV1KSwgYWxpZ24gbG9nMjogJXUsIG9mZnNldDogJXUpCgBPbkF0b21pY1Jtd0NtcHhjaGdFeHByKG9wY29kZTogIiVzIiAoJXUpLCBhbGlnbiBsb2cyOiAldSwgb2Zmc2V0OiAldSkKAE9uQXRvbWljUm13RXhwcihvcGNvZGU6ICIlcyIgKCV1KSwgYWxpZ24gbG9nMjogJXUsIG9mZnNldDogJXUpCgBPbkF0b21pY1N0b3JlRXhwcihvcGNvZGU6ICIlcyIgKCV1KSwgYWxpZ24gbG9nMjogJXUsIG9mZnNldDogJXUpCgBPbkF0b21pY0xvYWRFeHByKG9wY29kZTogIiVzIiAoJXUpLCBhbGlnbiBsb2cyOiAldSwgb2Zmc2V0OiAldSkKAE9uTG9jYWxEZWNsKGluZGV4OiAldSwgY291bnQ6ICV1LCB0eXBlOiAlcykKAE9uTG9jYWxEZWNsQ291bnQoJXUpCgBCZWdpbkZ1bmN0aW9uQm9keSgldSwgc2l6ZTolemQpCgBPbkZ1bmN0aW9uQm9keUNvdW50KCV1KQoAQmVnaW5Db2RlU2VjdGlvbiglemQpCgBFbmRTdGFydFNlY3Rpb24KAE9uU3RhcnRGdW5jdGlvbigldSkKAEJlZ2luU3RhcnRTZWN0aW9uKCV6ZCkKAEVuZEV4cG9ydFNlY3Rpb24KAE9uRXhwb3J0KGluZGV4OiAldSwga2luZDogJXMsIGl0ZW1faW5kZXg6ICV1LCBuYW1lOiAiJS4qcyIpCgBPbkV4cG9ydENvdW50KCV1KQoAQmVnaW5FeHBvcnRTZWN0aW9uKCV6ZCkKAEVuZEdsb2JhbFNlY3Rpb24KAEVuZEdsb2JhbCgldSkKAEVuZEdsb2JhbEluaXRFeHByKCV1KQoAQmVnaW5HbG9iYWxJbml0RXhwcigldSkKAEJlZ2luR2xvYmFsKGluZGV4OiAldSwgdHlwZTogJXMsIG11dGFibGU6ICVzKQoAT25HbG9iYWxDb3VudCgldSkKAEJlZ2luR2xvYmFsU2VjdGlvbiglemQpCgBFbmRNZW1vcnlTZWN0aW9uCgBpbml0aWFsOiAlbGx1LCBtYXg6ICVsbHUAaW5pdGlhbDogJWxsdQBPbk1lbW9yeShpbmRleDogJXUsICVzKQoAT25NZW1vcnlDb3VudCgldSkKAEJlZ2luTWVtb3J5U2VjdGlvbiglemQpCgBFbmRUYWJsZVNlY3Rpb24KAE9uVGFibGUoaW5kZXg6ICV1LCBlbGVtX3R5cGU6ICVzLCAlcykKAE9uVGFibGVDb3VudCgldSkKAEJlZ2luVGFibGVTZWN0aW9uKCV6ZCkKAEVuZEZ1bmN0aW9uU2VjdGlvbgoAT25GdW5jdGlvbihpbmRleDogJXUsIHNpZ19pbmRleDogJXUpCgBPbkZ1bmN0aW9uQ291bnQoJXUpCgBCZWdpbkZ1bmN0aW9uU2VjdGlvbiglemQpCgBFbmRJbXBvcnRTZWN0aW9uCgBPbkltcG9ydEV2ZW50KGltcG9ydF9pbmRleDogJXUsIGV2ZW50X2luZGV4OiAldSwgc2lnX2luZGV4OiAldSkKAE9uSW1wb3J0R2xvYmFsKGltcG9ydF9pbmRleDogJXUsIGdsb2JhbF9pbmRleDogJXUsIHR5cGU6ICVzLCBtdXRhYmxlOiAlcykKAE9uSW1wb3J0TWVtb3J5KGltcG9ydF9pbmRleDogJXUsIG1lbW9yeV9pbmRleDogJXUsICVzKQoAT25JbXBvcnRUYWJsZShpbXBvcnRfaW5kZXg6ICV1LCB0YWJsZV9pbmRleDogJXUsIGVsZW1fdHlwZTogJXMsICVzKQoAT25JbXBvcnRGdW5jKGltcG9ydF9pbmRleDogJXUsIGZ1bmNfaW5kZXg6ICV1LCBzaWdfaW5kZXg6ICV1KQoAT25JbXBvcnQoaW5kZXg6ICV1LCBtb2R1bGU6ICIlLipzIiwgZmllbGQ6ICIlLipzIikKAE9uSW1wb3J0Q291bnQoJXUpCgBCZWdpbkltcG9ydFNlY3Rpb24oJXpkKQoARW5kVHlwZVNlY3Rpb24KAE9uVHlwZShpbmRleDogJXUsIHBhcmFtczogAFsALCByZXN1bHRzOiAAT25UeXBlQ291bnQoJXUpCgBCZWdpblR5cGVTZWN0aW9uKCV6ZCkKAEVuZEN1c3RvbVNlY3Rpb24KAEJlZ2luQ3VzdG9tU2VjdGlvbignJS4qcycsIHNpemU6ICV6ZCkKAEVuZE1vZHVsZQoAQmVnaW5Nb2R1bGUodmVyc2lvbjogJXUpCgBONHdhYnQxOUJpbmFyeVJlYWRlckxvZ2dpbmdFAE40d2FidDExTGV4ZXJTb3VyY2VFAE40d2FidDE3TGV4ZXJTb3VyY2VCdWZmZXJFACswAEludmFsaWQAYXNzZXJ0X2V4aGF1c3Rpb24AYXNzZXJ0X2ludmFsaWQAYXNzZXJ0X21hbGZvcm1lZABhc3NlcnRfcmV0dXJuAGFzc2VydF9yZXR1cm5fYXJpdGhtZXRpY19uYW4AYXNzZXJ0X3JldHVybl9jYW5vbmljYWxfbmFuAGFzc2VydF90cmFwAGFzc2VydF91bmxpbmthYmxlAGJpbgBkYXRhAGVsZW0ARU9GAGV2ZW50AGV4cG9ydABmdW5jcmVmAGdldABnbG9iYWwAaW1wb3J0AGludm9rZQBsb2NhbAAoAG1lbW9yeQBtb2R1bGUAbXV0AG9mZnNldABwYXJhbQBwYXNzaXZlAHF1b3RlAHJlZ2lzdGVyAHJlc3VsdAApAHNoYXJlZABzdGFydAB0YWJsZQB0aGVuAHR5cGUARkxPQVQASU5UAE5BVABBVE9NSUNfTE9BRABBVE9NSUNfUk1XAEFUT01JQ19STVdfQ01QWENIRwBBVE9NSUNfU1RPUkUAQVRPTUlDX1dBSVQAQVRPTUlDX05PVElGWQBCSU5BUlkAY2F0Y2gAQ09NUEFSRQBDT05TVABDT05WRVJUAGVsc2UAZW5kAGdsb2JhbC5nZXQAbG9jYWwuZ2V0AExPQUQAbWVtb3J5LmNvcHkAZGF0YS5kcm9wAG1lbW9yeS5maWxsAG1lbW9yeS5ncm93AG1lbW9yeS5pbml0AG1lbW9yeS5zaXplAHRhYmxlLmNvcHkAZWxlbS5kcm9wAHRhYmxlLmluaXQAdGFibGUuc2l6ZQByZWYubnVsbABub3AAU0lNRExBTkVPUABTSU1EU0hVRkZMRU9QAFNUT1JFAFRFUk5BUlkAVU5BUlkAdW5yZWFjaGFibGUAYWxpZ249AG9mZnNldD0AUmVzZXJ2ZWQAVEVYVABWQVIAVkFMVUVUWVBFAC4uLgBpbnZhbGlkIGRlcHRoOiAldSAobWF4ICV6ZCkAdHlwZSBtaXNtYXRjaCBpbiAALCBleHBlY3RlZCAAIGJ1dCBnb3QgAC4uLiAAJXMAXQA8dHlwZSBpbmRleD4AYW55cmVmAGFueQB2b2lkAGV4Y2VwdF9yZWYAZnVuYwBhbnlmdW5jAHYxMjgAZjY0AGYzMgBpNjQAaTMyACwgAHJldHVybiBzaWduYXR1cmVzIGhhdmUgaW5jb25zaXN0ZW50IHR5cGVzOiBleHBlY3RlZCAlcywgZ290ICVzAGJsb2NrAGJyAGJyX2lmAGJyX29uX2V4bgBicl9vbl9leG4gaGFzIGluY29uc2lzdGVudCB0eXBlczogZXhwZWN0ZWQgJXMsIGdvdCAlcwBicl90YWJsZQBicl90YWJsZSBsYWJlbHMgaGF2ZSBpbmNvbnNpc3RlbnQgdHlwZXM6IGV4cGVjdGVkICVzLCBnb3QgJXMAY2FsbABjYWxsX2luZGlyZWN0AHJldHVybl9jYWxsAHJldHVybl9jYWxsX2luZGlyZWN0AHRyeSBibG9jawBkcm9wAGlmIHRydWUgYnJhbmNoAGZ1bmN0aW9uAGxvb3AAaWYAaWYgZmFsc2UgYnJhbmNoAHRyeQB0cnkgY2F0Y2gAZ2xvYmFsLnNldABsb2NhbC5zZXQAbG9jYWwudGVlAHRhYmxlLmdldAB0YWJsZS5zZXQAdGFibGUuZ3JvdwByZWYuaXNfbnVsbAByZXRocm93AHRocm93AHJldHVybgBzZWxlY3QAbGFuZSBpbmRleCBtdXN0IGJlIGxlc3MgdGhhbiAlZCAoZ290ICVsbHUpAGxhbmUgaW5kZXggbXVzdCBiZSBsZXNzIHRoYW4gMzIgKGdvdCAlZCkAaW1wbGljaXQgcmV0dXJuAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuACVkACV1ACVsdQBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=330272;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<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}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){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function 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<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){SYSCALLS.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}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 _abort(){Module["abort"]()}function _emscripten_get_heap_size(){return TOTAL_MEMORY}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){try{var newBuffer=new ArrayBuffer(size);if(newBuffer.byteLength!=size)return false;new Int8Array(newBuffer).set(HEAP8)}catch(e){return false}Module["_emscripten_replace_memory"](newBuffer);HEAP8=new Int8Array(newBuffer);HEAP16=new Int16Array(newBuffer);HEAP32=new Int32Array(newBuffer);HEAPU8=new Uint8Array(newBuffer);HEAPU16=new Uint16Array(newBuffer);HEAPU32=new Uint32Array(newBuffer);HEAPF32=new Float32Array(newBuffer);HEAPF64=new Float64Array(newBuffer);buffer=newBuffer;return newBuffer}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=16777216;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize<requestedSize){if(newSize<=536870912){newSize=alignUp(2*newSize,PAGE_MULTIPLE)}else{newSize=Math.min(alignUp((3*newSize+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=emscripten_realloc_buffer(newSize);if(!replacement||replacement.byteLength!=newSize){return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();TOTAL_MEMORY=newSize;HEAPU32[DYNAMICTOP_PTR>>2]=requestedSize;return true}function _getenv(name){if(name===0)return 0;name=UTF8ToString(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}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;return value}var ASSERTIONS=false;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){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<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function jsCall_ii(index,a1){return functionPointers[index](a1)}function jsCall_iii(index,a1,a2){return functionPointers[index](a1,a2)}function jsCall_iiii(index,a1,a2,a3){return functionPointers[index](a1,a2,a3)}function jsCall_iiiii(index,a1,a2,a3,a4){return functionPointers[index](a1,a2,a3,a4)}function jsCall_iiiiii(index,a1,a2,a3,a4,a5){return functionPointers[index](a1,a2,a3,a4,a5)}function jsCall_iiiiiii(index,a1,a2,a3,a4,a5,a6){return functionPointers[index](a1,a2,a3,a4,a5,a6)}function jsCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){return functionPointers[index](a1,a2,a3,a4,a5,a6,a7)}function jsCall_v(index){functionPointers[index]()}function jsCall_vi(index,a1){functionPointers[index](a1)}function jsCall_vii(index,a1,a2){functionPointers[index](a1,a2)}function jsCall_viii(index,a1,a2,a3){functionPointers[index](a1,a2,a3)}function jsCall_viiii(index,a1,a2,a3,a4){functionPointers[index](a1,a2,a3,a4)}function jsCall_viiiii(index,a1,a2,a3,a4,a5){functionPointers[index](a1,a2,a3,a4,a5)}function jsCall_viiiiii(index,a1,a2,a3,a4,a5,a6){functionPointers[index](a1,a2,a3,a4,a5,a6)}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,Infinity:Infinity};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":jsCall_ii,"e":jsCall_iii,"f":jsCall_iiii,"g":jsCall_iiiii,"h":jsCall_iiiiii,"i":jsCall_iiiiiii,"j":jsCall_iiiiiiii,"k":jsCall_v,"l":jsCall_vi,"m":jsCall_vii,"n":jsCall_viii,"o":jsCall_viiii,"p":jsCall_viiiii,"q":jsCall_viiiiii,"r":___buildEnvironment,"s":___setErrNo,"t":___syscall140,"u":___syscall146,"v":___syscall54,"w":___syscall6,"x":_abort,"y":_emscripten_get_heap_size,"z":_emscripten_memcpy_big,"A":_emscripten_resize_heap,"B":_getenv,"C":abortOnCannotGrowMemory,"D":emscripten_realloc_buffer,"E":flush_NO_FILESYSTEM,"F":tempDoublePtr,"G":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM +var Module=typeof WabtModule!=="undefined"?WabtModule:{};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;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);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(_scriptDir){scriptDirectory=_scriptDir}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{var success=_emscripten_resize_heap(end);if(!success)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(10);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var 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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NONE=3;function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}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<endPtr){var u0=u8Array[idx++];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<str.length;++i){var u=str.charCodeAt(i);if(u>=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<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else 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 writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}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()}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=352240,DYNAMIC_BASE=5595120,DYNAMICTOP_PTR=351984;var TOTAL_STACK=5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();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;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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){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}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAACGBQUAEpgEAKwFBQDJBAUAugQFAC0FBQCijgQA2gQFAAUFBQDoBAUAIQUFAKgEBQAACAUAywUFAH8FBQBiBQUAUQUFAAAAAAAAAAAAAAAAAJ+QBAC5kAQA0ZAEAOiQBAD/kAQAF5EEAC6RBABEkQQAXJEEAHeRBACRkQQAqJEEAMSRBAAAAAAAAAAAAAAAAABVkgQAYJIEAGqSBAB7kgQAh5IEAJSSBACfkgQAppIEAKySBACvkgQAtJIEALySBADEkgQAyZIEANaSBADekgQA5JIEAOySBADxkgQA+5IEAAWTBAAIkwQADZMEABaTBAAfkwQAKJMEAC2TBAA4kwQAQZMEAEyTBABXkwQAYpMEAG2TBABxkwQAe5MEAIOTBACLkwQAkpMEAJ2TBACwkwQAt5MEAMKTBADQkwQA1pMEAOCTBADpkwQA85MEAPyTBAAGlAQAEJQEABmUBAAhlAQAJ5QEACuUBAAxlAQAAAAAAE8HBQDA////wP///8D////A////AAAAAAAAAAAAAAAAAAAAAB4HBQDA////wP///8D////A////AAAAAAAAAAABAAAAAQAAAGQIBQDA////wP///8D////A////AAAAAAAAAAACAAAAAgAAAFQJBQDA////wP///8D////A////AAAAAAAAAAADAAAAAwAAAFkJBQDA////wP///8D////A////AAAAAAAAAAAEAAAABAAAAIEGBQDA////wP///8D////A////AAAAAAAAAAAFAAAABQAAAGwJBQDA////wP///8D////A////AAAAAAAAAAAGAAAABgAAAGUGBQDA////wP///8D////A////AAAAAAAAAAAHAAAABwAAAMwJBQDA////wP///8D////A////AAAAAAAAAAAIAAAACAAAAMQJBQDA////wP///8D////A////AAAAAAAAAAAJAAAACQAAAHMIBQDA////wP///8D////A////AAAAAAAAAAAKAAAACgAAAIYGBQDA////wP///8D////A////AAAAAAAAAAALAAAACwAAAGoIBQDA////wP///8D////A////AAAAAAAAAAAMAAAADAAAAG0IBQDA////wP///8D////A////AAAAAAAAAAANAAAADQAAALMIBQDA////wP///8D////A////AAAAAAAAAAAOAAAADgAAANIJBQDA////wP///8D////A////AAAAAAAAAAAPAAAADwAAAPkIBQDA////wP///8D////A////AAAAAAAAAAAQAAAAEAAAAP4IBQDA////wP///8D////A////AAAAAAAAAAARAAAAEQAAAAwJBQDA////wP///8D////A////AAAAAAAAAAASAAAAEgAAABgJBQDA////wP///8D////A////AAAAAAAAAAATAAAAEwAAADcJBQDA////wP///8D////A////AAAAAAAAAAAaAAAAGgAAANkJBQDA////wP///8D////A////AAAAAAAAAAAbAAAAGwAAAJUGBQDA////wP///8D////A////AAAAAAAAAAAgAAAAIAAAAIUJBQDA////wP///8D////A////AAAAAAAAAAAhAAAAIQAAAI8JBQDA////wP///8D////A////AAAAAAAAAAAiAAAAIgAAAIoGBQDA////wP///8D////A////AAAAAAAAAAAjAAAAIwAAAHoJBQDA////wP///8D////A////AAAAAAAAAAAkAAAAJAAAAPmiBAD//////////8D////A////BAAAAAAAAAAoAAAAKAAAAPCiBAD+/////////8D////A////CAAAAAAAAAApAAAAKQAAAOeiBAD9/////////8D////A////BAAAAAAAAAAqAAAAKgAAAN6iBAD8/////////8D////A////CAAAAAAAAAArAAAAKwAAAMyqBAD//////////8D////A////AQAAAAAAAAAsAAAALAAAAPqqBAD//////////8D////A////AQAAAAAAAAAtAAAALQAAAO+lBAD//////////8D////A////AgAAAAAAAAAuAAAALgAAAC2mBAD//////////8D////A////AgAAAAAAAAAvAAAALwAAAMCqBAD+/////////8D////A////AQAAAAAAAAAwAAAAMAAAAO6qBAD+/////////8D////A////AQAAAAAAAAAxAAAAMQAAAOKlBAD+/////////8D////A////AgAAAAAAAAAyAAAAMgAAACCmBAD+/////////8D////A////AgAAAAAAAAAzAAAAMwAAAJKkBAD+/////////8D////A////BAAAAAAAAAA0AAAANAAAALOkBAD+/////////8D////A////BAAAAAAAAAA1AAAANQAAAFKjBADA///////////////A////BAAAAAAAAAA2AAAANgAAAEijBADA//////////7////A////CAAAAAAAAAA3AAAANwAAAD6jBADA//////////3////A////BAAAAAAAAAA4AAAAOAAAADSjBADA//////////z////A////CAAAAAAAAAA5AAAAOQAAAOOqBADA///////////////A////AQAAAAAAAAA6AAAAOgAAAOapBADA///////////////A////AgAAAAAAAAA7AAAAOwAAANiqBADA//////////7////A////AQAAAAAAAAA8AAAAPAAAANqpBADA//////////7////A////AgAAAAAAAAA9AAAAPQAAAFyjBADA//////////7////A////BAAAAAAAAAA+AAAAPgAAAN4GBQD/////wP///8D////A////AAAAAAAAAAA/AAAAPwAAAMYGBQD//////////8D////A////AAAAAAAAAABAAAAAQAAAANSiBAD/////wP///8D////A////AAAAAAAAAABBAAAAQQAAAMqiBAD+////wP///8D////A////AAAAAAAAAABCAAAAQgAAAMCiBAD9////wP///8D////A////AAAAAAAAAABDAAAAQwAAALaiBAD8////wP///8D////A////AAAAAAAAAABEAAAARAAAAKatBAD//////////8D////A////AAAAAAAAAABFAAAARQAAAMS0BAD////////////////A////AAAAAAAAAABGAAAARgAAAH+iBAD////////////////A////AAAAAAAAAABHAAAARwAAALOhBAD////////////////A////AAAAAAAAAABIAAAASAAAAMWhBAD////////////////A////AAAAAAAAAABJAAAASQAAAGmsBAD////////////////A////AAAAAAAAAABKAAAASgAAAHusBAD////////////////A////AAAAAAAAAABLAAAASwAAANehBAD////////////////A////AAAAAAAAAABMAAAATAAAAOmhBAD////////////////A////AAAAAAAAAABNAAAATQAAAI2sBAD////////////////A////AAAAAAAAAABOAAAATgAAAJ+sBAD////////////////A////AAAAAAAAAABPAAAATwAAAJ6tBAD//////v///8D////A////AAAAAAAAAABQAAAAUAAAAL20BAD//////v////7////A////AAAAAAAAAABRAAAAUQAAAHiiBAD//////v////7////A////AAAAAAAAAABSAAAAUgAAAKqhBAD//////v////7////A////AAAAAAAAAABTAAAAUwAAALyhBAD//////v////7////A////AAAAAAAAAABUAAAAVAAAAGCsBAD//////v////7////A////AAAAAAAAAABVAAAAVQAAAHKsBAD//////v////7////A////AAAAAAAAAABWAAAAVgAAAM6hBAD//////v////7////A////AAAAAAAAAABXAAAAVwAAAOChBAD//////v////7////A////AAAAAAAAAABYAAAAWAAAAISsBAD//////v////7////A////AAAAAAAAAABZAAAAWQAAAJasBAD//////v////7////A////AAAAAAAAAABaAAAAWgAAALa0BAD//////f////3////A////AAAAAAAAAABbAAAAWwAAAHGiBAD//////f////3////A////AAAAAAAAAABcAAAAXAAAAJWhBAD//////f////3////A////AAAAAAAAAABdAAAAXQAAABqsBAD//////f////3////A////AAAAAAAAAABeAAAAXgAAAKOhBAD//////f////3////A////AAAAAAAAAABfAAAAXwAAAEisBAD//////f////3////A////AAAAAAAAAABgAAAAYAAAAK+0BAD//////P////z////A////AAAAAAAAAABhAAAAYQAAAGqiBAD//////P////z////A////AAAAAAAAAABiAAAAYgAAAI6hBAD//////P////z////A////AAAAAAAAAABjAAAAYwAAABOsBAD//////P////z////A////AAAAAAAAAABkAAAAZAAAAJyhBAD//////P////z////A////AAAAAAAAAABlAAAAZQAAAEGsBAD//////P////z////A////AAAAAAAAAABmAAAAZgAAAHCjBAD//////////8D////A////AAAAAAAAAABnAAAAZwAAAK6iBAD//////////8D////A////AAAAAAAAAABoAAAAaAAAAIa1BAD//////////8D////A////AAAAAAAAAABpAAAAaQAAAGKiBAD////////////////A////AAAAAAAAAABqAAAAagAAAEKiBAD////////////////A////AAAAAAAAAABrAAAAawAAABqjBAD////////////////A////AAAAAAAAAABsAAAAbAAAAJ2jBAD////////////////A////AAAAAAAAAABtAAAAbQAAAMOjBAD////////////////A////AAAAAAAAAABuAAAAbgAAAPyhBAD////////////////A////AAAAAAAAAABvAAAAbwAAABCiBAD////////////////A////AAAAAAAAAABwAAAAcAAAAI6iBAD////////////////A////AAAAAAAAAABxAAAAcQAAAP2rBAD////////////////A////AAAAAAAAAAByAAAAcgAAALCsBAD////////////////A////AAAAAAAAAABzAAAAcwAAAP+tBAD////////////////A////AAAAAAAAAAB0AAAAdAAAADCtBAD////////////////A////AAAAAAAAAAB1AAAAdQAAAEStBAD////////////////A////AAAAAAAAAAB2AAAAdgAAALCjBAD////////////////A////AAAAAAAAAAB3AAAAdwAAAIGjBAD////////////////A////AAAAAAAAAAB4AAAAeAAAAGijBAD+/////v///8D////A////AAAAAAAAAAB5AAAAeQAAAKaiBAD+/////v///8D////A////AAAAAAAAAAB6AAAAegAAAHu1BAD+/////v///8D////A////AAAAAAAAAAB7AAAAewAAAFqiBAD+/////v////7////A////AAAAAAAAAAB8AAAAfAAAADqiBAD+/////v////7////A////AAAAAAAAAAB9AAAAfQAAABKjBAD+/////v////7////A////AAAAAAAAAAB+AAAAfgAAAJOjBAD+/////v////7////A////AAAAAAAAAAB/AAAAfwAAALmjBAD+/////v////7////A////AAAAAAAAAACAAAAAgAAAAPKhBAD+/////v////7////A////AAAAAAAAAACBAAAAgQAAAAaiBAD+/////v////7////A////AAAAAAAAAACCAAAAggAAAIaiBAD+/////v////7////A////AAAAAAAAAACDAAAAgwAAAParBAD+/////v////7////A////AAAAAAAAAACEAAAAhAAAAKisBAD+/////v////7////A////AAAAAAAAAACFAAAAhQAAAPetBAD+/////v////7////A////AAAAAAAAAACGAAAAhgAAACatBAD+/////v////7////A////AAAAAAAAAACHAAAAhwAAADqtBAD+/////v////7////A////AAAAAAAAAACIAAAAiAAAAKejBAD+/////v////7////A////AAAAAAAAAACJAAAAiQAAAHijBAD+/////v////7////A////AAAAAAAAAACKAAAAigAAACKiBAD9/////f////3////A////AAAAAAAAAACLAAAAiwAAAKSrBAD9/////f////3////A////AAAAAAAAAACMAAAAjAAAACujBAD9/////f////3////A////AAAAAAAAAACNAAAAjQAAAD6qBAD9/////f////3////A////AAAAAAAAAACOAAAAjgAAAKmkBAD9/////f////3////A////AAAAAAAAAACPAAAAjwAAANmjBAD9/////f////3////A////AAAAAAAAAACQAAAAkAAAAMqsBAD9/////f////3////A////AAAAAAAAAACRAAAAkQAAAFKiBAD9/////f////3////A////AAAAAAAAAACSAAAAkgAAADKiBAD9/////f////3////A////AAAAAAAAAACTAAAAkwAAAAqjBAD9/////f////3////A////AAAAAAAAAACUAAAAlAAAAAalBAD9/////f////3////A////AAAAAAAAAACVAAAAlQAAAJ6iBAD9/////f////3////A////AAAAAAAAAACWAAAAlgAAAImxBAD9/////f////3////A////AAAAAAAAAACXAAAAlwAAANK2BAD9/////f////3////A////AAAAAAAAAACYAAAAmAAAABqiBAD8/////P////z////A////AAAAAAAAAACZAAAAmQAAAJyrBAD8/////P////z////A////AAAAAAAAAACaAAAAmgAAACKjBAD8/////P////z////A////AAAAAAAAAACbAAAAmwAAADSqBAD8/////P////z////A////AAAAAAAAAACcAAAAnAAAAJ+kBAD8/////P////z////A////AAAAAAAAAACdAAAAnQAAAM2jBAD8/////P////z////A////AAAAAAAAAACeAAAAngAAAMGsBAD8/////P////z////A////AAAAAAAAAACfAAAAnwAAAEqiBAD8/////P////z////A////AAAAAAAAAACgAAAAoAAAACqiBAD8/////P////z////A////AAAAAAAAAAChAAAAoQAAAAKjBAD8/////P////z////A////AAAAAAAAAACiAAAAogAAAP6kBAD8/////P////z////A////AAAAAAAAAACjAAAAowAAAJaiBAD8/////P////z////A////AAAAAAAAAACkAAAApAAAAIGxBAD8/////P////z////A////AAAAAAAAAAClAAAApQAAAMW2BAD8/////P////z////A////AAAAAAAAAACmAAAApgAAAN+0BAD//////v///8D////A////AAAAAAAAAACnAAAApwAAAJ6mBAD//////f///8D////A////AAAAAAAAAACoAAAAqAAAAL6mBAD//////f///8D////A////AAAAAAAAAACpAAAAqQAAANenBAD//////P///8D////A////AAAAAAAAAACqAAAAqgAAAPenBAD//////P///8D////A////AAAAAAAAAACrAAAAqwAAACGsBAD+/////////8D////A////AAAAAAAAAACsAAAArAAAAE+sBAD+/////////8D////A////AAAAAAAAAACtAAAArQAAAI6mBAD+/////f///8D////A////AAAAAAAAAACuAAAArgAAAK6mBAD+/////f///8D////A////AAAAAAAAAACvAAAArwAAAMenBAD+/////P///8D////A////AAAAAAAAAACwAAAAsAAAAOenBAD+/////P///8D////A////AAAAAAAAAACxAAAAsQAAACyoBAD9/////////8D////A////AAAAAAAAAACyAAAAsgAAAG6qBAD9/////////8D////A////AAAAAAAAAACzAAAAswAAAEqpBAD9/////v///8D////A////AAAAAAAAAAC0AAAAtAAAAOSrBAD9/////v///8D////A////AAAAAAAAAAC1AAAAtQAAADqmBAD9/////P///8D////A////AAAAAAAAAAC2AAAAtgAAABqoBAD8/////////8D////A////AAAAAAAAAAC3AAAAtwAAAFyqBAD8/////////8D////A////AAAAAAAAAAC4AAAAuAAAADipBAD8/////v///8D////A////AAAAAAAAAAC5AAAAuQAAANKrBAD8/////v///8D////A////AAAAAAAAAAC6AAAAugAAAH+yBAD8/////f///8D////A////AAAAAAAAAAC7AAAAuwAAAEW0BAD//////f///8D////A////AAAAAAAAAAC8AAAAvAAAAJu0BAD+/////P///8D////A////AAAAAAAAAAC9AAAAvQAAAEOxBAD9/////////8D////A////AAAAAAAAAAC+AAAAvgAAAI+yBAD8/////v///8D////A////AAAAAAAAAAC/AAAAvwAAACCyBAD//////////8D////A////AAAAAAAAAADAAAAAwAAAANawBAD//////////8D////A////AAAAAAAAAADBAAAAwQAAABKyBAD+/////v///8D////A////AAAAAAAAAADCAAAAwgAAAMewBAD+/////v///8D////A////AAAAAAAAAADDAAAAwwAAAASsBAD+/////v///8D////A////AAAAAAAAAADEAAAAxAAAAD2UBADA////wP///8D////A////AAAAAAAAAADgAAAA4AAAAESUBADA////wP///8D////A////AAAAAAAAAADhAAAA4QAAAE6UBADA////wP///8D////A////AAAAAAAAAADiAAAA4gAAAEMFBQDA////wP///8D////A////AAAAAAAAAADjAAAA4wAAAFiUBADA////wP///8D////A////AAAAAAAAAADkAAAA5AAAAHCpBAD//////f///8D////A////AAAAAPwAAAAAAAAAAPwAAMapBAD//////f///8D////A////AAAAAPwAAAABAAAAAfwAAEywBAD//////P///8D////A////AAAAAPwAAAACAAAAAvwAAH+wBAD//////P///8D////A////AAAAAPwAAAADAAAAA/wAAFypBAD+/////f///8D////A////AAAAAPwAAAAEAAAABPwAALKpBAD+/////f///8D////A////AAAAAPwAAAAFAAAABfwAADiwBAD+/////P///8D////A////AAAAAPwAAAAGAAAABvwAAGuwBAD+/////P///8D////A////AAAAAPwAAAAHAAAAB/wAANIGBQDA////////////////////AAAAAPwAAAAIAAAACPwAALAGBQDA////wP///8D////A////AAAAAPwAAAAJAAAACfwAAKQGBQDA////////////////////AAAAAPwAAAAKAAAACvwAALoGBQDA////////////////////AAAAAPwAAAALAAAAC/wAAP8GBQDA////////////////////AAAAAPwAAAAMAAAADPwAAPUGBQDA////wP///8D////A////AAAAAPwAAAANAAAADfwAAOoGBQDA////////////////////AAAAAPwAAAAOAAAADvwAAJkJBQDA////wP///8D////A////AAAAAAAAAAAlAAAAJQAAAKMJBQDA////wP///8D////A////AAAAAAAAAAAmAAAAJgAAAK0JBQDA////wP///8D////A////AAAAAPwAAAAPAAAAD/wAAAoHBQDA////wP///8D////A////AAAAAPwAAAAQAAAAEPwAABUHBQDA////wP///8D////A////AAAAAAAAAADQAAAA0AAAALgJBQDA////wP///8D////A////AAAAAAAAAADRAAAA0QAAAOWmBAD7/////////8D////A////EAAAAP0AAAAAAAAAAP0AANelBADA//////////v////A////EAAAAP0AAAABAAAAAf0AAO+mBAD7////wP///8D////A////AAAAAP0AAAACAAAAAv0AABm3BAD7////+/////v////A////AAAAAP0AAAADAAAAA/0AAEy1BAD7/////////8D////A////AAAAAP0AAAAEAAAABP0AACW2BAD/////+////8D////A////AAAAAP0AAAAFAAAABf0AADq2BAD/////+////8D////A////AAAAAP0AAAAGAAAABv0AAFW3BAD7////+//////////A////AAAAAP0AAAAHAAAAB/0AAG+1BAD7/////////8D////A////AAAAAP0AAAAIAAAACP0AAHG2BAD/////+////8D////A////AAAAAP0AAAAJAAAACf0AAJy2BAD/////+////8D////A////AAAAAP0AAAAKAAAACv0AAGi3BAD7////+//////////A////AAAAAP0AAAALAAAAC/0AAJ+zBAD7/////////8D////A////AAAAAP0AAAAMAAAADP0AADK0BAD/////+////8D////A////AAAAAP0AAAANAAAADf0AADm1BAD7////+//////////A////AAAAAP0AAAAOAAAADv0AAMOtBAD7/////v///8D////A////AAAAAP0AAAAPAAAAD/0AACWwBAD+////+////8D////A////AAAAAP0AAAAQAAAAEP0AAFKzBAD7////+/////7////A////AAAAAP0AAAARAAAAEf0AAJOzBAD7/////f///8D////A////AAAAAP0AAAASAAAAEv0AABS0BAD9////+////8D////A////AAAAAP0AAAATAAAAE/0AACa1BAD7////+/////3////A////AAAAAP0AAAAUAAAAFP0AAK6tBAD7/////P///8D////A////AAAAAP0AAAAVAAAAFf0AABKwBAD8////+////8D////A////AAAAAP0AAAAWAAAAFv0AAD+zBAD7////+/////z////A////AAAAAP0AAAAXAAAAF/0AALW3BAD7////+/////v////A////AAAAAP0AAAAYAAAAGP0AALqtBAD7////+/////v////A////AAAAAP0AAAAZAAAAGf0AACOuBAD7////+/////v////A////AAAAAP0AAAAaAAAAGv0AAC6uBAD7////+/////v////A////AAAAAP0AAAAbAAAAG/0AANOyBAD7////+/////v////A////AAAAAP0AAAAcAAAAHP0AAN6yBAD7////+/////v////A////AAAAAP0AAAAdAAAAHf0AAFquBAD7////+/////v////A////AAAAAP0AAAAeAAAAHv0AAG+uBAD7////+/////v////A////AAAAAP0AAAAfAAAAH/0AAOmyBAD7////+/////v////A////AAAAAP0AAAAgAAAAIP0AAPSyBAD7////+/////v////A////AAAAAP0AAAAhAAAAIf0AAL63BAD7////+/////v////A////AAAAAP0AAAAiAAAAIv0AAAeuBAD7////+/////v////A////AAAAAP0AAAAjAAAAI/0AAKCuBAD7////+/////v////A////AAAAAP0AAAAkAAAAJP0AAKuuBAD7////+/////v////A////AAAAAP0AAAAlAAAAJf0AAAmzBAD7////+/////v////A////AAAAAP0AAAAmAAAAJv0AAB6zBAD7////+/////v////A////AAAAAP0AAAAnAAAAJ/0AALauBAD7////+/////v////A////AAAAAP0AAAAoAAAAKP0AAMuuBAD7////+/////v////A////AAAAAP0AAAApAAAAKf0AACmzBAD7////+/////v////A////AAAAAP0AAAAqAAAAKv0AADSzBAD7////+/////v////A////AAAAAP0AAAArAAAAK/0AAIS3BAD7////+/////v////A////AAAAAP0AAAAsAAAALP0AAIeoBAD7////+/////v////A////AAAAAP0AAAAtAAAALf0AAPioBAD7////+/////v////A////AAAAAP0AAAAuAAAALv0AAAOpBAD7////+/////v////A////AAAAAP0AAAAvAAAAL/0AAOasBAD7////+/////v////A////AAAAAP0AAAAwAAAAMP0AAPGsBAD7////+/////v////A////AAAAAP0AAAAxAAAAMf0AABipBAD7////+/////v////A////AAAAAP0AAAAyAAAAMv0AAC2pBAD7////+/////v////A////AAAAAP0AAAAzAAAAM/0AAAatBAD7////+/////v////A////AAAAAP0AAAA0AAAANP0AAButBAD7////+/////v////A////AAAAAP0AAAA1AAAANf0AAHu3BAD7////+/////v////A////AAAAAP0AAABAAAAAQP0AAH6oBAD7////+/////v////A////AAAAAP0AAABBAAAAQf0AAJCoBAD7////+/////v////A////AAAAAP0AAABCAAAAQv0AALisBAD7////+/////v////A////AAAAAP0AAABDAAAAQ/0AAO+oBAD7////+/////v////A////AAAAAP0AAABEAAAARP0AAN2sBAD7////+/////v////A////AAAAAP0AAABFAAAARf0AAOm1BAD7////+/////v////A////AAAAAP0AAABGAAAARv0AAIqjBAD7////+/////v////A////AAAAAP0AAABHAAAAR/0AAOWjBAD7////+/////v////A////AAAAAP0AAABIAAAASP0AAL6nBAD7////+/////v////A////AAAAAP0AAABJAAAASf0AADakBAD7////+/////v////A////AAAAAP0AAABKAAAASv0AABGoBAD7////+/////v////A////AAAAAP0AAABLAAAAS/0AAMmkBAD7////+////8D////A////AAAAAP0AAABMAAAATP0AAMCkBAD7////+/////v////A////AAAAAP0AAABNAAAATf0AAEmmBAD7////+/////v////A////AAAAAP0AAABOAAAATv0AABquBAD7////+/////v////A////AAAAAP0AAABPAAAAT/0AAK+nBAD7////+/////v////7////AAAAAP0AAABQAAAAUP0AAOy0BAD7////+////8D////A////AAAAAP0AAABRAAAAUf0AANq1BAD/////+////8D////A////AAAAAP0AAABSAAAAUv0AAAOyBAD/////+////8D////A////AAAAAP0AAABTAAAAU/0AALG2BAD7////+//////////A////AAAAAP0AAABUAAAAVP0AAAG2BAD7////+//////////A////AAAAAP0AAABVAAAAVf0AAA22BAD7////+//////////A////AAAAAP0AAABWAAAAVv0AAGWuBAD7////+/////v////A////AAAAAP0AAABXAAAAV/0AAFexBAD7////+/////v////A////AAAAAP0AAABYAAAAWP0AAGyxBAD7////+/////v////A////AAAAAP0AAABZAAAAWf0AABCuBAD7////+/////v////A////AAAAAP0AAABaAAAAWv0AAOWwBAD7////+/////v////A////AAAAAP0AAABbAAAAW/0AAASxBAD7////+/////v////A////AAAAAP0AAABcAAAAXP0AAHKvBAD7////+/////v////A////AAAAAP0AAABdAAAAXf0AABy1BAD7////+////8D////A////AAAAAP0AAABiAAAAYv0AAPK1BAD/////+////8D////A////AAAAAP0AAABjAAAAY/0AAEKyBAD/////+////8D////A////AAAAAP0AAABkAAAAZP0AALu2BAD7////+//////////A////AAAAAP0AAABlAAAAZf0AABm2BAD7////+//////////A////AAAAAP0AAABmAAAAZv0AAE+2BAD7////+//////////A////AAAAAP0AAABnAAAAZ/0AAMGuBAD7////+/////v////A////AAAAAP0AAABoAAAAaP0AAJGxBAD7////+/////v////A////AAAAAP0AAABpAAAAaf0AAKaxBAD7////+/////v////A////AAAAAP0AAABqAAAAav0AADmuBAD7////+/////v////A////AAAAAP0AAABrAAAAa/0AABmxBAD7////+/////v////A////AAAAAP0AAABsAAAAbP0AAC6xBAD7////+/////v////A////AAAAAP0AAABtAAAAbf0AAJavBAD7////+/////v////A////AAAAAP0AAABuAAAAbv0AABSzBAD7////+////8D////A////AAAAAP0AAABzAAAAc/0AAO2zBAD/////+////8D////A////AAAAAP0AAAB0AAAAdP0AADKsBAD/////+////8D////A////AAAAAP0AAAB1AAAAdf0AAH20BAD7////+//////////A////AAAAAP0AAAB2AAAAdv0AAPyzBAD7////+//////////A////AAAAAP0AAAB3AAAAd/0AAAi0BAD7////+//////////A////AAAAAP0AAAB4AAAAeP0AACOpBAD7////+/////v////A////AAAAAP0AAAB5AAAAef0AANGoBAD7////+/////v////A////AAAAAP0AAAB8AAAAfP0AACqqBAD7////+/////v////A////AAAAAP0AAAB/AAAAf/0AABGtBAD7////+////8D////A////AAAAAP0AAACEAAAAhP0AAIevBAD/////+////8D////A////AAAAAP0AAACFAAAAhf0AAAmnBAD/////+////8D////A////AAAAAP0AAACGAAAAhv0AAPqwBAD7////+//////////A////AAAAAP0AAACHAAAAh/0AAPqvBAD7////+//////////A////AAAAAP0AAACIAAAAiP0AAAawBAD7////+//////////A////AAAAAP0AAACJAAAAif0AAEmkBAD7////+/////v////A////AAAAAP0AAACKAAAAiv0AABikBAD7////+/////v////A////AAAAAP0AAACNAAAAjf0AANuoBAD7////+////8D////A////AAAAAP0AAACVAAAAlf0AAP+yBAD7////+////8D////A////AAAAAP0AAACWAAAAlv0AAOKzBAD7////+////8D////A////AAAAAP0AAACXAAAAl/0AAA6pBAD7////+/////v////A////AAAAAP0AAACaAAAAmv0AAJmoBAD7////+/////v////A////AAAAAP0AAACbAAAAm/0AACCqBAD7////+/////v////A////AAAAAP0AAACcAAAAnP0AANOsBAD7////+/////v////A////AAAAAP0AAACdAAAAnf0AAOWoBAD7////+/////v////A////AAAAAP0AAACeAAAAnv0AAFi1BAD7////+/////v////A////AAAAAP0AAACfAAAAn/0AACKkBAD7////+////8D////A////AAAAAP0AAACgAAAAoP0AAPysBAD7////+////8D////A////AAAAAP0AAAChAAAAof0AAHyvBAD7////+////8D////A////AAAAAP0AAACiAAAAov0AAD+kBAD7////+/////v////A////AAAAAP0AAAClAAAApf0AAO6jBAD7////+/////v////A////AAAAAP0AAACmAAAApv0AAHWkBAD7////+/////v////A////AAAAAP0AAACnAAAAp/0AAAeoBAD7////+/////v////A////AAAAAP0AAACoAAAAqP0AACykBAD7////+/////v////A////AAAAAP0AAACpAAAAqf0AAImzBAD7////+/////v////A////AAAAAP0AAACqAAAAqv0AAKuzBAD7////+////8D////A////AAAAAP0AAACrAAAAq/0AAMOzBAD7////+////8D////A////AAAAAP0AAACsAAAArP0AAMqvBAD7////+////8D////A////AAAAAP0AAACtAAAArf0AAOKvBAD7////+////8D////A////AAAAAP0AAACuAAAArv0AAJG1BAD7////+////8D////A////AAAAAP0AAACvAAAAr/0AAKe1BAD7////+////8D////A////AAAAAP0AAACwAAAAsP0AAFu2BAD7////+////8D////A////AAAAAP0AAACxAAAAsf0AAIa2BAD7////+////8D////A////AAAAAP0AAACyAAAAsv0AAMy1BAD////////////////A////BAAAAP4AAAAAAAAAAP4AAAikBAD////////////////+////BAAAAP4AAAABAAAAAf4AAPijBAD///////////7////+////CAAAAP4AAAACAAAAAv4AAJulBAD//////////8D////A////BAAAAP4AAAAQAAAAEP4AAIulBAD+/////////8D////A////CAAAAP4AAAARAAAAEf4AAI2uBAD//////////8D////A////AQAAAP4AAAASAAAAEv4AAOOtBAD//////////8D////A////AgAAAP4AAAATAAAAE/4AAHquBAD+/////////8D////A////AQAAAP4AAAAUAAAAFP4AAM+tBAD+/////////8D////A////AgAAAP4AAAAVAAAAFf4AAEiqBAD+/////////8D////A////BAAAAP4AAAAWAAAAFv4AAGSkBADA///////////////A////BAAAAP4AAAAXAAAAF/4AAFOkBADA//////////7////A////CAAAAP4AAAAYAAAAGP4AAGu0BADA///////////////A////AQAAAP4AAAAZAAAAGf4AAL+rBADA///////////////A////AgAAAP4AAAAaAAAAGv4AAFm0BADA//////////7////A////AQAAAP4AAAAbAAAAG/4AAKyrBADA//////////7////A////AgAAAP4AAAAcAAAAHP4AAH+kBADA//////////7////A////BAAAAP4AAAAdAAAAHf4AACGlBAD////////////////A////BAAAAP4AAAAeAAAAHv4AAA6lBAD+//////////7////A////CAAAAP4AAAAfAAAAH/4AAFSlBAD////////////////A////AQAAAP4AAAAgAAAAIP4AAJupBAD////////////////A////AgAAAP4AAAAhAAAAIf4AAD6lBAD+//////////7////A////AQAAAP4AAAAiAAAAIv4AAISpBAD+//////////7////A////AgAAAP4AAAAjAAAAI/4AAFGmBAD+//////////7////A////BAAAAP4AAAAkAAAAJP4AAJynBAD////////////////A////BAAAAP4AAAAlAAAAJf4AAImnBAD+//////////7////A////CAAAAP4AAAAmAAAAJv4AAOikBAD////////////////A////AQAAAP4AAAAnAAAAJ/4AALqoBAD////////////////A////AgAAAP4AAAAoAAAAKP4AANKkBAD+//////////7////A////AQAAAP4AAAApAAAAKf4AAKOoBAD+//////////7////A////AgAAAP4AAAAqAAAAKv4AAGqlBAD+//////////7////A////BAAAAP4AAAArAAAAK/4AAHumBAD////////////////A////BAAAAP4AAAAsAAAALP4AAGimBAD+//////////7////A////CAAAAP4AAAAtAAAALf4AAMGlBAD////////////////A////AQAAAP4AAAAuAAAALv4AAAmqBAD////////////////A////AgAAAP4AAAAvAAAAL/4AAKulBAD+//////////7////A////AQAAAP4AAAAwAAAAMP4AAPKpBAD+//////////7////A////AgAAAP4AAAAxAAAAMf4AAM6mBAD+//////////7////A////BAAAAP4AAAAyAAAAMv4AAA6mBAD////////////////A////BAAAAP4AAAAzAAAAM/4AAPylBAD+//////////7////A////CAAAAP4AAAA0AAAANP4AALWvBAD////////////////A////AQAAAP4AAAA1AAAANf4AAByrBAD////////////////A////AgAAAP4AAAA2AAAANv4AAKCvBAD+//////////7////A////AQAAAP4AAAA3AAAAN/4AAAarBAD+//////////7////A////AgAAAP4AAAA4AAAAOP4AAHOnBAD+//////////7////A////BAAAAP4AAAA5AAAAOf4AAAm1BAD////////////////A////BAAAAP4AAAA6AAAAOv4AAPa0BAD+//////////7////A////CAAAAP4AAAA7AAAAO/4AALGwBAD////////////////A////AQAAAP4AAAA8AAAAPP4AAGiyBAD////////////////A////AgAAAP4AAAA9AAAAPf4AAJuwBAD+//////////7////A////AQAAAP4AAAA+AAAAPv4AAFGyBAD+//////////7////A////AgAAAP4AAAA/AAAAP/4AAEOuBAD+//////////7////A////BAAAAP4AAABAAAAAQP4AAKG3BAD////////////////A////BAAAAP4AAABBAAAAQf4AAI23BAD+//////////7////A////CAAAAP4AAABCAAAAQv4AAPa2BAD////////////////A////AQAAAP4AAABDAAAAQ/4AALuyBAD////////////////A////AgAAAP4AAABEAAAARP4AAN+2BAD+//////////7////A////AQAAAP4AAABFAAAARf4AAKOyBAD+//////////7////A////AgAAAP4AAABGAAAARv4AANauBAD+//////////7////A////BAAAAP4AAABHAAAAR/4AAD63BAD/////////////////////BAAAAP4AAABIAAAASP4AACe3BAD+//////////7////+////CAAAAP4AAABJAAAASf4AAFivBAD/////////////////////AQAAAP4AAABKAAAASv4AAKWqBAD/////////////////////AgAAAP4AAABLAAAAS/4AAD6vBAD+//////////7////+////AQAAAP4AAABMAAAATP4AAIqqBAD+//////////7////+////AgAAAP4AAABNAAAATf4AABinBAD+//////////7////+////BAAAAP4AAABOAAAATv4AAGKUBADA////wP///8D////A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEBAQEBAAABAQABAQENDQ0NDQ0NDQ0NAQABAQEBAQUFBQUFBQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQEBBwcHBwcHAwMDAwMDAwMDAwMDAwMDAwMDAwMAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAYLAC0AyAaWAAgAZAAHAFgBowDcAHEBuAEVAMgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBggAJAAeABgASgAQAA0ABwDsACoCCgAWAAcAMAAIABoANQDTASECLAAHAAcACQBzAAcAdAHLASwAyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBsgGyAbIBgAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQEBAQEAAAEBAAEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAAwMTIzNDU2Nzg5YWJjZGVmAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAFgAAABcAAAAYAAAAGQAAABoAAADMAAAAzQAAAAAAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAAH0AAAB+AAAAfwAAAIAAAACBAAAAggAAAIMAAACEAAAAhQAAAIYAAACHAAAAiAAAAIkAAACKAAAAiwAAAIwAAACNAAAAjgAAAI8AAACQAAAAkQAAAJIAAACTAAAAlAAAAJUAAACWAAAAlwAAAJgAAACZAAAAmgAAAJsAAACcAAAAnQAAAJ4AAACfAAAAoAAAAKEAAACiAAAAowAAAKQAAAClAAAApgAAAKcAAACoAAAAqQAAAKoAAACrAAAArAAAAK0AAACuAAAArwAAALAAAACxAAAAsgAAALMAAAC0AAAAtQAAALYAAAC3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAA0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuAAAALkAAAC6AAAAuwAAALwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL0AAAC+AAAAvwAAAMAAAADBAAAAwgAAAMMAAADEAAAAxQAAAMYAAADHAAAAyAAAAMkAAADKAAAAywAAAM4AAADPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAADbAAAA3AAAAN0AAADeAAAA3wAAAOAAAADhAAAA4gAAAOMAAADkAAAA5QAAAOYAAADnAAAA6AAAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADwAAAA8QAAAPIAAADzAAAA9AAAAPUAAAD2AAAA9wAAAPgAAAD5AAAA+gAAAPsAAAD8AAAA/QAAAP4AAAD/AAAAAAEAAAEBAAACAQAAAwEAAAQBAAAFAQAABgEAAAcBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAAEQEAABIBAAATAQAAFAEAABUBAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAcAQAAHQEAAB4BAAAfAQAAIAEAACEBAAAiAQAAIwEAACQBAAAlAQAAAAAAAAAAAAAAAAAAAAAAACYBAAAnAQAAKAEAACkBAAAqAQAAKwEAACwBAAAtAQAALgEAAC8BAAAwAQAAMQEAADIBAAAAAAAAAAAAAAAAAAAAAAAAMwEAADQBAAA1AQAANgEAADcBAAA4AQAAOQEAAAAAAAAAAAAAOgEAAAAAAAAAAAAAOwEAAAAAAAAAAAAAAAAAAAAAAAA8AQAAPQEAAD4BAAA/AQAAQAEAAEEBAABCAQAAAAAAAAAAAABDAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQBAABFAQAARgEAAAAAAAAAAAAARwEAAEgBAABJAQAASgEAAEsBAABMAQAATQEAAE4BAABPAQAAAAAAAAAAAABQAQAAUQEAAFIBAABTAQAAVAEAAFUBAABWAQAAVwEAAFgBAABZAQAAWgEAAFsBAABcAQAAXQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXgEAAF8BAABgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGEBAABiAQAAYwEAAGQBAABlAQAAZgEAAGcBAABoAQAAaQEAAGoBAABrAQAAbAEAAG0BAABuAQAAbwEAAHABAABxAQAAcgEAAHMBAAB0AQAAdQEAAHYBAAB3AQAAeAEAAHkBAAB6AQAAewEAAHwBAAB9AQAAfgEAAH8BAACAAQAAgQEAAIIBAACDAQAAhAEAAIUBAACGAQAAhwEAAIgBAACJAQAAigEAAIsBAACMAQAAjQEAAI4BAACPAQAAkAEAAJEBAACSAQAAkwEAAJQBAACVAQAAlgEAAJcBAACYAQAAmQEAAJoBAACbAQAAnAEAAJ0BAACeAQAAnwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgBAUAqAQFALoEBQDJBAUA2gQFAOgEBQAFBQUAIQUFAC0FBQA/BQUAQwUFAEgFBQBNBQUAUQUFAFcFBQAACAUAXgUFAGIFBQBpBQUAcAUFAHcFBQB9BQUAfwUFAIYFBQCNBQUAkQUFAJgFBQCeBQUApgUFAKwFBQC1BQUAvAUFAL4FBQDFBQUAywUFANEFBQDWBQUA2wUFAOEFBQDnBQUA7QUFAPMFBQD5BQUA/wUFAAUGBQAJBgUADQYFABkGBQAkBgUANwYFAEQGBQBQBgUAXgYFAGQIBQBqCAUAbQgFAHMIBQCzCAUA+QgFAP4IBQBlBgUAawYFAHMGBQB5BgUANwkFAIEGBQCGBgUAigYFAJUGBQBZCQUAnwYFAFQJBQCkBgUAsAYFALoGBQDGBgUA0gYFAN4GBQDqBgUA9QYFAP8GBQCZCQUAowkFAK0JBQAKBwUAFQcFALgJBQAeBwUAxAkFANIJBQAMCQUAGAkFANkJBQB6CQUAhQkFACIHBQAtBwUAOwcFAI8JBQBBBwUAzAkFAGwJBQBJBwUATwcFAFsHBQBiBwUAagcFAHMHBQB4BwUAfAcFAAAAAAAAAAAASwkFAGQIBQBUCQUAWQkFAFwJBQBsCQUAcAkFAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BQAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAIhzBADZcwQAcFMEAAAAAACIcwQA/HMEAIBTBAAAAAAAYHMEAB50BACIcwQA84cEAPBbBAAAAAAAiHMEADx0BACoUwQAAAAAAIhzBABOdAQAuFMEAAAAAACwcwQAc3QEAAAAAAABAAAA0FMEAAIEAABgcwQAgHQEAIhzBACodAQA6FMEAAAAAACIcwQAy3QEALhTBAAAAAAAiHMEAPB0BAAIVAQAAAAAAIhzBAAKdQQAGFQEAAAAAACwcwQAP3UEAAAAAAABAAAAMFQEAAIEAABgcwQAVHUEAIhzBADxdQQASFQEAAAAAACIcwQAEXYEABhUBAAAAAAAiHMEAEV2BABoVAQAAAAAAIhzBABldgQAGFQEAAAAAACIcwQAv3YEAIhUBAAAAAAAiHMEANp2BAC4UwQAAAAAAIhzBAD/dgQAqFQEAAAAAACIcwQAF3cEALhTBAAAAAAAiHMEAFZ3BAC4UwQAAAAAAIhzBAB7dwQA2FQEAAAAAACIcwQAoncEALhTBAAAAAAAiHMEAMd3BAD4VAQAAAAAAIhzBADudwQAuFMEAAAAAACIcwQAE3gEABhVBAAAAAAAiHMEACN4BAC4UwQAAAAAAIhzBABIeAQAOFUEAAAAAACIcwQAa3gEALhTBAAAAAAAiHMEAJB4BABYVQQAAAAAAIhzBAC6eAQAuFMEAAAAAACIcwQA33gEALhTBAAAAAAAiHMEAAR5BACIVQQAAAAAAIhzBAAkeQQAuFMEAAAAAACIcwQASXkEAKhVBAAAAAAAiHMEAGx5BAC4UwQAAAAAAIhzBACReQQAuFMEAAAAAACIcwQAtnkEALhTBAAAAAAAiHMEANt5BAC4UwQAAAAAAIhzBAAAegQAuFMEAAAAAACIcwQAJXoEALhTBAAAAAAAiHMEAEp6BAAYVgQAAAAAAIhzBABtegQAuFMEAAAAAACIcwQAknoEADhWBAAAAAAAiHMEALV6BAC4UwQAAAAAAIhzBADaegQAWFYEAAAAAACIcwQA/XoEALhTBAAAAAAAiHMEACJ7BAB4VgQAAAAAAIhzBABFewQAuFMEAAAAAACIcwQAansEAJhWBAAAAAAAiHMEAI17BAC4UwQAAAAAAIhzBACyewQAuFYEAAAAAACIcwQA1XsEALhTBAAAAAAAiHMEAPp7BAC4UwQAAAAAAIhzBAAffAQAuFMEAAAAAACIcwQARHwEAPhWBAAAAAAAiHMEAGd8BAC4UwQAAAAAAIhzBACMfAQAuFMEAAAAAACIcwQAsXwEALhTBAAAAAAAiHMEANZ8BAA4VwQAAAAAAIhzBAD5fAQAuFMEAAAAAACIcwQAHn0EALhTBAAAAAAAiHMEAEN9BABoVwQAAAAAAIhzBABtfQQAuFMEAAAAAACIcwQAkn0EAIhXBAAAAAAAiHMEALV9BAC4UwQAAAAAAIhzBADafQQAqFcEAAAAAACIcwQA/X0EALhTBAAAAAAAiHMEACJ+BADIVwQAAAAAAIhzBABFfgQAuFMEAAAAAACIcwQAan4EAOhXBAAAAAAAiHMEAJR+BAC4UwQAAAAAAIhzBAC5fgQACFgEAAAAAACIcwQAyH4EALhTBAAAAAAAiHMEAO1+BAAoWAQAAAAAAIhzBAAQfwQAuFMEAAAAAACIcwQAWX8EALhTBAAAAAAAiHMEAH5/BABYWAQAAAAAAIhzBAClfwQAuFMEAAAAAACIcwQAyn8EAHhYBAAAAAAAiHMEAPF/BAC4UwQAAAAAAIhzBAA8gAQAmFgEAAAAAACIcwQAVoAEALhTBAAAAAAAiHMEAHuABAC4WAQAAAAAAIhzBACegAQAuFMEAAAAAACIcwQAw4AEANhYBAAAAAAAiHMEANiABAC4UwQAAAAAAIhzBAD9gAQA+FgEAAAAAACIcwQAEoEEALhTBAAAAAAAiHMEADeBBAAYWQQAAAAAAIhzBABZgQQAuFMEAAAAAACIcwQAfYEEADhZBAAAAAAAiHMEAJ+BBAC4UwQAAAAAAIhzBADDgQQAWFkEAAAAAACIcwQA7IEEALhTBAAAAAAAiHMEABCCBAB4WQQAAAAAAIhzBAA2ggQAuFMEAAAAAACIcwQAWoIEAJhZBAAAAAAAiHMEAIOCBAC4UwQAAAAAAIhzBACnggQAuFkEAAAAAACIcwQA0IIEALhTBAAAAAAAiHMEAPSCBADYWQQAAAAAAIhzBAAdgwQAuFMEAAAAAACIcwQAQYMEAPhZBAAAAAAAiHMEAGqDBAC4UwQAAAAAAIhzBACOgwQAGFoEAAAAAACIcwQAt4MEALhTBAAAAAAAiHMEANuDBAA4WgQAAAAAAIhzBAAEhAQAuFMEAAAAAACIcwQAKIQEAFhaBAAAAAAAiHMEAEKEBAAYVAQAAAAAAIhzBAB2hAQAeFoEAAAAAACIcwQAkYQEABhUBAAAAAAAiHMEAMWEBACYWgQAAAAAAIhzBADghAQAGFQEAAAAAACIcwQAFIUEALhaBAAAAAAAiHMEAC+FBAAYVAQAAAAAAIhzBABjhQQA2FoEAAAAAACIcwQAfYUEABhUBAAAAAAAiHMEALGFBAD4WgQAAAAAAIhzBADKhQQAGFQEAAAAAACIcwQA/oUEABhbBAAAAAAAiHMEABmGBAAYVAQAAAAAAIhzBABchgQAQFsEAAAAAABgcwQATYYEAIhzBABxhgQAOFsEAAAAAACIcwQAnYYEAGBbBAAAAAAAiHMEALOGBAA4WwQAAAAAAIhzBADfhgQAgFsEAAAAAACIcwQA9YYEADhbBAAAAAAAiHMEACGHBACgWwQAAAAAAIhzBAA2hwQAOFsEAAAAAACIcwQAYocEAMBbBAAAAAAAiHMEAHaHBAA4WwQAAAAAAIhzBACihwQA4FsEAAAAAACIcwQAv4cEABhUBAAAAAAAiHMEABmIBAAAXAQAAAAAAGBzBAAyiAQAiHMEAHGPBAAgXAQAAAAAAGBzBAC/jgQAYHMEAFKQBACIcwQAMJIEAHBTBAAAAAAAiHMEAOeUBABQXAQAAAAAAGBzBACHlAQAYHMEAKiVBACIcwQAe5YEAFBcBAAAAAAAYHMEACOWBACIcwQAjpcEAHBTBAAAAAAAiHMEALKXBACQXAQAAAAAAGBzBADIlwQAiHMEAHecBABQXAQAAAAAAGBzBAAKnAQAiHMEAK+eBADIXAQAAAAAAGBzBAAzngQAYHMEAFafBACIcwQASaEEAIBTBAAAAAAAiHMEACa7BABwUwQAAAAAAIhzBAAMvAQAAF0EAAAAAACIcwQAI7wEABBdBAAAAAAAYHMEAE+8BACIcwQAX7wEAChdBAAAAAAAiHMEAHm8BAA4XQQAAAAAAGBzBACvvAQAiHMEAMW8BABQXQQAAAAAAIhzBAD6vAQAOF0EAAAAAACIcwQAML0EAHBdBAAAAAAAiHMEAGW9BAA4XQQAAAAAAIhzBAClvQQAkF0EAAAAAACIcwQAvr0EABBdBAAAAAAAiHMEAOq9BACwXQQAAAAAAIhzBAD8vQQAwF0EAAAAAABgcwQAJr4EAIhzBAA1vgQA2F0EAAAAAACIcwQAS74EAMBdBAAAAAAAiHMEAHW+BAD4XQQAAAAAAIhzBACmvgQAEF0EAAAAAACIcwQA0r4EABheBAAAAAAAiHMEAAW/BAAQXQQAAAAAAIhzBAAxvwQAOF4EAAAAAACIcwQAZ78EABBdBAAAAAAAiHMEAJS/BABYXgQAAAAAAIhzBADHvwQAEF0EAAAAAACIcwQA878EAHheBAAAAAAAiHMEACTABAAQXQQAAAAAAIhzBABQwAQAmF4EAAAAAACIcwQAgcAEABBdBAAAAAAAiHMEAK3ABAC4XgQAAAAAAIhzBADKwAQAEF0EAAAAAACIcwQA9sAEANheBAAAAAAAiHMEACnBBAAQXQQAAAAAAIhzBABVwQQA+F4EAAAAAACIcwQAiMEEABBdBAAAAAAAiHMEALTBBAAYXwQAAAAAAIhzBADqwQQAEF0EAAAAAACIcwQAlcIEAIBTBAAAAAAAiHMEAIAEBQAAXAQAAAAAAIhzBADgCgUAWF8EAAAAAACIcwQAjQoFAGhfBAAAAAAAYHMEAK4KBQCIcwQAuwoFAEhfBAAAAAAAiHMEAAILBQBIXwQAAAAAAAAAAABgUwQACwAAAAwAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAAAAAAAIhTBAANAAAADgAAAEgAAAALAAAASQAAAAsAAAALAAAADAAAAAwAAABKAAAASwAAAAsAAAANAAAATAAAAE0AAAALAAAADAAAAAsAAAANAAAADAAAAA4AAAAOAAAATgAAAE8AAAANAAAADwAAAFAAAABRAAAADAAAABAAAABSAAAAUwAAAA4AAAARAAAAVAAAAFUAAAANAAAAVgAAAFcAAABYAAAAEgAAAFkAAABaAAAACwAAABMAAABbAAAAXAAAABQAAABdAAAAXgAAAA8AAABfAAAADgAAAGAAAAAVAAAAYQAAAGIAAAAQAAAAEQAAABIAAABjAAAAEwAAAGQAAABlAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAZgAAAGcAAABoAAAAaQAAABQAAAAVAAAAagAAABUAAAAWAAAAawAAAGwAAAAXAAAAGAAAABkAAAAaAAAAbQAAABYAAABuAAAAbwAAAHAAAABxAAAAFwAAAHIAAAAWAAAAcwAAAHQAAAB1AAAAdgAAABsAAAB3AAAAHAAAAB0AAAB4AAAAHgAAAB8AAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAAgAAAAIQAAACIAAAAjAAAAJAAAAH8AAAAYAAAAJQAAABcAAACAAAAAgQAAAIIAAACDAAAAJgAAAIQAAAAnAAAAGAAAABkAAACFAAAAhgAAABkAAACHAAAAiAAAABoAAAAbAAAAiQAAACgAAACKAAAAiwAAABoAAACMAAAAjQAAABsAAACOAAAAKQAAAI8AAACQAAAAKgAAAJEAAAAcAAAAkgAAAB0AAACTAAAAHAAAAB4AAACUAAAAHQAAAB8AAAArAAAAlQAAAB4AAAAMAAAALAAAAJYAAAANAAAAlwAAAJgAAAAtAAAAmQAAAJoAAAAgAAAADQAAAA4AAAAPAAAAIQAAABAAAACbAAAAEQAAAJwAAAAfAAAALgAAAJ0AAACeAAAAIAAAAC8AAAAhAAAAIgAAACIAAAAjAAAAJAAAACMAAAAAAAAAmFMEAA8AAAAQAAAAAAAAANhTBAARAAAAEgAAAAAAAAD4UwQAEwAAABQAAAAAAAAAOFQEABUAAAAWAAAAAAAAAFhUBAAXAAAAGAAAAAAAAAB4VAQADwAAABkAAAAAAAAAmFQEAA8AAAAaAAAAAAAAALhUBAAPAAAAGwAAAAAAAADIVAQADwAAABwAAAAAAAAA6FQEAA8AAAAdAAAAAAAAAAhVBAAeAAAAHwAAAAAAAAAoVQQAIAAAACEAAAAAAAAASFUEAA8AAAAiAAAAAAAAAGhVBAAPAAAAIwAAAAAAAAB4VQQAJAAAACUAAAAAAAAAmFUEACYAAAAnAAAAAAAAALhVBAAPAAAAKAAAAAAAAADIVQQADwAAACkAAAAAAAAA2FUEAA8AAAAqAAAAAAAAAOhVBAAPAAAAKwAAAAAAAAD4VQQADwAAACwAAAAAAAAACFYEAC0AAAAuAAAAAAAAAChWBAAvAAAAMAAAAAAAAABIVgQAMQAAADIAAAAAAAAAaFYEADMAAAA0AAAAAAAAAIhWBAA1AAAANgAAAAAAAACoVgQANwAAADgAAAAAAAAAyFYEAA8AAAA5AAAAAAAAANhWBAAPAAAAOgAAAAAAAADoVgQAOwAAADwAAAAAAAAACFcEAA8AAAA9AAAAAAAAABhXBAAPAAAAPgAAAAAAAAAoVwQAPwAAAEAAAAAAAAAASFcEAA8AAABBAAAAAAAAAFhXBABCAAAAQwAAAAAAAAB4VwQARAAAAEUAAAAAAAAAmFcEAEYAAABHAAAAAAAAALhXBABIAAAASQAAAAAAAADYVwQADwAAAEoAAAAAAAAA+FcEAEsAAABMAAAAAAAAABhYBABNAAAATgAAAAAAAAA4WAQADwAAAE8AAAAAAAAASFgEAA8AAABQAAAAAAAAAGhYBAAPAAAAUQAAAAAAAACIWAQAUgAAAFMAAAAAAAAAqFgEAFQAAABVAAAAAAAAAMhYBABWAAAAVwAAAAAAAADoWAQAWAAAAFkAAAAAAAAACFkEAFoAAABbAAAAAAAAAChZBABcAAAAXQAAAAAAAABIWQQAXgAAAF8AAAAAAAAAaFkEAA8AAABgAAAAAAAAAIhZBAAPAAAAYQAAAAAAAACoWQQADwAAAGIAAAAAAAAAyFkEAA8AAABjAAAAAAAAAOhZBAAPAAAAZAAAAAAAAAAIWgQADwAAAGUAAAAAAAAAKFoEAA8AAABmAAAAAAAAAEhaBABnAAAAaAAAAAAAAABoWgQAaQAAAGoAAAAAAAAAiFoEAGsAAABsAAAAAAAAAKhaBABtAAAAbgAAAAAAAADIWgQAbwAAAHAAAAAAAAAA6FoEAHEAAAByAAAAAAAAAChbBABzAAAAdAAAAAAAAAAIWwQAdQAAAHYAAAAAAAAAOFsEAHcAAAB4AAAAAAAAAFBbBAB5AAAAegAAAAAAAABwWwQAewAAAHwAAAAAAAAAkFsEAH0AAAB+AAAAAAAAALBbBAB/AAAAgAAAAAAAAADQWwQAgQAAAIIAAAAAAAAACFwEAIMAAACEAAAAMAAAAAwAAACFAAAAhgAAAJ8AAACgAAAAMQAAAAAAAAAoXAQAhwAAAIgAAAALAAAAoQAAAKIAAACjAAAApAAAAKUAAACmAAAApwAAAKgAAAAUAAAAFQAAABYAAAAXAAAAqQAAAKoAAACrAAAAGwAAAKwAAAAdAAAArQAAAK4AAACvAAAAsAAAALEAAAAjAAAAsgAAACUAAAAmAAAAswAAACgAAAApAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAMAAAADEAAAAyAAAAMwAAALoAAAC7AAAANgAAADcAAAA4AAAAOQAAALwAAAA7AAAAvQAAAL4AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAAAAAAAHBcBACJAAAAigAAAAsAAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAABQAAAAVAAAAFgAAABcAAADHAAAAyAAAAMkAAAAbAAAAygAAAB0AAADLAAAAzAAAAM0AAADOAAAAzwAAACMAAADQAAAAJQAAACYAAADRAAAAKAAAACkAAADSAAAA0wAAANQAAADVAAAA1gAAANcAAAAwAAAAMQAAADIAAAAzAAAA2AAAANkAAAA2AAAANwAAADgAAAA5AAAA2gAAADsAAADbAAAA3AAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAAAAAAAAWFwEAIsAAACMAAAAMgAAAA0AAACNAAAAjgAAAAsAAADdAAAAMwAAAAAAAAA4XAQAiwAAAI8AAAA0AAAADgAAAJAAAACRAAAADAAAAN4AAAA1AAAAAAAAAIBcBACSAAAAkwAAACQAAAAlAAAAAAAAANBcBACUAAAAlQAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAAEQEAABIBAAATAQAAFAEAABUBAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAAAAAAsFwEAJYAAACXAAAANgAAAA8AAACYAAAAmQAAABAAAAAcAQAANwAAAAAAAACYXAQAiwAAAJoAAAA4AAAAEQAAAJsAAACcAAAADQAAAB0BAAA5AAAAAAAAAOBcBACdAAAAngAAAAsAAAAeAQAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAHwEAABQAAAAVAAAAFgAAABcAAACpAAAAqgAAACABAAAbAAAArAAAAB0AAACtAAAArgAAAK8AAAAhAQAAsQAAACMAAACyAAAAJQAAACYAAACzAAAAKAAAACkAAAC0AAAAtQAAALYAAAC3AAAAuAAAALkAAAAwAAAAMQAAADIAAAAzAAAAugAAACIBAAA2AAAANwAAADgAAAA5AAAAIwEAADsAAAC9AAAAvgAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAAAAAAAA8FwEAJ8AAACgAAAAAAAAAGBdBAChAAAAogAAADoAAAAAAAAAQF0EAKMAAACkAAAAOwAAAAAAAAAYXQQApQAAAKYAAAA8AAAAAAAAAOhdBACnAAAAqAAAAAAAAACAXQQAqQAAAKoAAAAAAAAAwF0EAKsAAACsAAAAAAAAAMhdBACtAAAArgAAAAAAAACgXQQAqwAAAK8AAAAAAAAACF4EALAAAACxAAAAAAAAAEheBACyAAAAswAAAAAAAAAoXgQAtAAAALUAAAAAAAAAaF4EALYAAAC3AAAAAAAAAIheBAC4AAAAuQAAAAAAAACoXgQAugAAALsAAAAAAAAAyF4EALwAAAC9AAAAAAAAAOheBAC+AAAAvwAAAAAAAAAIXwQAwAAAAMEAAAAAAAAAKF8EAJ0AAADCAAAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAACsBAAAsAQAALQEAAC4BAAAvAQAAMAEAADEBAAAyAQAAMwEAADQBAAA1AQAANgEAADcBAAA4AQAAOQEAADoBAAA7AQAAPAEAAD0BAAA+AQAAPwEAAEABAABBAQAAQgEAAEMBAABEAQAARQEAAEYBAABHAQAASAEAAEkBAABKAQAASwEAAEwBAABNAQAATgEAAE8BAABQAQAAUQEAAFIBAABTAQAAVAEAAFUBAABWAQAAVwEAAFgBAABZAQAAWgEAAFsBAABcAQAAXQEAAF4BAABfAQAAYAEAAAAAAAA4XwQAwwAAAMQAAABhAQAAEgAAAGIBAAA9AAAAJQAAACYAAAA+AAAAYwEAAGQBAAAPAAAAPwAAAGUBAABmAQAAJgAAABAAAAAOAAAAEQAAAA8AAAASAAAAQAAAAGcBAABoAQAAJwAAAEEAAABpAQAAagEAACcAAABCAAAAawEAAGwBAAAoAAAAQwAAAG0BAABuAQAAKAAAAG8BAABwAQAAcQEAAEQAAAByAQAAcwEAABIAAABFAAAAdAEAAHUBAABGAAAAdgEAAHcBAAApAAAAeAEAACkAAAB5AQAARwAAAHoBAAB7AQAAKgAAACsAAAAsAAAAfAEAAC0AAAB9AQAAfgEAACoAAAArAAAALAAAAC0AAAAuAAAALwAAAH8BAACAAQAAgQEAAIIBAAAuAAAAMAAAAIMBAAAvAAAASAAAAIQBAACFAQAASQAAAEoAAABLAAAATAAAAIYBAAAwAAAAhwEAAIgBAACJAQAAigEAADEAAACLAQAAMQAAAIwBAACNAQAAjgEAAI8BAABNAAAAkAEAAE4AAABPAAAAkQEAAFAAAABRAAAAkgEAAJMBAACUAQAAlQEAAJYBAACXAQAAUgAAAFMAAABUAAAAVQAAAFYAAACYAQAAMgAAAFcAAAAyAAAAmQEAAJoBAACbAQAAnAEAAFgAAACdAQAAWQAAADMAAAAzAAAAngEAAJ8BAAA0AAAAoAEAAKEBAAA0AAAANQAAAKIBAABaAAAAowEAAKQBAAA1AAAApQEAAKYBAAA2AAAApwEAAFsAAACoAQAAqQEAAFwAAACqAQAANwAAAKsBAAA4AAAArAEAADYAAAA5AAAArQEAADcAAAA6AAAAXQAAAK4BAAA4AAAAEwAAAF4AAACvAQAAFAAAALABAACxAQAAXwAAALIBAACzAQAAOwAAABAAAAAVAAAAFgAAADwAAAAXAAAAtAEAABgAAAC1AQAAOQAAAGAAAAC2AQAAtwEAADoAAABhAAAAOwAAAD0AAAA8AAAAPQAAAD4AAAA+AAAABQAAAAAAAAAAAAAAYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAEAAAADdXgUAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfcIkA/wkvDwAAAABIXwQAxQAAAMYAAADHAAAAyAAAAEIAAAALAAAACwAAAAsAAAAAAAAAcF8EAMUAAADJAAAAxwAAAMgAAABCAAAADAAAAAwAAAAMAAAAAAAAAIBfBADFAAAAygAAAMcAAADIAAAAQgAAAA0AAAANAAAADQAAADxiaW5hcnk+AE40d2FidDEyX0dMT0JBTF9fTl8xMTFOYW1lQXBwbGllckUATjR3YWJ0MTFFeHByVmlzaXRvcjExRGVsZWdhdGVOb3BFAE40d2FidDExRXhwclZpc2l0b3I4RGVsZWdhdGVFAE40d2FidDlDb25zdEV4cHJFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxNUVFRQBONHdhYnQ0RXhwckUATjR3YWJ0MTlpbnRydXNpdmVfbGlzdF9iYXNlSU5TXzRFeHByRUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFMThFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTE4RUVFAE40d2FidDE2RXZlbnRNb2R1bGVGaWVsZEUATjR3YWJ0MTZNb2R1bGVGaWVsZE1peGluSUxOU18xNU1vZHVsZUZpZWxkVHlwZUUxMEVFRQBONHdhYnQxMU1vZHVsZUZpZWxkRQBONHdhYnQxOWludHJ1c2l2ZV9saXN0X2Jhc2VJTlNfMTFNb2R1bGVGaWVsZEVFRQBleHBlY3RlZCBsb2NhbCBuYW1lIGNvdW50ICgldSkgPD0gbG9jYWwgY291bnQgKCV1KQBleHBlY3RlZCBmdW5jdGlvbiBuYW1lIGNvdW50ICgldSkgPD0gZnVuY3Rpb24gY291bnQgKCV6ZCkATjR3YWJ0MjJEYXRhU2VnbWVudE1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRThFRUUATjR3YWJ0MjJFbGVtU2VnbWVudE1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTZFRUUAYWNjZXNzaW5nIHN0YWNrIGRlcHRoOiAldSA+PSBtYXg6ICV6ZABONHdhYnQxN1NpbWRTaHVmZmxlT3BFeHByRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDFFRUUATjR3YWJ0MTRTaW1kTGFuZU9wRXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTQwRUVFAHBvcHBpbmcgZW1wdHkgbGFiZWwgc3RhY2sATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTU0RUVFAE40d2FidDEwT3Bjb2RlRXhwcklMTlNfOEV4cHJUeXBlRTUwRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU1MEVFRQBONHdhYnQxME9wY29kZUV4cHJJTE5TXzhFeHByVHlwZUU1M0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNTNFRUUATjR3YWJ0N1RyeUV4cHJFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU1MkVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTUxRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU1MUVFRQBONHdhYnQxM0xvYWRTdG9yZUV4cHJJTE5TXzhFeHByVHlwZUU0MkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDJFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTM5RUVFAE40d2FidDIyUmV0dXJuQ2FsbEluZGlyZWN0RXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTM4RUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFMzdFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTM3RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzNkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMzVFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTMyRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzM0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMzRFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0OEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDhFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0N0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDdFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0OUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDlFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0NkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDZFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0NUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDVFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0NEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDRFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTQzRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzMUVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTMwRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzMEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjlFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTI4RUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFMjdFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTI3RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUyNkVFRQBONHdhYnQxM0Jsb2NrRXhwckJhc2VJTE5TXzhFeHByVHlwZUUyNUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjVFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUyNEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjRFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUyM0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjNFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUyMkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjJFRUUATjR3YWJ0MTNMb2FkU3RvcmVFeHBySUxOU184RXhwclR5cGVFMjFFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTIxRUVFAE40d2FidDZJZkV4cHJFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUyMEVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTE5RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxOUVFRQBlbHNlIGV4cHJlc3Npb24gd2l0aG91dCBtYXRjaGluZyBpZgBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMTdFRUUATjR3YWJ0MTBPcGNvZGVFeHBySUxOU184RXhwclR5cGVFMTZFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTE2RUVFAE40d2FidDEwT3Bjb2RlRXhwcklMTlNfOEV4cHJUeXBlRTE0RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxNEVFRQBjYXRjaCBleHByZXNzaW9uIHdpdGhvdXQgbWF0Y2hpbmcgdHJ5AE40d2FidDE2Q2FsbEluZGlyZWN0RXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTEzRUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFMTJFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTEyRUVFAE40d2FidDExQnJUYWJsZUV4cHJFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxMUVFRQBONHdhYnQxMUJyT25FeG5FeHByRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMTBFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU5RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU5RUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFOEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFOEVFRQBONHdhYnQxM0Jsb2NrRXhwckJhc2VJTE5TXzhFeHByVHlwZUU3RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU3RUVFAE40d2FidDEwT3Bjb2RlRXhwcklMTlNfOEV4cHJUeXBlRTZFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTZFRUUATjR3YWJ0MTNMb2FkU3RvcmVFeHBySUxOU184RXhwclR5cGVFNEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNEVFRQBONHdhYnQxM0xvYWRTdG9yZUV4cHJJTE5TXzhFeHByVHlwZUU1RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU1RUVFAE40d2FidDEzTG9hZFN0b3JlRXhwcklMTlNfOEV4cHJUeXBlRTJFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTJFRUUATjR3YWJ0MTNMb2FkU3RvcmVFeHBySUxOU184RXhwclR5cGVFMUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMUVFRQBONHdhYnQxM0xvYWRTdG9yZUV4cHJJTE5TXzhFeHByVHlwZUUzRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzRUVFAE40d2FidDEzTG9hZFN0b3JlRXhwcklMTlNfOEV4cHJUeXBlRTBFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTBFRUUATjR3YWJ0MTZTdGFydE1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTlFRUUATjR3YWJ0MTdFeHBvcnRNb2R1bGVGaWVsZEUATjR3YWJ0MTZNb2R1bGVGaWVsZE1peGluSUxOU18xNU1vZHVsZUZpZWxkVHlwZUUzRUVFAE40d2FidDE3R2xvYmFsTW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFMUVFRQBONHdhYnQxN01lbW9yeU1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTdFRUUATjR3YWJ0MTZUYWJsZU1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTVFRUUATjR3YWJ0MTVGdW5jTW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFMEVFRQBONHdhYnQxN0ltcG9ydE1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTJFRUUATjR3YWJ0NkltcG9ydEUATjR3YWJ0MTFFdmVudEltcG9ydEUATjR3YWJ0MTFJbXBvcnRNaXhpbklMTlNfMTJFeHRlcm5hbEtpbmRFNEVFRQBONHdhYnQxMkdsb2JhbEltcG9ydEUATjR3YWJ0MTFJbXBvcnRNaXhpbklMTlNfMTJFeHRlcm5hbEtpbmRFM0VFRQBONHdhYnQxMk1lbW9yeUltcG9ydEUATjR3YWJ0MTFJbXBvcnRNaXhpbklMTlNfMTJFeHRlcm5hbEtpbmRFMkVFRQBONHdhYnQxMVRhYmxlSW1wb3J0RQBONHdhYnQxMUltcG9ydE1peGluSUxOU18xMkV4dGVybmFsS2luZEUxRUVFAE40d2FidDEwRnVuY0ltcG9ydEUATjR3YWJ0MTFJbXBvcnRNaXhpbklMTlNfMTJFeHRlcm5hbEtpbmRFMEVFRQBONHdhYnQxOUZ1bmNUeXBlTW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFNEVFRQBONHdhYnQxMl9HTE9CQUxfX05fMTE0QmluYXJ5UmVhZGVySVJFAE40d2FidDE1QmluYXJ5UmVhZGVyTm9wRQBONHdhYnQyMEJpbmFyeVJlYWRlckRlbGVnYXRlRQBwcmVmaXgAbGltaXRzOiBmbGFncwBsaW1pdHM6IGluaXRpYWwAbGltaXRzOiBtYXgAV0FTTV9CSU5BUllfTUFHSUMAV0FTTV9CSU5BUllfVkVSU0lPTgBudW0gdHlwZXMARklYVVAgc2VjdGlvbiBzaXplADsgJXMgJWQKAG51bSBwYXJhbXMAbnVtIHJlc3VsdHMAbnVtIGltcG9ydHMAaW1wb3J0IGhlYWRlcgBudW0gZnVuY3Rpb25zAGZ1bmN0aW9uICV6ZCBzaWduYXR1cmUgaW5kZXgAbnVtIHRhYmxlcwBudW0gbWVtb3JpZXMAbnVtIGdsb2JhbHMAbnVtIGV4cG9ydHMAZXhwb3J0IG5hbWUAZXhwb3J0IGZ1bmMgaW5kZXgAZXhwb3J0IHRhYmxlIGluZGV4AGV4cG9ydCBtZW1vcnkgaW5kZXgAZXhwb3J0IGdsb2JhbCBpbmRleABleHBvcnQgZXZlbnQgaW5kZXgAc3RhcnQgZnVuYyBpbmRleABudW0gZWxlbSBzZWdtZW50cwBlbGVtIHNlZ21lbnQgaGVhZGVyAG51bSBmdW5jdGlvbiBpbmRpY2VzAGZ1bmN0aW9uIGJvZHkAZnVuYyBib2R5IHNpemUgKGd1ZXNzKQBsb2NhbCBkZWNsIGNvdW50AEZJWFVQIGZ1bmMgYm9keSBzaXplAG51bSBkYXRhIHNlZ21lbnRzAGRhdGEgc2VnbWVudCBoZWFkZXIAZGF0YSBzZWdtZW50IHNpemUAbW9kdWxlIG5hbWUgdHlwZQBzdWJzZWN0aW9uIHNpemUgKGd1ZXNzKQBGSVhVUCBzdWJzZWN0aW9uIHNpemUAZnVuY3Rpb24gbmFtZSB0eXBlAGZ1bmMgbmFtZSAlemQAbG9jYWwgbmFtZSB0eXBlAG51bSBsb2NhbHMAbG9jYWwgbmFtZSAlemQAbG9jYWwgaW5kZXgAbWV0YWRhdGEgdmVyc2lvbgBzeW1ib2wgdGFibGUAbnVtIHN5bWJvbHMAc3ltYm9sIHR5cGUAc3ltYm9sIGZsYWdzAGVsZW1lbnQgaW5kZXgAZ2xvYmFsIG5hbWUAJXMuJXMAcmVsb2Mgc2VjdGlvbiBpbmRleABudW0gcmVsb2NzAHJlbG9jIHR5cGUAcmVsb2Mgb2Zmc2V0AHJlbG9jIGluZGV4AHJlbG9jIGFkZGVuZABzZWN0aW9uICIlcyIAOyAlcwoAc2VjdGlvbiBzaXplIChndWVzcykAY3VzdG9tIHNlY3Rpb24gbmFtZQBhbGlnbm1lbnQAYnJlYWsgZGVwdGgAbnVtIHRhcmdldHMAYnJlYWsgZGVwdGggZm9yIGRlZmF1bHQAc2lnbmF0dXJlIGluZGV4AGkzMiBsaXRlcmFsAGk2NCBsaXRlcmFsAGYzMiBsaXRlcmFsAGY2NCBsaXRlcmFsAHYxMjggbGl0ZXJhbABnbG9iYWwgaW5kZXgAbWVtb3J5LmNvcHkgcmVzZXJ2ZWQAZGF0YS5kcm9wIHNlZ21lbnQAbWVtb3J5LmZpbGwgcmVzZXJ2ZWQAbWVtb3J5LmluaXQgc2VnbWVudABtZW1vcnkuaW5pdCByZXNlcnZlZAB0YWJsZS5jb3B5IHJlc2VydmVkAGVsZW0uZHJvcCBzZWdtZW50AHRhYmxlLmluaXQgc2VnbWVudAB0YWJsZS5pbml0IHJlc2VydmVkAHRhYmxlLmdldCB0YWJsZSBpbmRleAB0YWJsZS5zZXQgdGFibGUgaW5kZXgAdGFibGUuZ3JvdyB0YWJsZSBpbmRleAB0YWJsZS5zaXplIHRhYmxlIGluZGV4AHRocm93IGV2ZW50AFNpbWQgTGFuZSBsaXRlcmFsAFNpbWQgTGFuZVsxNl0gbGl0ZXJhbABibG9jayB0eXBlIGZ1bmN0aW9uIGluZGV4AHNlY3Rpb24gIiVzIiAoJXUpAHsic291cmNlX2ZpbGVuYW1lIjogACwKICJjb21tYW5kcyI6IFsKAAoAICB7ACIlcyI6IAAiJXMiAGxpbmUAZmlsZW5hbWUAZXhwZWN0ZWQAIiV1IgBhcwB0ZXh0AH0AXX0KAHsAdmFsdWUAIiVsbHUiAG1vZHVsZV90eXBlAGZpZWxkAGFyZ3MAYXNzZXJ0X3VuaW5zdGFudGlhYmxlAFx1JTA0eABaTjR3YWJ0MjFXcml0ZUJpbmFyeVNwZWNTY3JpcHRFUE5TXzZTdHJlYW1FUE5TXzZTY3JpcHRFTlNfMTFzdHJpbmdfdmlld0VTNF9SS05TXzE4V3JpdGVCaW5hcnlPcHRpb25zRVBOU3QzX18yNnZlY3RvcklOU18yNEZpbGVuYW1lTWVtb3J5U3RyZWFtUGFpckVOUzhfOWFsbG9jYXRvcklTQV9FRUVFUzFfRTMkXzAATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk40d2FidDIxV3JpdGVCaW5hcnlTcGVjU2NyaXB0RVBOUzJfNlN0cmVhbUVQTlMyXzZTY3JpcHRFTlMyXzExc3RyaW5nX3ZpZXdFUzdfUktOUzJfMThXcml0ZUJpbmFyeU9wdGlvbnNFUE5TXzZ2ZWN0b3JJTlMyXzI0RmlsZW5hbWVNZW1vcnlTdHJlYW1QYWlyRU5TXzlhbGxvY2F0b3JJU0NfRUVFRVM0X0UzJF8wTlNEX0lTSF9FRUZTNF9TN19FRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRlBONHdhYnQ2U3RyZWFtRU5TMl8xMXN0cmluZ192aWV3RUVFRQBGT1JDRV9DT0xPUgBSX1dBU01fRlVOQ1RJT05fSU5ERVhfTEVCAFJfV0FTTV9UQUJMRV9JTkRFWF9TTEVCAFJfV0FTTV9UQUJMRV9JTkRFWF9JMzIAUl9XQVNNX01FTU9SWV9BRERSX0xFQgBSX1dBU01fTUVNT1JZX0FERFJfU0xFQgBSX1dBU01fTUVNT1JZX0FERFJfSTMyAFJfV0FTTV9UWVBFX0lOREVYX0xFQgBSX1dBU01fR0xPQkFMX0lOREVYX0xFQgBSX1dBU01fRlVOQ1RJT05fT0ZGU0VUX0kzMgBSX1dBU01fU0VDVElPTl9PRkZTRVRfSTMyAFJfV0FTTV9FVkVOVF9JTkRFWF9MRUIAUl9XQVNNX01FTU9SWV9BRERSX1JFTF9TTEVCAFJfV0FTTV9UQUJMRV9JTkRFWF9SRUxfU0xFQgAbWzFtACVkOiVkOiAAG1szMW0AOiAAG1swbQAbWzMybQAud2FzbQAud2F0ACRnACR0ACRmACRUACRNACRlACRkACRwACRsACRMACRJACRCAE40d2FidDEyX0dMT0JBTF9fTl8xMTNOYW1lR2VuZXJhdG9yRQBBdG9taWNMb2FkAEF0b21pY1JtdwBBdG9taWNSbXdDbXB4Y2hnAEF0b21pY1N0b3JlAEF0b21pY05vdGlmeQBBdG9taWNXYWl0AEJpbmFyeQBCbG9jawBCcgBCcklmAEJyT25FeG4AQnJUYWJsZQBDYWxsAENhbGxJbmRpcmVjdABDb21wYXJlAENvbnN0AENvbnZlcnQARHJvcABHbG9iYWxHZXQAR2xvYmFsU2V0AElmAExvYWQATG9jYWxHZXQATG9jYWxTZXQATG9jYWxUZWUATG9vcABNZW1vcnlDb3B5AERhdGFEcm9wAE1lbW9yeUZpbGwATWVtb3J5R3JvdwBNZW1vcnlJbml0AE1lbW9yeVNpemUATm9wAFJlZklzTnVsbABSZWZOdWxsAFJldGhyb3cAUmV0dXJuAFJldHVybkNhbGwAUmV0dXJuQ2FsbEluZGlyZWN0AFNlbGVjdABTaW1kTGFuZU9wAFNpbWRTaHVmZmxlT3AAU3RvcmUAVGFibGVDb3B5AEVsZW1Ecm9wAFRhYmxlSW5pdABUYWJsZUdldABUYWJsZUdyb3cAVGFibGVTaXplAFRhYmxlU2V0AFRlcm5hcnkAVGhyb3cAVHJ5AFVuYXJ5AFVucmVhY2hhYmxlAGFsbG9jYQBicl91bmxlc3MAY2FsbF9ob3N0AGRyb3Bfa2VlcAA8aW52YWxpZD4AdW5kZWZpbmVkICVzIHZhcmlhYmxlICIlcyIAWk40d2FidDEyX0dMT0JBTF9fTl8xMTJOYW1lUmVzb2x2ZXI5VmlzaXRGdW5jRVBOU180RnVuY0VFMyRfMQBwYXJhbWV0ZXIAcmVkZWZpbml0aW9uIG9mICVzICIlcyIATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk40d2FidDEyX0dMT0JBTF9fTl8xMTJOYW1lUmVzb2x2ZXI5VmlzaXRGdW5jRVBOUzJfNEZ1bmNFRTMkXzFOU185YWxsb2NhdG9ySVM3X0VFRnZSS05TXzRwYWlySUtOU18xMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOUzhfSWNFRUVFTlMyXzdCaW5kaW5nRUVFU0tfRUVFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UktOU180cGFpcklLTlNfMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRU40d2FidDdCaW5kaW5nRUVFU0VfRUVFAFpONHdhYnQxMl9HTE9CQUxfX05fMTEyTmFtZVJlc29sdmVyMjJDaGVja0R1cGxpY2F0ZUJpbmRpbmdzRVBLTlNfMTFCaW5kaW5nSGFzaEVQS2NFMyRfMABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjR3YWJ0MTJfR0xPQkFMX19OXzExMk5hbWVSZXNvbHZlcjIyQ2hlY2tEdXBsaWNhdGVCaW5kaW5nc0VQS05TMl8xMUJpbmRpbmdIYXNoRVBLY0UzJF8wTlNfOWFsbG9jYXRvcklTQV9FRUZ2UktOU180cGFpcklLTlNfMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNCX0ljRUVFRU5TMl83QmluZGluZ0VFRVNOX0VFRQBlbGVtIHNlZ21lbnQAZGF0YSBzZWdtZW50AHVuZGVmaW5lZCBsYWJlbCB2YXJpYWJsZSAiJXMiAE40d2FidDEyX0dMT0JBTF9fTl8xMTJOYW1lUmVzb2x2ZXJFAE40d2FidDEyTWVtb3J5U3RyZWFtRQBONHdhYnQ2U3RyZWFtRQAlMDd6eDogACUwMngAICA7ICVzADsgbW92ZSBkYXRhOiBbJXp4LCAlengpIC0+IFslengsICV6eCkKAGFjdGlvbgBleHBlY3RlZCAxIHJlc3VsdCwgZ290ICV6ZAB0eXBlIG1pc21hdGNoIGF0ICVzLiBnb3QgJXMsIGV4cGVjdGVkIGYzMiBvciBmNjQAdHlwZSBtaXNtYXRjaCBmb3IgJXMgJXUgb2YgJXMuIGdvdCAlcywgZXhwZWN0ZWQgJXMAZXhwZWN0ZWQgJXpkIHJlc3VsdHMsIGdvdCAlemQAdW5rbm93biBtb2R1bGUAdW5rbm93biBmdW5jdGlvbiBleHBvcnQgIiVzIgBtYW55AGZldwB0b28gJXMgcGFyYW1ldGVycyB0byBmdW5jdGlvbi4gZ290ICV6ZCwgZXhwZWN0ZWQgJXpkAGFyZ3VtZW50AHVua25vd24gZ2xvYmFsIGV4cG9ydCAiJXMiACVzIHZhcmlhYmxlIG91dCBvZiByYW5nZSAobWF4ICV1KQBlbGVtIHNlZ21lbnQgb2Zmc2V0AGRhdGEgc2VnbWVudCBvZmZzZXQAZnVuY3Rpb24gdHlwZQBFdmVudCBzaWduYXR1cmUgbXVzdCBoYXZlIDAgcmVzdWx0cy4AbXVsdGlwbGUgcmVzdWx0IHZhbHVlcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZC4AZ2xvYmFsIGluaXRpYWxpemVyIGV4cHJlc3Npb24AbXV0YWJsZSBnbG9iYWxzIGNhbm5vdCBiZSBpbXBvcnRlZABtdXRhYmxlIGdsb2JhbHMgY2Fubm90IGJlIGV4cG9ydGVkAG9ubHkgb25lIHN0YXJ0IGZ1bmN0aW9uIGFsbG93ZWQAc3RhcnQgZnVuY3Rpb24gbXVzdCBiZSBudWxsYXJ5AHN0YXJ0IGZ1bmN0aW9uIG11c3Qgbm90IHJldHVybiBhbnl0aGluZwBvbmx5IG9uZSBtZW1vcnkgYmxvY2sgYWxsb3dlZABwYWdlcwBpbml0aWFsICVzICglbGx1KSBtdXN0IGJlIDw9ICglbGx1KQBtYXggJXMgKCVsbHUpIG11c3QgYmUgPD0gKCVsbHUpAG1heCAlcyAoJWxsdSkgbXVzdCBiZSA+PSBpbml0aWFsICVzICglbGx1KQBtZW1vcmllcyBtYXkgbm90IGJlIHNoYXJlZABzaGFyZWQgbWVtb3JpZXMgbXVzdCBoYXZlIG1heCBzaXplcwBvbmx5IG9uZSB0YWJsZSBhbGxvd2VkAGVsZW1zAHRhYmxlcyBtdXN0IGhhdmUgYW55cmVmIHR5cGUAdGFibGVzIG11c3QgaGF2ZSBhbnlyZWYgb3IgZnVuY3JlZiB0eXBlAGV4cGVjdGVkICV6ZCAlc3MsIGdvdCAlemQAWk40d2FidDEyX0dMT0JBTF9fTl8xOVZhbGlkYXRvcjI4Q2hlY2tEdXBsaWNhdGVFeHBvcnRCaW5kaW5nc0VQS05TXzZNb2R1bGVFRTMkXzEAcmVkZWZpbml0aW9uIG9mIGV4cG9ydCAiJXMiAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpONHdhYnQxMl9HTE9CQUxfX05fMTlWYWxpZGF0b3IyOENoZWNrRHVwbGljYXRlRXhwb3J0QmluZGluZ3NFUEtOUzJfNk1vZHVsZUVFMyRfMU5TXzlhbGxvY2F0b3JJUzhfRUVGdlJLTlNfNHBhaXJJS05TXzEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TOV9JY0VFRUVOUzJfN0JpbmRpbmdFRUVTTF9FRUUAaW52YWxpZCAlcywgbXVzdCBiZSBhIGNvbnN0YW50IGV4cHJlc3Npb247IGVpdGhlciAqLmNvbnN0IG9yIGdsb2JhbC5nZXQuAGluaXRpYWxpemVyIGV4cHJlc3Npb24gY2FuIG9ubHkgcmVmZXJlbmNlIGFuIGltcG9ydGVkIGdsb2JhbABpbml0aWFsaXplciBleHByZXNzaW9uIGNhbm5vdCByZWZlcmVuY2UgYSBtdXRhYmxlIGdsb2JhbAB0eXBlIG1pc21hdGNoIGF0ICVzLiBnb3QgJXMsIGV4cGVjdGVkICVzAFpONHdhYnQxMl9HTE9CQUxfX05fMTlWYWxpZGF0b3JDMUVQTlN0M19fMjZ2ZWN0b3JJTlNfNUVycm9yRU5TMl85YWxsb2NhdG9ySVM0X0VFRUVQS05TXzZTY3JpcHRFUktOU18xNVZhbGlkYXRlT3B0aW9uc0VFMyRfMABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjR3YWJ0MTJfR0xPQkFMX19OXzE5VmFsaWRhdG9yQzFFUE5TXzZ2ZWN0b3JJTlMyXzVFcnJvckVOU185YWxsb2NhdG9ySVM2X0VFRUVQS05TMl82U2NyaXB0RVJLTlMyXzE1VmFsaWRhdGVPcHRpb25zRUUzJF8wTlM3X0lTSF9FRUZ2UEtjRUVFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UEtjRUVFACVzIHJlcXVpcmVzIGFuIGltcG9ydGVkIG9yIGRlZmluZWQgbWVtb3J5LgAlcyByZXF1aXJlcyBtZW1vcnkgdG8gYmUgc2hhcmVkLgBhbGlnbm1lbnQgbXVzdCBiZSBlcXVhbCB0byBuYXR1cmFsIGFsaWdubWVudCAoJXUpACVzIHBhcmFtcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZC4AbXVsdGlwbGUgJXMgcmVzdWx0cyBub3QgY3VycmVudGx5IHN1cHBvcnRlZC4AYWxpZ25tZW50IG11c3Qgbm90IGJlIGxhcmdlciB0aGFuIG5hdHVyYWwgYWxpZ25tZW50ICgldSkAJXMgcmVxdWlyZXMgdGFibGUgJWQgdG8gYmUgYW4gaW1wb3J0ZWQgb3IgZGVmaW5lZCB0YWJsZS4AZWxlbV9zZWdtZW50AGRhdGFfc2VnbWVudAB1bmRlZmluZWQgbG9jYWwgdmFyaWFibGUgIiVzIgBsb2NhbCB2YXJpYWJsZSBvdXQgb2YgcmFuZ2UgKG1heCAldSkAY2FuJ3QgZ2xvYmFsLnNldCBvbiBpbW11dGFibGUgZ2xvYmFsIGF0IGluZGV4ICV1LgBONHdhYnQxMl9HTE9CQUxfX05fMTlWYWxpZGF0b3JFAHVuZXhwZWN0ZWQgY2hhcgBFT0YgaW4gYmxvY2sgY29tbWVudABmNjQubHQAZjMyLmx0AGY2NC5sZQBmMzIubGUAaTY0Lmx0X3MAaTMyLmx0X3MAaTY0Lmx0X3UAaTMyLmx0X3UAaTY0LmxlX3MAaTMyLmxlX3MAaTY0LmxlX3UAaTMyLmxlX3UAaTY0LnJlbV9zAGkzMi5yZW1fcwBpNjQucmVtX3UAaTMyLnJlbV91AGY2NC5hYnMAZjMyLmFicwBmNjQuc3ViAGYzMi5zdWIAaTY0LnN1YgBpMzIuc3ViAGY2NC5hZGQAZjMyLmFkZABpNjQuYWRkAGkzMi5hZGQAZjY0Lm5lAGYzMi5uZQBpNjQubmUAaTMyLm5lAGk2NC5hbmQAaTMyLmFuZABmNjQubWluAGYzMi5taW4AaTY0LmN0egBpMzIuY3R6AGY2NC5jb25zdABmMzIuY29uc3QAaTY0LmNvbnN0AGkzMi5jb25zdABmNjQubG9hZABmMzIubG9hZABpNjQubG9hZABpMzIubG9hZABmNjQubXVsAGYzMi5tdWwAaTY0Lm11bABpMzIubXVsAGY2NC5jZWlsAGYzMi5jZWlsAGY2NC5zdG9yZQBmMzIuc3RvcmUAaTY0LnN0b3JlAGkzMi5zdG9yZQBpNjQuc3RvcmUzMgBpNjQuY2x6AGkzMi5jbHoAaTY0LnJvdHIAaTMyLnJvdHIAZjY0eDIubmUAaTY0LmRpdl9zAGkzMi5kaXZfcwBpNjQucm90bABpMzIucm90bABpNjQuZGl2X3UAaTMyLmRpdl91AGY2NC5uZWFyZXN0AGYzMi5uZWFyZXN0AGY2NHgyLmx0AGY2NHgyLnN1YgBpNjQuYXRvbWljLndhaXQAaTMyLmF0b21pYy53YWl0AGk2NHgyLnN1YgBmNjR4Mi5hYnMAZjY0eDIubWluAGY2NHgyLmxlAGY2NHgyLmFkZABpNjR4Mi5hZGQAaTY0LmF0b21pYy5zdG9yZQBpMzIuYXRvbWljLnN0b3JlAGY2NHgyLm11bABpNjQuYXRvbWljLnN0b3JlMzIAaTY0LmxvYWQzMl9zAGY2NC50cnVuYwBmMzIudHJ1bmMAaTY0LmxvYWQzMl91AHYxMjguYW5kAHYxMjgubm90AGk2NC5hdG9taWMucm13OC5zdWJfdQBpMzIuYXRvbWljLnJtdzguc3ViX3UAZjY0LmRpdgBmMzIuZGl2AGk2NC5hdG9taWMucm13LmFkZABpMzIuYXRvbWljLnJtdy5hZGQAc2V0X2xvY2FsAGk2NC5hdG9taWMucm13OC5hZGRfdQBpMzIuYXRvbWljLnJtdzguYWRkX3UAaTY0LmF0b21pYy5ybXczMi5zdWJfdQB0ZWVfbG9jYWwAaTY0LmF0b21pYy5sb2FkAGkzMi5hdG9taWMubG9hZABpNjQuYXRvbWljLnJtdzguYW5kX3UAaTMyLmF0b21pYy5ybXc4LmFuZF91AHYxMjguc3RvcmUAaTY0LmxvYWQxNl9zAGkzMi5sb2FkMTZfcwBpNjQuYXRvbWljLnJtdy5vcgBpMzIuYXRvbWljLnJtdy5vcgBpNjQubG9hZDE2X3UAaTMyLmxvYWQxNl91AGYzMi5kZW1vdGVfZjY0AHYxMjgub3IAaTY0LmF0b21pYy5ybXczMi5hZGRfdQBpNjQuYXRvbWljLnJtdy5hbmQAaTMyLmF0b21pYy5ybXcuYW5kAGk2NC50cnVuY19mMzJfcwBpMzIudHJ1bmNfZjMyX3MAaTY0LnRydW5jX2YzMl91AGkzMi50cnVuY19mMzJfdQBpNjQuYXRvbWljLnJtdzMyLmFuZF91AHYxMjgubG9hZAB2MTI4LmNvbnN0AGYzMi5kZW1vdGUvZjY0AGk2NHgyLmFsbF90cnVlAGk2NC5hdG9taWMucm13MzIuY21weGNoZ191AGk2NC50cnVuY19zL2YzMgBpMzIudHJ1bmNfcy9mMzIAaTY0LnRydW5jX3UvZjMyAGkzMi50cnVuY191L2YzMgBpNjQuYXRvbWljLnJtdzMyLm9yX3UAaTY0LmF0b21pYy5ybXcuc3ViAGkzMi5hdG9taWMucm13LnN1YgB2MTI4LmJpdHNlbGVjdABmNjR4Mi5ndABpNjQudHJ1bmNfZjY0X3MAaTMyLnRydW5jX2Y2NF9zAGk2NC50cnVuY19mNjRfdQBpMzIudHJ1bmNfZjY0X3UAZjY0eDIuZGl2AGY2NHgyLmdlAGY2NC5jb252ZXJ0X2kzMl9zAGYzMi5jb252ZXJ0X2kzMl9zAGk2NC50cnVuY19zL2Y2NABpMzIudHJ1bmNfcy9mNjQAaTY0LnRydW5jX3UvZjY0AGkzMi50cnVuY191L2Y2NABmMzJ4NC5uZQBpMzJ4NC5uZQBmMzJ4NC5sdABmMzJ4NC5zdWIAaTY0LmF0b21pYy5ybXcxNi5zdWJfdQBpMzIuYXRvbWljLnJtdzE2LnN1Yl91AGkzMng0LnN1YgBmMzJ4NC5hYnMAZjMyeDQubWluAGYzMng0LmxlAGkzMng0Lmx0X3MAaTMyeDQubHRfdQBmMzJ4NC5hZGQAaTMyeDQubGVfcwBpMzJ4NC5hZGQAaTMyeDQubGVfdQBmNjQuY29udmVydF9pNjRfcwBmMzIuY29udmVydF9pNjRfcwBpNjQudHJ1bmNfc2F0X2YzMl9zAGkzMi50cnVuY19zYXRfZjMyX3MAaTY0LmF0b21pYy5ybXcxNi5hZGRfdQBpMzIuYXRvbWljLnJtdzE2LmFkZF91AGk2NC50cnVuY19zYXRfZjMyX3UAaTMyLnRydW5jX3NhdF9mMzJfdQBpNjQuc3RvcmUxNgBpMzIuc3RvcmUxNgBpNjQuYXRvbWljLnJtdzE2LmFuZF91AGkzMi5hdG9taWMucm13MTYuYW5kX3UAZjMyeDQubXVsAGkzMng0Lm11bABmNjQuZmxvb3IAZjMyLmZsb29yAGk2NC5hdG9taWMubG9hZDMyX3UAZjY0LmNvbnZlcnRfaTMyX3UAZjMyLmNvbnZlcnRfaTMyX3UAZ2V0X2xvY2FsAGk2NC5hdG9taWMucm13MTYuY21weGNoZ191AGkzMi5hdG9taWMucm13MTYuY21weGNoZ191AGk2NC5sb2FkOF9zAGkzMi5sb2FkOF9zAGk2NC5zdG9yZTgAaTMyLnN0b3JlOABpNjQubG9hZDhfdQBpMzIubG9hZDhfdQBpNjQuYXRvbWljLnJtdzE2Lm9yX3UAaTMyLmF0b21pYy5ybXcxNi5vcl91AGY2NC5jb252ZXJ0X3MvaTMyAGYzMi5jb252ZXJ0X3MvaTMyAGY2NC5jb252ZXJ0X3UvaTMyAGYzMi5jb252ZXJ0X3UvaTMyAGk2NC5leHRlbmRfcy9pMzIAaTY0LmV4dGVuZF91L2kzMgBmNjQubmVnAGYzMi5uZWcAaTY0LmF0b21pYy5zdG9yZTE2AGkzMi5hdG9taWMuc3RvcmUxNgBmNjQuY29udmVydF9pNjRfdQBmMzIuY29udmVydF9pNjRfdQBpNjQub3IAaTMyLm9yAGk2NC5leHRlbmQzMl9zAGY2NC5ndABmMzIuZ3QAaTY0LmV4dGVuZF9pMzJfcwBpMzJ4NC5hbGxfdHJ1ZQBmNjQuZ2UAZjMyLmdlAGk2NC5leHRlbmRfaTMyX3UAaTY0Lmd0X3MAaTMyLmd0X3MAaTY0Lmd0X3UAaTMyLmd0X3UAaTY0LmdlX3MAaTMyLmdlX3MAaTY0LmdlX3UAaTMyLmdlX3UAaTY0LnhvcgBpMzIueG9yAGYzMng0Lmd0AGY2NC5zcXJ0AGYzMi5zcXJ0AGYzMng0LmRpdgBmMzJ4NC5nZQBpMzJ4NC5ndF9zAGkzMng0Lmd0X3UAZjY0eDIubmVnAGkzMng0LmdlX3MAaTY0eDIubmVnAGkzMng0LmdlX3UAaTY0LnNocl9zAGkzMi5zaHJfcwBpNjQuc2hyX3UAaTMyLnNocl91AGk2NC50cnVuY19zOnNhdC9mMzIAaTMyLnRydW5jX3M6c2F0L2YzMgBpNjQudHJ1bmNfdTpzYXQvZjMyAGkzMi50cnVuY191OnNhdC9mMzIAaTY0LmVxegBpMzIuZXF6AGY2NHgyLnNwbGF0AGk4eDE2Lm5lAGk2NHgyLnNwbGF0AGk2NC5hdG9taWMubG9hZDE2X3UAaTMyLmF0b21pYy5sb2FkMTZfdQBpNjQuc2hsAGkzMi5zaGwAaTE2eDgubmUAaTh4MTYuc3ViAHYxMjgueG9yAGk4eDE2Lmx0X3MAaTh4MTYubHRfdQBpMTZ4OC5zdWIAaTY0LmF0b21pYy5ybXczMi54b3JfdQBpOHgxNi5sZV9zAGk4eDE2LmFkZABpOHgxNi5sZV91AGk2NC5hdG9taWMubG9hZDhfdQBpMzIuYXRvbWljLmxvYWQ4X3UAaTE2eDgubHRfcwBpMTZ4OC5sdF91AGkxNng4LmxlX3MAaTE2eDguYWRkAGkxNng4LmxlX3UAaTY0LmF0b21pYy5ybXczMi54Y2hnX3UAaTY0LnRydW5jX3M6c2F0L2Y2NABpMzIudHJ1bmNfczpzYXQvZjY0AGk2NC50cnVuY191OnNhdC9mNjQAaTMyLnRydW5jX3U6c2F0L2Y2NABpNjQuYXRvbWljLnJtdzguY21weGNoZ191AGkzMi5hdG9taWMucm13OC5jbXB4Y2hnX3UAaTh4MTYubXVsAGY2NHgyLnNxcnQAaTY0eDIuYW55X3RydWUAaTE2eDgubXVsAGk2NC5hdG9taWMucm13OC5vcl91AGkzMi5hdG9taWMucm13OC5vcl91AGk2NHgyLnRydW5jX3NhdF9mNjR4Ml9zAGk2NHgyLnRydW5jX3NhdF9mNjR4Ml91AGk2NHgyLnNocl9zAGk2NHgyLnNocl91AGY2NHgyLmV4dHJhY3RfbGFuZQBpNjR4Mi5leHRyYWN0X2xhbmUAaTY0LnRydW5jX3NhdF9mNjRfcwBpMzIudHJ1bmNfc2F0X2Y2NF9zAHNldF9nbG9iYWwAaTY0LnRydW5jX3NhdF9mNjRfdQBpMzIudHJ1bmNfc2F0X2Y2NF91AGFueWZ1bmMAaTY0LmF0b21pYy5ybXc4Lnhvcl91AGkzMi5hdG9taWMucm13OC54b3JfdQBpNjQuZXh0ZW5kMTZfcwBpMzIuZXh0ZW5kMTZfcwBpOHgxNi5zdWJfc2F0dXJhdGVfcwBpNjR4Mi5zaGwAaTh4MTYuc3ViX3NhdHVyYXRlX3UAaTE2eDguc3ViX3NhdHVyYXRlX3MAaTE2eDguc3ViX3NhdHVyYXRlX3UAZjMyLnJlaW50ZXJwcmV0X2kzMgBpOHgxNi5hZGRfc2F0dXJhdGVfcwBpOHgxNi5hZGRfc2F0dXJhdGVfdQBmNjQubWF4AGYzMi5tYXgAaTE2eDguYWRkX3NhdHVyYXRlX3MAaTE2eDguYWRkX3NhdHVyYXRlX3UAZjY0LmNvbnZlcnRfcy9pNjQAZjMyLmNvbnZlcnRfcy9pNjQAZjY0LmNvbnZlcnRfdS9pNjQAZjMyLmNvbnZlcnRfdS9pNjQAaTh4MTYuYWxsX3RydWUAaTY0LmV4dGVuZDhfcwBpMzIuZXh0ZW5kOF9zAGYzMi5yZWludGVycHJldC9pMzIAaTE2eDguYWxsX3RydWUAaTY0LmF0b21pYy5ybXcxNi54b3JfdQBpMzIuYXRvbWljLnJtdzE2Lnhvcl91AGY2NC5wcm9tb3RlX2YzMgBmNjQucmVpbnRlcnByZXRfaTY0AGk2NC5hdG9taWMucm13MTYueGNoZ191AGkzMi5hdG9taWMucm13MTYueGNoZ191AGk4eDE2Lmd0X3MAaTh4MTYuZ3RfdQBpOHgxNi5nZV9zAGk4eDE2LmdlX3UAZjMyeDQubmVnAGkxNng4Lmd0X3MAaTMyeDQubmVnAGkxNng4Lmd0X3UAaTE2eDguZ2VfcwBpMTZ4OC5nZV91AGY2NHgyLnJlcGxhY2VfbGFuZQBpNjR4Mi5yZXBsYWNlX2xhbmUAZjY0LnByb21vdGUvZjMyAGY2NC5yZWludGVycHJldC9pNjQAZjY0eDIubWF4AGYzMng0LnNwbGF0AGkzMng0LnNwbGF0AGkzMng0LnRydW5jX3NhdF9mMzJ4NF9zAGkzMng0LnRydW5jX3NhdF9mMzJ4NF91AGJpbmFyeQBmMzJ4NC5zcXJ0AGkzMng0LmFueV90cnVlAGkzMng0LnNocl9zAGkzMng0LnNocl91AGYzMng0LmV4dHJhY3RfbGFuZQBnZXRfZ2xvYmFsAGkzMng0LmV4dHJhY3RfbGFuZQBpMzIucmVpbnRlcnByZXRfZjMyAGk2NC5hdG9taWMuc3RvcmU4AGkzMi5hdG9taWMuc3RvcmU4AGkzMng0LnNobABpMzIucmVpbnRlcnByZXQvZjMyAGk2NC5yZWludGVycHJldF9mNjQAZjY0LmVxAGYzMi5lcQBpNjQuZXEAaTMyLmVxAGk2NC5yZWludGVycHJldC9mNjQAaTMyLndyYXBfaTY0AGk4eDE2Lm5lZwBpNjQuYXRvbWljLnJtdy54b3IAaTMyLmF0b21pYy5ybXcueG9yAGkxNng4Lm5lZwBmMzJ4NC5yZXBsYWNlX2xhbmUAaTMyeDQucmVwbGFjZV9sYW5lAGk4eDE2LnNwbGF0AGYzMng0Lm1heABpMzIud3JhcC9pNjQAaTE2eDguc3BsYXQAaTY0LnBvcGNudABpMzIucG9wY250AGYzMng0LmNvbnZlcnRfaTMyeDRfcwBmMzJ4NC5jb252ZXJ0X2kzMng0X3UAY3VycmVudF9tZW1vcnkAYXRvbWljLm5vdGlmeQBpOHgxNi5hbnlfdHJ1ZQBmNjR4Mi5lcQBpMTZ4OC5hbnlfdHJ1ZQBpOHgxNi5zaHJfcwBpOHgxNi5zaHJfdQBpMTZ4OC5zaHJfcwBpOHgxNi5leHRyYWN0X2xhbmVfcwBpOHgxNi5leHRyYWN0X2xhbmVfdQBpMTZ4OC5zaHJfdQBmNjR4Mi5jb252ZXJ0X2k2NHgyX3MAaTE2eDguZXh0cmFjdF9sYW5lX3MAZjY0eDIuY29udmVydF9pNjR4Ml91AGkxNng4LmV4dHJhY3RfbGFuZV91AGk4eDE2LnNobABpMTZ4OC5zaGwAZjY0LmNvcHlzaWduAGYzMi5jb3B5c2lnbgBpNjQuYXRvbWljLnJtdzgueGNoZ191AGkzMi5hdG9taWMucm13OC54Y2hnX3UAZ3Jvd19tZW1vcnkAdjh4MTYuc2h1ZmZsZQBpNjQuYXRvbWljLnJtdy5jbXB4Y2hnAGkzMi5hdG9taWMucm13LmNtcHhjaGcAaTh4MTYucmVwbGFjZV9sYW5lAGkxNng4LnJlcGxhY2VfbGFuZQBmMzJ4NC5lcQBpMzJ4NC5lcQBpNjQuYXRvbWljLnJtdy54Y2hnAGkzMi5hdG9taWMucm13LnhjaGcAaTh4MTYuZXEAaTE2eDguZXEAbmV3bGluZSBpbiBzdHJpbmcAYmFkIGVzY2FwZSAiJS4qcyIAdW5leHBlY3RlZCB0b2tlbiAlcywgZXhwZWN0ZWQgJXMuAHVuZXhwZWN0ZWQgdG9rZW4gJXMuAG9wY29kZSBub3QgYWxsb3dlZDogJXMAIG9yIAAgKGUuZy4gAHVuZXhwZWN0ZWQgdG9rZW4gIiVzIiVzLgBpbnZhbGlkIGludCAiJS4qcyIAYSBudW1lcmljIGluZGV4AGEgbmFtZQAxMiBvciAkZm9vAGFuIG9mZnNldCBleHByAChpMzIuY29uc3QgMTIzKQBhbiBleHByAHRoZW4gYmxvY2sAKHRoZW4gLi4uKQB1bmV4cGVjdGVkIGxhYmVsICIlcyIAbWlzbWF0Y2hpbmcgbGFiZWwgIiVzIiAhPSAiJXMiAGEgbmF0dXJhbCBudW1iZXIgaW4gcmFuZ2UgWzAsIDMyKQBpbnZhbGlkIGxpdGVyYWwgIiVzIgBzaHVmZmxlIGluZGV4ICIlcyIgb3V0LW9mLXJhbmdlIFswLCAzMikAYSBuYXR1cmFsIG51bWJlcgAxMjMAYSBudW1lcmljIGxpdGVyYWwAMTIzLCAtNDUsIDYuN2U4AFVuZXhwZWN0ZWQgdHlwZSBhdCBzdGFydCBvZiBzaW1kIGNvbnN0YW50LiBFeHBlY3RlZCBvbmUgb2Y6IGk4eDE2LCBpMTZ4OCwgaTMyeDQsIGk2NHgyLCBmMzJ4NCwgZjY0eDIuIEZvdW5kICIlcyIuAGEgTmF0IG9yIEludGVnZXIgbGl0ZXJhbABhIEZsb2F0IGxpdGVyYWwANDIuMABpbnZhbGlkIGFsaWdubWVudCAiJS4qcyIAYWxpZ25tZW50IG11c3QgYmUgcG93ZXItb2YtdHdvAGludmFsaWQgb2Zmc2V0ICIlLipzIgBvZmZzZXQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMHhmZmZmZmZmZgB2YWx1ZSB0eXBlIG5vdCBhbGxvd2VkOiAlcwBhIHF1b3RlZCBzdHJpbmcAImZvbyIAcXVvdGVkIHN0cmluZyBoYXMgYW4gaW52YWxpZCB1dGYtOCBlbmNvZGluZwBhIG1vZHVsZSBmaWVsZABONHdhYnQxMl9HTE9CQUxfX05fMTM1UmVzb2x2ZUZ1bmNUeXBlc0V4cHJWaXNpdG9yRGVsZWdhdGVFAGltcG9ydHMgbXVzdCBvY2N1ciBiZWZvcmUgYWxsIG5vbi1pbXBvcnQgZGVmaW5pdGlvbnMAYW4gZXh0ZXJuYWwga2luZAA8dGV4dD4AZXJyb3IgaW4gYmluYXJ5IG1vZHVsZTogJXMAZXJyb3IgaW4gYmluYXJ5IG1vZHVsZTogQDB4JTA4eng6ICVzAGEgYmluYXJ5IG1vZHVsZQBhIHRleHQgbW9kdWxlAE40d2FidDEzTW9kdWxlQ29tbWFuZEUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFMEVFRQBONHdhYnQ3Q29tbWFuZEUATjR3YWJ0MTZUZXh0U2NyaXB0TW9kdWxlRQBONHdhYnQxN1NjcmlwdE1vZHVsZU1peGluSUxOU18xNlNjcmlwdE1vZHVsZVR5cGVFMEVFRQBONHdhYnQxMlNjcmlwdE1vZHVsZUUATjR3YWJ0MTZEYXRhU2NyaXB0TW9kdWxlSUxOU18xNlNjcmlwdE1vZHVsZVR5cGVFMkVFRQBONHdhYnQxN1NjcmlwdE1vZHVsZU1peGluSUxOU18xNlNjcmlwdE1vZHVsZVR5cGVFMkVFRQBONHdhYnQxNkRhdGFTY3JpcHRNb2R1bGVJTE5TXzE2U2NyaXB0TW9kdWxlVHlwZUUxRUVFAE40d2FidDE3U2NyaXB0TW9kdWxlTWl4aW5JTE5TXzE2U2NyaXB0TW9kdWxlVHlwZUUxRUVFAGEgY29tbWFuZABONHdhYnQxNVJlZ2lzdGVyQ29tbWFuZEUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFMkVFRQBONHdhYnQ5R2V0QWN0aW9uRQBONHdhYnQxMUFjdGlvbk1peGluSUxOU18xMEFjdGlvblR5cGVFMUVFRQBONHdhYnQ2QWN0aW9uRQBONHdhYnQxMkludm9rZUFjdGlvbkUATjR3YWJ0MTFBY3Rpb25NaXhpbklMTlNfMTBBY3Rpb25UeXBlRTBFRUUATjR3YWJ0MTdBY3Rpb25Db21tYW5kQmFzZUlMTlNfMTFDb21tYW5kVHlwZUUxRUVFAE40d2FidDEyQ29tbWFuZE1peGluSUxOU18xMUNvbW1hbmRUeXBlRTFFRUUATjR3YWJ0MTlBc3NlcnRNb2R1bGVDb21tYW5kSUxOU18xMUNvbW1hbmRUeXBlRTVFRUUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFNUVFRQBONHdhYnQyMUFzc2VydFRyYXBDb21tYW5kQmFzZUlMTlNfMTFDb21tYW5kVHlwZUUxMEVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUUxMEVFRQBONHdhYnQxOUFzc2VydE1vZHVsZUNvbW1hbmRJTE5TXzExQ29tbWFuZFR5cGVFNkVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUU2RUVFAE40d2FidDE3QWN0aW9uQ29tbWFuZEJhc2VJTE5TXzExQ29tbWFuZFR5cGVFOEVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUU4RUVFAE40d2FidDE3QWN0aW9uQ29tbWFuZEJhc2VJTE5TXzExQ29tbWFuZFR5cGVFOUVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUU5RUVFAE40d2FidDE5QXNzZXJ0UmV0dXJuQ29tbWFuZEUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFN0VFRQBONHdhYnQxOUFzc2VydE1vZHVsZUNvbW1hbmRJTE5TXzExQ29tbWFuZFR5cGVFM0VFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUUzRUVFAE40d2FidDE5QXNzZXJ0TW9kdWxlQ29tbWFuZElMTlNfMTFDb21tYW5kVHlwZUU0RUVFAE40d2FidDEyQ29tbWFuZE1peGluSUxOU18xMUNvbW1hbmRUeXBlRTRFRUUATjR3YWJ0MjFBc3NlcnRUcmFwQ29tbWFuZEJhc2VJTE5TXzExQ29tbWFuZFR5cGVFMTFFRUUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFMTFFRUUAKDsldTspACVsbHUAICV1AG9mZnNldD0ldQBhbGlnbj0ldQAgOzsgbGFiZWwgPSBAJXUAJWxsZAAoOz0lZzspAGkzMng0IDB4JTA4eCAweCUwOHggMHglMDh4IDB4JTA4eAAldSAoO0AldTspACV1ICg7IElOVkFMSUQgOykATjR3YWJ0MTJfR0xPQkFMX19OXzE5V2F0V3JpdGVyMTlFeHByVmlzaXRvckRlbGVnYXRlRQBJbnZhbGlkIE9wY29kZSBmb3IgZXhwciB0eXBlOiAlcwoAYmFkIGV4cHIgdHlwZTogJXMKAERhdGEAQ29kZQBEYXRhQ291bnQARWxlbQBTdGFydABFeHBvcnQARXZlbnQAR2xvYmFsAE1lbW9yeQBUYWJsZQBGdW5jdGlvbgBJbXBvcnQAVHlwZQBDdXN0b20AbWFnaWMAdWludDMyX3QAdW5hYmxlIHRvIHJlYWQgJXM6ICVzAGJhZCBtYWdpYyB2YWx1ZQB2ZXJzaW9uAGJhZCB3YXNtIGZpbGUgdmVyc2lvbjogJSN4IChleHBlY3RlZCAlI3gpAEJlZ2luTW9kdWxlIGNhbGxiYWNrIGZhaWxlZABmdW5jdGlvbiBzaWduYXR1cmUgY291bnQgIT0gZnVuY3Rpb24gYm9keSBjb3VudABFbmRNb2R1bGUgY2FsbGJhY2sgZmFpbGVkAHNlY3Rpb24gY29kZQB1bmFibGUgdG8gcmVhZCB1MzIgbGViMTI4OiAlcwBzZWN0aW9uIHNpemUAaW52YWxpZCBzZWN0aW9uIGNvZGU6ICV1AGludmFsaWQgc2VjdGlvbiBzaXplOiBleHRlbmRzIHBhc3QgZW5kAHNlY3Rpb24gJXMgb3V0IG9mIG9yZGVyACVzIHNlY3Rpb24gY2FuIG5vdCBvY2N1ciBhZnRlciBOYW1lIHNlY3Rpb24AQmVnaW5TZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABzZWN0aW9uIG5hbWUAQmVnaW5DdXN0b21TZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABuYW1lAEJlZ2luTmFtZXNTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABuYW1lIHR5cGUAZHVwbGljYXRlIHN1Yi1zZWN0aW9uAG91dC1vZi1vcmRlciBzdWItc2VjdGlvbgBzdWJzZWN0aW9uIHNpemUAaW52YWxpZCBzdWItc2VjdGlvbiBzaXplOiBleHRlbmRzIHBhc3QgZW5kAE9uTW9kdWxlTmFtZVN1YnNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAG1vZHVsZSBuYW1lAE9uTW9kdWxlTmFtZSBjYWxsYmFjayBmYWlsZWQAT25GdW5jdGlvbk5hbWVTdWJzZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABuYW1lIGNvdW50AGludmFsaWQgJXMgJXUsIG9ubHkgJXpkIGJ5dGVzIGxlZnQgaW4gc2VjdGlvbgBPbkZ1bmN0aW9uTmFtZXNDb3VudCBjYWxsYmFjayBmYWlsZWQAZnVuY3Rpb24gaW5kZXgAZHVwbGljYXRlIGZ1bmN0aW9uIG5hbWU6ICV1AGZ1bmN0aW9uIGluZGV4IG91dCBvZiBvcmRlcjogJXUAaW52YWxpZCBmdW5jdGlvbiBpbmRleDogJXUAZnVuY3Rpb24gbmFtZQBPbkZ1bmN0aW9uTmFtZSBjYWxsYmFjayBmYWlsZWQAT25Mb2NhbE5hbWVTdWJzZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABmdW5jdGlvbiBjb3VudABPbkxvY2FsTmFtZUZ1bmN0aW9uQ291bnQgY2FsbGJhY2sgZmFpbGVkAGxvY2FscyBmdW5jdGlvbiBpbmRleCBvdXQgb2Ygb3JkZXI6ICV1AGxvY2FsIGNvdW50AE9uTG9jYWxOYW1lTG9jYWxDb3VudCBjYWxsYmFjayBmYWlsZWQAbmFtZWQgaW5kZXgAZHVwbGljYXRlIGxvY2FsIGluZGV4OiAldQBsb2NhbCBpbmRleCBvdXQgb2Ygb3JkZXI6ICV1AE9uTG9jYWxOYW1lIGNhbGxiYWNrIGZhaWxlZAB1bmZpbmlzaGVkIHN1Yi1zZWN0aW9uIChleHBlY3RlZCBlbmQ6IDB4JXp4KQBFbmROYW1lc1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGR5bGluawBCZWdpbkR5bGlua1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAG1lbV9zaXplAG1lbV9hbGlnbgB0YWJsZV9zaXplAHRhYmxlX2FsaWduAE9uRHlsaW5rSW5mbyBjYWxsYmFjayBmYWlsZWQAbmVlZGVkX2R5bmxpYnMAT25EeWxpbmtOZWVkZWRDb3VudCBjYWxsYmFjayBmYWlsZWQAZHlsaWIgc29fbmFtZQBPbkR5bGlua05lZWRlZCBjYWxsYmFjayBmYWlsZWQARW5kRHlsaW5rU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAcmVsb2MAQmVnaW5SZWxvY1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAHNlY3Rpb24gaW5kZXgAcmVsb2NhdGlvbiBjb3VudABPblJlbG9jQ291bnQgY2FsbGJhY2sgZmFpbGVkAHJlbG9jYXRpb24gdHlwZQBpbmRleABhZGRlbmQAdW5hYmxlIHRvIHJlYWQgaTMyIGxlYjEyODogJXMAT25SZWxvYyBjYWxsYmFjayBmYWlsZWQARW5kUmVsb2NTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABsaW5raW5nAEJlZ2luTGlua2luZ1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGludmFsaWQgbGlua2luZyBtZXRhZGF0YSB2ZXJzaW9uOiAldQBzeW0gY291bnQAT25TeW1ib2xDb3VudCBjYWxsYmFjayBmYWlsZWQAc3ltIHR5cGUAc3ltIGZsYWdzAE9uU3ltYm9sIGNhbGxiYWNrIGZhaWxlZABzeW1ib2wgbmFtZQBPbkZ1bmN0aW9uU3ltYm9sIGNhbGxiYWNrIGZhaWxlZABPbkdsb2JhbFN5bWJvbCBjYWxsYmFjayBmYWlsZWQAT25FdmVudFN5bWJvbCBjYWxsYmFjayBmYWlsZWQAc2VnbWVudABzaXplAE9uRGF0YVN5bWJvbCBjYWxsYmFjayBmYWlsZWQAT25TZWN0aW9uU3ltYm9sIGNhbGxiYWNrIGZhaWxlZABpbmZvIGNvdW50AE9uU2VnbWVudEluZm9Db3VudCBjYWxsYmFjayBmYWlsZWQAc2VnbWVudCBuYW1lAHNlZ21lbnQgYWxpZ25tZW50AHNlZ21lbnQgZmxhZ3MAT25TZWdtZW50SW5mbyBjYWxsYmFjayBmYWlsZWQAT25Jbml0RnVuY3Rpb25Db3VudCBjYWxsYmFjayBmYWlsZWQAcHJpb3JpdHkAT25Jbml0RnVuY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEVuZExpbmtpbmdTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABFbmRDdXN0b21TZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpblR5cGVTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZAB0eXBlIGNvdW50AE9uVHlwZUNvdW50IGNhbGxiYWNrIGZhaWxlZAB0eXBlIGZvcm0ALQB1bmV4cGVjdGVkIHR5cGUgZm9ybSAoZ290ICVzJSN4KQBmdW5jdGlvbiBwYXJhbSBjb3VudABmdW5jdGlvbiBwYXJhbSB0eXBlAGV4cGVjdGVkIHZhbGlkIHBhcmFtIHR5cGUgKGdvdCAlcyUjeCkAZnVuY3Rpb24gcmVzdWx0IGNvdW50AHJlc3VsdCBjb3VudCBtdXN0IGJlIDAgb3IgMQBmdW5jdGlvbiByZXN1bHQgdHlwZQBleHBlY3RlZCB2YWxpZCByZXN1bHQgdHlwZSAoZ290ICVzJSN4KQBPblR5cGUgY2FsbGJhY2sgZmFpbGVkAEVuZFR5cGVTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkltcG9ydFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGltcG9ydCBjb3VudABPbkltcG9ydENvdW50IGNhbGxiYWNrIGZhaWxlZABpbXBvcnQgbW9kdWxlIG5hbWUAaW1wb3J0IGZpZWxkIG5hbWUAaW1wb3J0IGtpbmQAdWludDhfdABpbXBvcnQgc2lnbmF0dXJlIGluZGV4AGludmFsaWQgaW1wb3J0IHNpZ25hdHVyZSBpbmRleABPbkltcG9ydCBjYWxsYmFjayBmYWlsZWQAT25JbXBvcnRGdW5jIGNhbGxiYWNrIGZhaWxlZABPbkltcG9ydFRhYmxlIGNhbGxiYWNrIGZhaWxlZABPbkltcG9ydE1lbW9yeSBjYWxsYmFjayBmYWlsZWQAT25JbXBvcnRHbG9iYWwgY2FsbGJhY2sgZmFpbGVkAGludmFsaWQgaW1wb3J0IGV2ZW50IGtpbmQ6IGV4Y2VwdGlvbnMgbm90IGFsbG93ZWQAT25JbXBvcnRFdmVudCBjYWxsYmFjayBmYWlsZWQARW5kSW1wb3J0U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5GdW5jdGlvblNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGZ1bmN0aW9uIHNpZ25hdHVyZSBjb3VudABPbkZ1bmN0aW9uQ291bnQgY2FsbGJhY2sgZmFpbGVkAGZ1bmN0aW9uIHNpZ25hdHVyZSBpbmRleABpbnZhbGlkIGZ1bmN0aW9uIHNpZ25hdHVyZSBpbmRleDogJXUAT25GdW5jdGlvbiBjYWxsYmFjayBmYWlsZWQARW5kRnVuY3Rpb25TZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpblRhYmxlU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAdGFibGUgY291bnQAdGFibGUgY291bnQgKCV1KSBtdXN0IGJlIDAgb3IgMQBPblRhYmxlQ291bnQgY2FsbGJhY2sgZmFpbGVkAE9uVGFibGUgY2FsbGJhY2sgZmFpbGVkAEVuZFRhYmxlU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5NZW1vcnlTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABtZW1vcnkgY291bnQAbWVtb3J5IGNvdW50IG11c3QgYmUgMCBvciAxAE9uTWVtb3J5Q291bnQgY2FsbGJhY2sgZmFpbGVkAE9uTWVtb3J5IGNhbGxiYWNrIGZhaWxlZABFbmRNZW1vcnlTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkdsb2JhbFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGdsb2JhbCBjb3VudABPbkdsb2JhbENvdW50IGNhbGxiYWNrIGZhaWxlZABCZWdpbkdsb2JhbCBjYWxsYmFjayBmYWlsZWQAQmVnaW5HbG9iYWxJbml0RXhwciBjYWxsYmFjayBmYWlsZWQARW5kR2xvYmFsSW5pdEV4cHIgY2FsbGJhY2sgZmFpbGVkAEVuZEdsb2JhbCBjYWxsYmFjayBmYWlsZWQARW5kR2xvYmFsU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5FeHBvcnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABleHBvcnQgY291bnQAT25FeHBvcnRDb3VudCBjYWxsYmFjayBmYWlsZWQAZXhwb3J0IGl0ZW0gbmFtZQBleHBvcnQga2luZABpbnZhbGlkIGV4cG9ydCBleHRlcm5hbCBraW5kOiAlZABleHBvcnQgaXRlbSBpbmRleABpbnZhbGlkIGV4cG9ydCBmdW5jIGluZGV4OiAldQBpbnZhbGlkIGV4cG9ydCB0YWJsZSBpbmRleDogJXUAaW52YWxpZCBleHBvcnQgbWVtb3J5IGluZGV4OiAldQBpbnZhbGlkIGV4cG9ydCBnbG9iYWwgaW5kZXg6ICV1AGludmFsaWQgZXhwb3J0IGV2ZW50IGtpbmQ6IGV4Y2VwdGlvbnMgbm90IGFsbG93ZWQAT25FeHBvcnQgY2FsbGJhY2sgZmFpbGVkAEVuZEV4cG9ydFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luU3RhcnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABzdGFydCBmdW5jdGlvbiBpbmRleABpbnZhbGlkIHN0YXJ0IGZ1bmN0aW9uIGluZGV4OiAldQBPblN0YXJ0RnVuY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEVuZFN0YXJ0U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5FbGVtU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZWxlbSBzZWdtZW50IGNvdW50AE9uRWxlbVNlZ21lbnRDb3VudCBjYWxsYmFjayBmYWlsZWQAZWxlbSBzZWN0aW9uIHdpdGhvdXQgdGFibGUgc2VjdGlvbgBlbGVtIHNlZ21lbnQgZmxhZ3MAaW52YWxpZCBlbGVtIHNlZ21lbnQgZmxhZ3MAZWxlbSBzZWdtZW50IHRhYmxlIGluZGV4AEJlZ2luRWxlbVNlZ21lbnQgY2FsbGJhY2sgZmFpbGVkAEJlZ2luRWxlbVNlZ21lbnRJbml0RXhwciBjYWxsYmFjayBmYWlsZWQARW5kRWxlbVNlZ21lbnRJbml0RXhwciBjYWxsYmFjayBmYWlsZWQAZWxlbSBzZWdtZW50IGZ1bmN0aW9uIGluZGV4IGNvdW50AE9uRWxlbVNlZ21lbnRGdW5jdGlvbkluZGV4Q291bnQgY2FsbGJhY2sgZmFpbGVkAGVsZW0gc2VnbWVudCBmdW5jdGlvbiBpbmRleABPbkVsZW1TZWdtZW50RnVuY3Rpb25JbmRleCBjYWxsYmFjayBmYWlsZWQARW5kRWxlbVNlZ21lbnQgY2FsbGJhY2sgZmFpbGVkAEVuZEVsZW1TZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkNvZGVTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABmdW5jdGlvbiBib2R5IGNvdW50AE9uRnVuY3Rpb25Cb2R5Q291bnQgY2FsbGJhY2sgZmFpbGVkAGZ1bmN0aW9uIGJvZHkgc2l6ZQBCZWdpbkZ1bmN0aW9uQm9keSBjYWxsYmFjayBmYWlsZWQAbG9jYWwgZGVjbGFyYXRpb24gY291bnQAT25Mb2NhbERlY2xDb3VudCBjYWxsYmFjayBmYWlsZWQAbG9jYWwgdHlwZSBjb3VudABsb2NhbCBjb3VudCBtdXN0IGJlIDwgMHgxMDAwMDAwMABsb2NhbCB0eXBlAGV4cGVjdGVkIHZhbGlkIGxvY2FsIHR5cGUAT25Mb2NhbERlY2wgY2FsbGJhY2sgZmFpbGVkAEVuZEZ1bmN0aW9uQm9keSBjYWxsYmFjayBmYWlsZWQARW5kQ29kZVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luRGF0YVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGRhdGEgc2VnbWVudCBjb3VudABPbkRhdGFTZWdtZW50Q291bnQgY2FsbGJhY2sgZmFpbGVkAGRhdGEgc2VjdGlvbiB3aXRob3V0IG1lbW9yeSBzZWN0aW9uAGRhdGEgc2VnbWVudCBjb3VudCBkb2VzIG5vdCBlcXVhbCBjb3VudCBpbiBEYXRhQ291bnQgc2VjdGlvbgBkYXRhIHNlZ21lbnQgZmxhZ3MAaW52YWxpZCBkYXRhIHNlZ21lbnQgZmxhZ3MAZGF0YSBzZWdtZW50IG1lbW9yeSBpbmRleABCZWdpbkRhdGFTZWdtZW50IGNhbGxiYWNrIGZhaWxlZABCZWdpbkRhdGFTZWdtZW50SW5pdEV4cHIgY2FsbGJhY2sgZmFpbGVkAEVuZERhdGFTZWdtZW50SW5pdEV4cHIgY2FsbGJhY2sgZmFpbGVkAGRhdGEgc2VnbWVudCBkYXRhAGRhdGEgc2l6ZQB1bmFibGUgdG8gcmVhZCBkYXRhOiAlcwBPbkRhdGFTZWdtZW50RGF0YSBjYWxsYmFjayBmYWlsZWQARW5kRGF0YVNlZ21lbnQgY2FsbGJhY2sgZmFpbGVkAEVuZERhdGFTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkV2ZW50U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZXZlbnQgY291bnQAT25FdmVudENvdW50IGNhbGxiYWNrIGZhaWxlZABPbkV2ZW50VHlwZSBjYWxsYmFjayBmYWlsZWQARW5kRXZlbnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkRhdGFDb3VudFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGRhdGEgY291bnQAT25EYXRhQ291bnQgY2FsbGJhY2sgZmFpbGVkAEVuZERhdGFDb3VudFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAHVuZmluaXNoZWQgc2VjdGlvbiAoZXhwZWN0ZWQgZW5kOiAweCV6eCkAT25PcGNvZGUgY2FsbGJhY2sgZmFpbGVkAE9uVW5yZWFjaGFibGVFeHByIGNhbGxiYWNrIGZhaWxlZABPbk9wY29kZUJhcmUgY2FsbGJhY2sgZmFpbGVkAGJsb2NrIHNpZ25hdHVyZSB0eXBlAGV4cGVjdGVkIHZhbGlkIGJsb2NrIHNpZ25hdHVyZSB0eXBlAE9uQmxvY2tFeHByIGNhbGxiYWNrIGZhaWxlZABPbk9wY29kZUJsb2NrU2lnIGNhbGxiYWNrIGZhaWxlZABsb29wIHNpZ25hdHVyZSB0eXBlAE9uTG9vcEV4cHIgY2FsbGJhY2sgZmFpbGVkAGlmIHNpZ25hdHVyZSB0eXBlAE9uSWZFeHByIGNhbGxiYWNrIGZhaWxlZABPbkVsc2VFeHByIGNhbGxiYWNrIGZhaWxlZABPblNlbGVjdEV4cHIgY2FsbGJhY2sgZmFpbGVkAGJyIGRlcHRoAE9uQnJFeHByIGNhbGxiYWNrIGZhaWxlZABPbk9wY29kZUluZGV4IGNhbGxiYWNrIGZhaWxlZABicl9pZiBkZXB0aABPbkJySWZFeHByIGNhbGxiYWNrIGZhaWxlZABicl90YWJsZSB0YXJnZXQgY291bnQAYnJfdGFibGUgdGFyZ2V0IGRlcHRoAGJyX3RhYmxlIGRlZmF1bHQgdGFyZ2V0IGRlcHRoAE9uQnJUYWJsZUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uUmV0dXJuRXhwciBjYWxsYmFjayBmYWlsZWQAT25Ob3BFeHByIGNhbGxiYWNrIGZhaWxlZABPbkRyb3BFeHByIGNhbGxiYWNrIGZhaWxlZABPbkVuZEZ1bmMgY2FsbGJhY2sgZmFpbGVkAE9uRW5kRXhwciBjYWxsYmFjayBmYWlsZWQAaTMyLmNvbnN0IHZhbHVlAE9uSTMyQ29uc3RFeHByIGNhbGxiYWNrIGZhaWxlZABPbk9wY29kZVVpbnQzMiBjYWxsYmFjayBmYWlsZWQAaTY0LmNvbnN0IHZhbHVlAHVuYWJsZSB0byByZWFkIGk2NCBsZWIxMjg6ICVzAE9uSTY0Q29uc3RFeHByIGNhbGxiYWNrIGZhaWxlZABPbk9wY29kZVVpbnQ2NCBjYWxsYmFjayBmYWlsZWQAZjMyLmNvbnN0IHZhbHVlAGZsb2F0AE9uRjMyQ29uc3RFeHByIGNhbGxiYWNrIGZhaWxlZABPbk9wY29kZUYzMiBjYWxsYmFjayBmYWlsZWQAZjY0LmNvbnN0IHZhbHVlAGRvdWJsZQBPbkY2NENvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVGNjQgY2FsbGJhY2sgZmFpbGVkAHYxMjguY29uc3QgdmFsdWUAT25WMTI4Q29uc3RFeHByIGNhbGxiYWNrIGZhaWxlZABPbk9wY29kZVYxMjggY2FsbGJhY2sgZmFpbGVkAGdsb2JhbC5nZXQgZ2xvYmFsIGluZGV4AE9uR2xvYmFsR2V0RXhwciBjYWxsYmFjayBmYWlsZWQAbG9jYWwuZ2V0IGxvY2FsIGluZGV4AE9uTG9jYWxHZXRFeHByIGNhbGxiYWNrIGZhaWxlZABnbG9iYWwuc2V0IGdsb2JhbCBpbmRleABPbkdsb2JhbFNldEV4cHIgY2FsbGJhY2sgZmFpbGVkAGxvY2FsLnNldCBsb2NhbCBpbmRleABPbkxvY2FsU2V0RXhwciBjYWxsYmFjayBmYWlsZWQAY2FsbCBmdW5jdGlvbiBpbmRleABpbnZhbGlkIGNhbGwgZnVuY3Rpb24gaW5kZXg6ICV1AE9uQ2FsbEV4cHIgY2FsbGJhY2sgZmFpbGVkAGNhbGxfaW5kaXJlY3Qgc2lnbmF0dXJlIGluZGV4AGludmFsaWQgY2FsbF9pbmRpcmVjdCBzaWduYXR1cmUgaW5kZXgAY2FsbF9pbmRpcmVjdCB0YWJsZSBpbmRleABpbnZhbGlkIGNhbGxfaW5kaXJlY3QgdGFibGUgaW5kZXgAY2FsbF9pbmRpcmVjdCByZXNlcnZlZABjYWxsX2luZGlyZWN0IHJlc2VydmVkIHZhbHVlIG11c3QgYmUgMABPbkNhbGxJbmRpcmVjdEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlVWludDMyVWludDMyIGNhbGxiYWNrIGZhaWxlZABpbnZhbGlkIHJldHVybl9jYWxsIGZ1bmN0aW9uIGluZGV4OiAldQBPblJldHVybkNhbGxFeHByIGNhbGxiYWNrIGZhaWxlZABpbnZhbGlkIHJldHVybl9jYWxsX2luZGlyZWN0IHNpZ25hdHVyZSBpbmRleAByZXR1cm5fY2FsbF9pbmRpcmVjdCB0YWJsZSBpbmRleABpbnZhbGlkIHJldHVybl9jYWxsX2luZGlyZWN0IHRhYmxlIGluZGV4AHJldHVybl9jYWxsX2luZGlyZWN0IHJlc2VydmVkAHJldHVybl9jYWxsX2luZGlyZWN0IHJlc2VydmVkIHZhbHVlIG11c3QgYmUgMABPblJldHVybkNhbGxJbmRpcmVjdEV4cHIgY2FsbGJhY2sgZmFpbGVkAGxvY2FsLnRlZSBsb2NhbCBpbmRleABPbkxvY2FsVGVlRXhwciBjYWxsYmFjayBmYWlsZWQAbG9hZCBhbGlnbm1lbnQAbG9hZCBvZmZzZXQAT25Mb2FkRXhwciBjYWxsYmFjayBmYWlsZWQAc3RvcmUgYWxpZ25tZW50AHN0b3JlIG9mZnNldABPblN0b3JlRXhwciBjYWxsYmFjayBmYWlsZWQAbWVtb3J5LnNpemUgcmVzZXJ2ZWQAbWVtb3J5LnNpemUgcmVzZXJ2ZWQgdmFsdWUgbXVzdCBiZSAwAE9uTWVtb3J5U2l6ZUV4cHIgY2FsbGJhY2sgZmFpbGVkAG1lbW9yeS5ncm93IHJlc2VydmVkAG1lbW9yeS5ncm93IHJlc2VydmVkIHZhbHVlIG11c3QgYmUgMABPbk1lbW9yeUdyb3dFeHByIGNhbGxiYWNrIGZhaWxlZABPbkJpbmFyeUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uQ29tcGFyZUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uVW5hcnlFeHByIGNhbGxiYWNrIGZhaWxlZABPblRlcm5hcnlFeHByIGNhbGxiYWNrIGZhaWxlZABMYW5lIGlkeABPblNpbWRMYW5lT3BFeHByIGNhbGxiYWNrIGZhaWxlZABMYW5lIGlkeCBbMTZdAE9uU2ltZFNodWZmbGVPcEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uQ29udmVydEV4cHIgY2FsbGJhY2sgZmFpbGVkAHRyeSBzaWduYXR1cmUgdHlwZQBPblRyeUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uQ2F0Y2hFeHByIGNhbGxiYWNrIGZhaWxlZABPblJldGhyb3dFeHByIGNhbGxiYWNrIGZhaWxlZABldmVudCBpbmRleABPblRocm93RXhwciBjYWxsYmFjayBmYWlsZWQAYnJfb25fZXhuIGRlcHRoAE9uQnJPbkV4bkV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlSW5kZXhJbmRleCBjYWxsYmFjayBmYWlsZWQAT25BdG9taWNOb3RpZnlFeHByIGNhbGxiYWNrIGZhaWxlZABPbkF0b21pY1dhaXRFeHByIGNhbGxiYWNrIGZhaWxlZABPbkF0b21pY0xvYWRFeHByIGNhbGxiYWNrIGZhaWxlZABPbkF0b21pY1N0b3JlRXhwciBjYWxsYmFjayBmYWlsZWQAbWVtb3J5IGFsaWdubWVudABtZW1vcnkgb2Zmc2V0AE9uQXRvbWljUm13RXhwciBjYWxsYmFjayBmYWlsZWQAT25BdG9taWNSbXdDbXB4Y2hnRXhwciBjYWxsYmFjayBmYWlsZWQAZWxlbSBzZWdtZW50IGluZGV4AHJlc2VydmVkIHRhYmxlIGluZGV4AHJlc2VydmVkIHZhbHVlIG11c3QgYmUgMABPblRhYmxlSW5pdEV4cHIgY2FsbGJhY2sgZmFpbGVkAHJlc2VydmVkIG1lbW9yeSBpbmRleABPbk1lbW9yeUluaXRFeHByIGNhbGxiYWNrIGZhaWxlZABzZWdtZW50IGluZGV4AE9uRGF0YURyb3BFeHByIGNhbGxiYWNrIGZhaWxlZABPbkVsZW1Ecm9wRXhwciBjYWxsYmFjayBmYWlsZWQAT25NZW1vcnlGaWxsRXhwciBjYWxsYmFjayBmYWlsZWQAT25NZW1vcnlDb3B5RXhwciBjYWxsYmFjayBmYWlsZWQAT25UYWJsZUNvcHlFeHByIGNhbGxiYWNrIGZhaWxlZAB0YWJsZSBpbmRleABPblRhYmxlR2V0RXhwciBjYWxsYmFjayBmYWlsZWQAT25UYWJsZVNldEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uVGFibGVHcm93RXhwciBjYWxsYmFjayBmYWlsZWQAT25UYWJsZVNpemVFeHByIGNhbGxiYWNrIGZhaWxlZABPblJlZk51bGxFeHByIGNhbGxiYWNrIGZhaWxlZABPblJlZklzTnVsbEV4cHIgY2FsbGJhY2sgZmFpbGVkAGZ1bmN0aW9uIGJvZHkgbG9uZ2VyIHRoYW4gZ2l2ZW4gc2l6ZQBmdW5jdGlvbiBib2R5IG11c3QgZW5kIHdpdGggRU5EIG9wY29kZQB1bmV4cGVjdGVkIG9wY29kZQA6ACAweCV4AG9wY29kZQBpbml0X2V4cHIgaTMyLmNvbnN0IHZhbHVlAE9uSW5pdEV4cHJJMzJDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAGluaXRfZXhwciBpNjQuY29uc3QgdmFsdWUAT25Jbml0RXhwckk2NENvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAaW5pdF9leHByIGYzMi5jb25zdCB2YWx1ZQBPbkluaXRFeHByRjMyQ29uc3RFeHByIGNhbGxiYWNrIGZhaWxlZABpbml0X2V4cHIgZjY0LmNvbnN0IHZhbHVlAE9uSW5pdEV4cHJGNjRDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAGluaXRfZXhwciB2MTI4LmNvbnN0IHZhbHVlAE9uSW5pdEV4cHJWMTI4Q29uc3RFeHByIGNhbGxiYWNrIGZhaWxlZABpbml0X2V4cHIgZ2xvYmFsLmdldCBpbmRleABPbkluaXRFeHByR2xvYmFsR2V0RXhwciBjYWxsYmFjayBmYWlsZWQAaW4gaW5pdGlhbGl6ZXIgZXhwcmVzc2lvbgBleHBlY3RlZCBpMzIgaW5pdF9leHByAGV4cGVjdGVkIEVORCBvcGNvZGUgYWZ0ZXIgaW5pdGlhbGl6ZXIgZXhwcmVzc2lvbgBldmVudCBhdHRyaWJ1dGUAZXZlbnQgYXR0cmlidXRlIG11c3QgYmUgMABldmVudCBzaWduYXR1cmUgaW5kZXgAZ2xvYmFsIHR5cGUAaW52YWxpZCBnbG9iYWwgdHlwZTogJSN4AGdsb2JhbCBtdXRhYmlsaXR5AGdsb2JhbCBtdXRhYmlsaXR5IG11c3QgYmUgMCBvciAxAG1lbW9yeSBmbGFncwBtZW1vcnkgaW5pdGlhbCBwYWdlIGNvdW50AGludmFsaWQgbWVtb3J5IGluaXRpYWwgc2l6ZQBzaGFyZWQgbWVtb3J5IG11c3QgaGF2ZSBhIG1heCBzaXplAG1lbW9yeSBtYXggcGFnZSBjb3VudABpbnZhbGlkIG1lbW9yeSBtYXggc2l6ZQBtZW1vcnkgaW5pdGlhbCBzaXplIG11c3QgYmUgPD0gbWF4IHNpemUAdGFibGUgZWxlbSB0eXBlAHRhYmxlIGVsZW0gdHlwZSBtdXN0IGJ5IGZ1bmNyZWYgb3IgYW55cmVmAHRhYmxlIGZsYWdzAHRhYmxlIGluaXRpYWwgZWxlbSBjb3VudAB0YWJsZXMgbWF5IG5vdCBiZSBzaGFyZWQAdGFibGUgbWF4IGVsZW0gY291bnQAdGFibGUgaW5pdGlhbCBlbGVtIGNvdW50IG11c3QgYmUgPD0gbWF4IGVsZW0gY291bnQAc3RyaW5nIGxlbmd0aAB1bmFibGUgdG8gcmVhZCBzdHJpbmc6ICVzAGludmFsaWQgdXRmLTggZW5jb2Rpbmc6ICVzAHdhcm5pbmcAZXJyb3IAJTA3eng6ICVzOiAlcwoAT25Jbml0RXhwckk2NENvbnN0RXhwcihpbmRleDogJXUsIHZhbHVlOiAlbGx1KQoAT25Jbml0RXhwckkzMkNvbnN0RXhwcihpbmRleDogJXUsIHZhbHVlOiAldSkKAE9uSW5pdEV4cHJHbG9iYWxHZXRFeHByKGluZGV4OiAldSwgZ2xvYmFsX2luZGV4OiAldSkKAE9uSW5pdEV4cHJWMTI4Q29uc3RFeHByKGluZGV4OiAldSB2YWx1ZTogKCAweCUwOHggMHglMDh4IDB4JTA4eCAweCUwOHgpKQoAT25Jbml0RXhwckY2NENvbnN0RXhwcihpbmRleDogJXUgdmFsdWU6ICVnICgweDA4JWxseCkpCgBPbkluaXRFeHByRjMyQ29uc3RFeHByKGluZGV4OiAldSwgdmFsdWU6ICVnICgweDA0JXgpKQoARW5kRXZlbnRTZWN0aW9uCgBPbkV2ZW50VHlwZShpbmRleDogJXUsIHNpZ19pbmRleDogJXUpCgBPbkV2ZW50Q291bnQoJXUpCgBCZWdpbkV2ZW50U2VjdGlvbiglemQpCgBFbmRMaW5raW5nU2VjdGlvbgoAT25Jbml0RnVuY3Rpb24oJWQgcHJpb3JpdHk6ICVkKQoAT25Jbml0RnVuY3Rpb25Db3VudCgldSkKAE9uU2VnbWVudEluZm8oJWQgbmFtZTogJS4qcywgYWxpZ25tZW50OiAlZCwgZmxhZ3M6IDB4JXgpCgBPblNlZ21lbnRJbmZvQ291bnQoJXUpCgBPbkV2ZW50U3ltYm9sKG5hbWU6ICUuKnMgZmxhZ3M6IDB4JXggaW5kZXg6ICV1KQoAT25TZWN0aW9uU3ltYm9sKGZsYWdzOiAweCV4IGluZGV4OiAldSkKAE9uR2xvYmFsU3ltYm9sKG5hbWU6ICUuKnMgZmxhZ3M6IDB4JXggaW5kZXg6ICV1KQoAT25GdW5jdGlvblN5bWJvbChuYW1lOiAlLipzIGZsYWdzOiAweCV4IGluZGV4OiAldSkKAE9uRGF0YVN5bWJvbChuYW1lOiAlLipzIGZsYWdzOiAweCV4KQoAc2VjdGlvbgBPblN5bWJvbCh0eXBlOiAlcyBmbGFnczogMHgleCkKAE9uU3ltYm9sQ291bnQoJXUpCgBCZWdpbkxpbmtpbmdTZWN0aW9uKCV6ZCkKAEVuZER5bGlua1NlY3Rpb24KAE9uRHlsaW5rTmVlZGVkKG5hbWU6ICUuKnMpCgBPbkR5bGlua05lZWRlZENvdW50KCV1KQoAT25EeWxpbmtJbmZvKG1lbV9zaXplOiAldSwgbWVtX2FsaWduOiAldSwgdGFibGVfc2l6ZTogJXUsIHRhYmxlX2FsaWduOiAldSkKAEJlZ2luRHlsaW5rU2VjdGlvbiglemQpCgBFbmRSZWxvY1NlY3Rpb24KAE9uUmVsb2ModHlwZTogJXMsIG9mZnNldDogJXpkLCBpbmRleDogJXUsIGFkZGVuZDogJWQpCgBPblJlbG9jQ291bnQoY291bnQ6ICV1LCBzZWN0aW9uOiAldSkKAEJlZ2luUmVsb2NTZWN0aW9uKCV6ZCkKAEVuZE5hbWVzU2VjdGlvbgoAT25Mb2NhbE5hbWUoZnVuY19pbmRleDogJXUsIGxvY2FsX2luZGV4OiAldSwgbmFtZTogIiUuKnMiKQoAT25Mb2NhbE5hbWVMb2NhbENvdW50KGluZGV4OiAldSwgY291bnQ6ICV1KQoAT25Mb2NhbE5hbWVGdW5jdGlvbkNvdW50KCV1KQoAT25Mb2NhbE5hbWVTdWJzZWN0aW9uKGluZGV4OiV1LCBuYW1ldHlwZToldSwgc2l6ZTolemQpCgBPbkZ1bmN0aW9uTmFtZShpbmRleDogJXUsIG5hbWU6ICIlLipzIikKAE9uRnVuY3Rpb25OYW1lc0NvdW50KCV1KQoAT25GdW5jdGlvbk5hbWVTdWJzZWN0aW9uKGluZGV4OiV1LCBuYW1ldHlwZToldSwgc2l6ZTolemQpCgBPbk1vZHVsZU5hbWUobmFtZTogIiUuKnMiKQoAT25Nb2R1bGVOYW1lU3Vic2VjdGlvbihpbmRleDoldSwgbmFtZXR5cGU6JXUsIHNpemU6JXpkKQoAQmVnaW5OYW1lc1NlY3Rpb24oJXpkKQoARW5kRGF0YUNvdW50U2VjdGlvbgoAT25EYXRhQ291bnQoJXUpCgBCZWdpbkRhdGFDb3VudFNlY3Rpb24oJXpkKQoARW5kRGF0YVNlY3Rpb24KAEVuZERhdGFTZWdtZW50KCV1KQoAT25EYXRhU2VnbWVudERhdGEoaW5kZXg6JXUsIHNpemU6JXUpCgBFbmREYXRhU2VnbWVudEluaXRFeHByKCV1KQoAQmVnaW5EYXRhU2VnbWVudEluaXRFeHByKCV1KQoAdHJ1ZQBmYWxzZQBCZWdpbkRhdGFTZWdtZW50KGluZGV4OiAldSwgbWVtb3J5X2luZGV4OiAldSwgcGFzc2l2ZTogJXMpCgBPbkRhdGFTZWdtZW50Q291bnQoJXUpCgBCZWdpbkRhdGFTZWN0aW9uKCV6ZCkKAEVuZEVsZW1TZWN0aW9uCgBFbmRFbGVtU2VnbWVudCgldSkKAE9uRWxlbVNlZ21lbnRGdW5jdGlvbkluZGV4KGluZGV4OiAldSwgZnVuY19pbmRleDogJXUpCgBPbkVsZW1TZWdtZW50RnVuY3Rpb25JbmRleENvdW50KGluZGV4OiAldSwgY291bnQ6ICV1KQoARW5kRWxlbVNlZ21lbnRJbml0RXhwcigldSkKAEJlZ2luRWxlbVNlZ21lbnRJbml0RXhwcigldSkKAEJlZ2luRWxlbVNlZ21lbnQoaW5kZXg6ICV1LCB0YWJsZV9pbmRleDogJXUsIHBhc3NpdmU6ICVzKQoAT25FbGVtU2VnbWVudENvdW50KCV1KQoAQmVnaW5FbGVtU2VjdGlvbiglemQpCgBPblNpbWRTaHVmZmxlT3BFeHByIChsYW5lOiAweCUwOHggJTA4eCAlMDh4ICUwOHgpCgBPblNpbWRMYW5lT3BFeHByIChsYW5lOiAlbGx1KQoARW5kQ29kZVNlY3Rpb24KAEVuZEZ1bmN0aW9uQm9keSgldSkKAE9uVW5yZWFjaGFibGVFeHByCgBPblRlcm5hcnlFeHByKCIlcyIgKCV1KSkKAE9uVW5hcnlFeHByKCIlcyIgKCV1KSkKAE9uVHJ5RXhwcihzaWc6IAApCgBmdW5jaWR4WyVkXQBPblRocm93RXhwcihldmVudF9pbmRleDogJXUpCgBPblN0b3JlRXhwcihvcGNvZGU6ICIlcyIgKCV1KSwgYWxpZ24gbG9nMjogJXUsIG9mZnNldDogJXUpCgBPblNlbGVjdEV4cHIKAE9uUmV0dXJuQ2FsbEluZGlyZWN0RXhwcihzaWdfaW5kZXg6ICV1LCB0YWJsZV9pbmRleDogJXUpCgBPblJldHVybkNhbGxFeHByKGZ1bmNfaW5kZXg6ICV1KQoAT25SZXR1cm5FeHByCgBPblJldGhyb3dFeHByCgBPbk5vcEV4cHIKAE9uUmVmSXNOdWxsRXhwcgoAT25SZWZOdWxsRXhwcgoAT25UYWJsZVNpemVFeHByKCV1KQoAT25UYWJsZUdyb3dFeHByKCV1KQoAT25UYWJsZVNldEV4cHIoJXUpCgBPblRhYmxlR2V0RXhwcigldSkKAE9uVGFibGVJbml0RXhwcigldSkKAE9uRWxlbURyb3BFeHByKCV1KQoAT25UYWJsZUNvcHlFeHByCgBPbk1lbW9yeVNpemVFeHByCgBPbk1lbW9yeUluaXRFeHByKCV1KQoAT25NZW1vcnlHcm93RXhwcgoAT25NZW1vcnlGaWxsRXhwcgoAT25EYXRhRHJvcEV4cHIoJXUpCgBPbk1lbW9yeUNvcHlFeHByCgBPbkxvb3BFeHByKHNpZzogAE9uTG9jYWxUZWVFeHByKGluZGV4OiAldSkKAE9uTG9jYWxTZXRFeHByKGluZGV4OiAldSkKAE9uTG9jYWxHZXRFeHByKGluZGV4OiAldSkKAE9uTG9hZEV4cHIob3Bjb2RlOiAiJXMiICgldSksIGFsaWduIGxvZzI6ICV1LCBvZmZzZXQ6ICV1KQoAT25JZkV4cHIoc2lnOiAAT25JNjRDb25zdEV4cHIoJWxsdSAoMHglbGx4KSkKAE9uSTMyQ29uc3RFeHByKCV1ICgweCV4KSkKAE9uR2xvYmFsU2V0RXhwcihpbmRleDogJXUpCgBPbkdsb2JhbEdldEV4cHIoaW5kZXg6ICV1KQoAT25WMTI4Q29uc3RFeHByKDB4JTA4eCAweCUwOHggMHglMDh4IDB4JTA4eCkKAE9uRjY0Q29uc3RFeHByKCVnICgweDA4JWxseCkpCgBPbkYzMkNvbnN0RXhwciglZyAoMHgwNCV4KSkKAE9uRW5kRXhwcgoAT25FbHNlRXhwcgoAT25Ecm9wRXhwcgoAT25Db252ZXJ0RXhwcigiJXMiICgldSkpCgBPbkNvbXBhcmVFeHByKCIlcyIgKCV1KSkKAE9uQ2F0Y2hFeHByCgBPbkNhbGxJbmRpcmVjdEV4cHIoc2lnX2luZGV4OiAldSwgdGFibGVfaW5kZXg6ICV1KQoAT25DYWxsRXhwcihmdW5jX2luZGV4OiAldSkKAE9uQnJUYWJsZUV4cHIobnVtX3RhcmdldHM6ICV1LCBkZXB0aHM6IFsAXSwgZGVmYXVsdDogJXUpCgBPbkJyT25FeG5FeHByKGRlcHRoOiAldSwgZXZlbnRfaW5kZXg6ICV1KQoAT25CcklmRXhwcihkZXB0aDogJXUpCgBPbkJyRXhwcihkZXB0aDogJXUpCgBPbkJsb2NrRXhwcihzaWc6IABPbkJpbmFyeUV4cHIoIiVzIiAoJXUpKQoAT25BdG9taWNOb3RpZnlFeHByKG9wY29kZTogIiVzIiAoJXUpLCBhbGlnbiBsb2cyOiAldSwgb2Zmc2V0OiAldSkKAE9uQXRvbWljV2FpdEV4cHIob3Bjb2RlOiAiJXMiICgldSksIGFsaWduIGxvZzI6ICV1LCBvZmZzZXQ6ICV1KQoAT25BdG9taWNSbXdDbXB4Y2hnRXhwcihvcGNvZGU6ICIlcyIgKCV1KSwgYWxpZ24gbG9nMjogJXUsIG9mZnNldDogJXUpCgBPbkF0b21pY1Jtd0V4cHIob3Bjb2RlOiAiJXMiICgldSksIGFsaWduIGxvZzI6ICV1LCBvZmZzZXQ6ICV1KQoAT25BdG9taWNTdG9yZUV4cHIob3Bjb2RlOiAiJXMiICgldSksIGFsaWduIGxvZzI6ICV1LCBvZmZzZXQ6ICV1KQoAT25BdG9taWNMb2FkRXhwcihvcGNvZGU6ICIlcyIgKCV1KSwgYWxpZ24gbG9nMjogJXUsIG9mZnNldDogJXUpCgBPbkxvY2FsRGVjbChpbmRleDogJXUsIGNvdW50OiAldSwgdHlwZTogJXMpCgBPbkxvY2FsRGVjbENvdW50KCV1KQoAQmVnaW5GdW5jdGlvbkJvZHkoJXUsIHNpemU6JXpkKQoAT25GdW5jdGlvbkJvZHlDb3VudCgldSkKAEJlZ2luQ29kZVNlY3Rpb24oJXpkKQoARW5kU3RhcnRTZWN0aW9uCgBPblN0YXJ0RnVuY3Rpb24oJXUpCgBCZWdpblN0YXJ0U2VjdGlvbiglemQpCgBFbmRFeHBvcnRTZWN0aW9uCgBPbkV4cG9ydChpbmRleDogJXUsIGtpbmQ6ICVzLCBpdGVtX2luZGV4OiAldSwgbmFtZTogIiUuKnMiKQoAT25FeHBvcnRDb3VudCgldSkKAEJlZ2luRXhwb3J0U2VjdGlvbiglemQpCgBFbmRHbG9iYWxTZWN0aW9uCgBFbmRHbG9iYWwoJXUpCgBFbmRHbG9iYWxJbml0RXhwcigldSkKAEJlZ2luR2xvYmFsSW5pdEV4cHIoJXUpCgBCZWdpbkdsb2JhbChpbmRleDogJXUsIHR5cGU6ICVzLCBtdXRhYmxlOiAlcykKAE9uR2xvYmFsQ291bnQoJXUpCgBCZWdpbkdsb2JhbFNlY3Rpb24oJXpkKQoARW5kTWVtb3J5U2VjdGlvbgoAaW5pdGlhbDogJWxsdSwgbWF4OiAlbGx1AGluaXRpYWw6ICVsbHUAT25NZW1vcnkoaW5kZXg6ICV1LCAlcykKAE9uTWVtb3J5Q291bnQoJXUpCgBCZWdpbk1lbW9yeVNlY3Rpb24oJXpkKQoARW5kVGFibGVTZWN0aW9uCgBPblRhYmxlKGluZGV4OiAldSwgZWxlbV90eXBlOiAlcywgJXMpCgBPblRhYmxlQ291bnQoJXUpCgBCZWdpblRhYmxlU2VjdGlvbiglemQpCgBFbmRGdW5jdGlvblNlY3Rpb24KAE9uRnVuY3Rpb24oaW5kZXg6ICV1LCBzaWdfaW5kZXg6ICV1KQoAT25GdW5jdGlvbkNvdW50KCV1KQoAQmVnaW5GdW5jdGlvblNlY3Rpb24oJXpkKQoARW5kSW1wb3J0U2VjdGlvbgoAT25JbXBvcnRFdmVudChpbXBvcnRfaW5kZXg6ICV1LCBldmVudF9pbmRleDogJXUsIHNpZ19pbmRleDogJXUpCgBPbkltcG9ydEdsb2JhbChpbXBvcnRfaW5kZXg6ICV1LCBnbG9iYWxfaW5kZXg6ICV1LCB0eXBlOiAlcywgbXV0YWJsZTogJXMpCgBPbkltcG9ydE1lbW9yeShpbXBvcnRfaW5kZXg6ICV1LCBtZW1vcnlfaW5kZXg6ICV1LCAlcykKAE9uSW1wb3J0VGFibGUoaW1wb3J0X2luZGV4OiAldSwgdGFibGVfaW5kZXg6ICV1LCBlbGVtX3R5cGU6ICVzLCAlcykKAE9uSW1wb3J0RnVuYyhpbXBvcnRfaW5kZXg6ICV1LCBmdW5jX2luZGV4OiAldSwgc2lnX2luZGV4OiAldSkKAE9uSW1wb3J0KGluZGV4OiAldSwgbW9kdWxlOiAiJS4qcyIsIGZpZWxkOiAiJS4qcyIpCgBPbkltcG9ydENvdW50KCV1KQoAQmVnaW5JbXBvcnRTZWN0aW9uKCV6ZCkKAEVuZFR5cGVTZWN0aW9uCgBPblR5cGUoaW5kZXg6ICV1LCBwYXJhbXM6IABbACwgcmVzdWx0czogAE9uVHlwZUNvdW50KCV1KQoAQmVnaW5UeXBlU2VjdGlvbiglemQpCgBFbmRDdXN0b21TZWN0aW9uCgBCZWdpbkN1c3RvbVNlY3Rpb24oJyUuKnMnLCBzaXplOiAlemQpCgBFbmRNb2R1bGUKAEJlZ2luTW9kdWxlKHZlcnNpb246ICV1KQoATjR3YWJ0MTlCaW5hcnlSZWFkZXJMb2dnaW5nRQArMABJbnZhbGlkAGFzc2VydF9leGhhdXN0aW9uAGFzc2VydF9pbnZhbGlkAGFzc2VydF9tYWxmb3JtZWQAYXNzZXJ0X3JldHVybgBhc3NlcnRfcmV0dXJuX2FyaXRobWV0aWNfbmFuAGFzc2VydF9yZXR1cm5fY2Fub25pY2FsX25hbgBhc3NlcnRfdHJhcABhc3NlcnRfdW5saW5rYWJsZQBiaW4AZGF0YQBlbGVtAEVPRgBldmVudABleHBvcnQAZ2V0AGdsb2JhbABpbXBvcnQAaW52b2tlAGxvY2FsACgAbWVtb3J5AG1vZHVsZQBtdXQAb2Zmc2V0AHBhcmFtAHBhc3NpdmUAcXVvdGUAcmVnaXN0ZXIAcmVzdWx0ACkAc2hhcmVkAHN0YXJ0AHRhYmxlAHRoZW4AdHlwZQBpOHgxNgBpMTZ4OABpMzJ4NABpNjR4MgBmMzJ4NABmNjR4MgBGTE9BVABJTlQATkFUAEFUT01JQ19MT0FEAEFUT01JQ19STVcAQVRPTUlDX1JNV19DTVBYQ0hHAEFUT01JQ19TVE9SRQBBVE9NSUNfV0FJVABBVE9NSUNfTk9USUZZAEJJTkFSWQBjYXRjaABDT01QQVJFAENPTlNUAENPTlZFUlQAZWxzZQBlbmQAZ2xvYmFsLmdldABsb2NhbC5nZXQATE9BRABtZW1vcnkuY29weQBkYXRhLmRyb3AAbWVtb3J5LmZpbGwAbWVtb3J5Lmdyb3cAbWVtb3J5LmluaXQAbWVtb3J5LnNpemUAdGFibGUuY29weQBlbGVtLmRyb3AAdGFibGUuaW5pdAB0YWJsZS5zaXplAHJlZi5udWxsAG5vcABTSU1ETEFORU9QAFNJTURTSFVGRkxFT1AAU1RPUkUAVEVSTkFSWQBVTkFSWQB1bnJlYWNoYWJsZQBhbGlnbj0Ab2Zmc2V0PQBSZXNlcnZlZABURVhUAFZBUgBWQUxVRVRZUEUALi4uAGludmFsaWQgZGVwdGg6ICV1IChtYXggJXpkKQB0eXBlIG1pc21hdGNoIGluIAAsIGV4cGVjdGVkIAAgYnV0IGdvdCAALi4uIAAlcwBdADx0eXBlIGluZGV4PgBhbnlyZWYAYW55AHZvaWQAZXhjZXB0X3JlZgBmdW5jAGZ1bmNyZWYAdjEyOABmNjQAZjMyAGk2NABpMzIALCAAcmV0dXJuIHNpZ25hdHVyZXMgaGF2ZSBpbmNvbnNpc3RlbnQgdHlwZXM6IGV4cGVjdGVkICVzLCBnb3QgJXMAYmxvY2sAYnIAYnJfaWYAYnJfb25fZXhuAGJyX29uX2V4biBoYXMgaW5jb25zaXN0ZW50IHR5cGVzOiBleHBlY3RlZCAlcywgZ290ICVzAGJyX3RhYmxlAGJyX3RhYmxlIGxhYmVscyBoYXZlIGluY29uc2lzdGVudCB0eXBlczogZXhwZWN0ZWQgJXMsIGdvdCAlcwBjYWxsAGNhbGxfaW5kaXJlY3QAcmV0dXJuX2NhbGwAcmV0dXJuX2NhbGxfaW5kaXJlY3QAdHJ5IGJsb2NrAGRyb3AAaWYgdHJ1ZSBicmFuY2gAZnVuY3Rpb24AbG9vcABpZgBpZiBmYWxzZSBicmFuY2gAdHJ5AHRyeSBjYXRjaABnbG9iYWwuc2V0AGxvY2FsLnNldABsb2NhbC50ZWUAdGFibGUuZ2V0AHRhYmxlLnNldAB0YWJsZS5ncm93AHJlZi5pc19udWxsAHJldGhyb3cAdGhyb3cAcmV0dXJuAHNlbGVjdABsYW5lIGluZGV4IG11c3QgYmUgbGVzcyB0aGFuICVkIChnb3QgJWxsdSkAbGFuZSBpbmRleCBtdXN0IGJlIGxlc3MgdGhhbiAzMiAoZ290ICVkKQBpbXBsaWNpdCByZXR1cm4ALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4ALgBpbmZpbml0eQBuYW4AJWQAJXUAJWx1AE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=";var tempDoublePtr=352224;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<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}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){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function 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<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){SYSCALLS.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}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 _abort(){Module["abort"]()}function _emscripten_get_heap_size(){return TOTAL_MEMORY}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){try{var newBuffer=new ArrayBuffer(size);if(newBuffer.byteLength!=size)return false;new Int8Array(newBuffer).set(HEAP8)}catch(e){return false}Module["_emscripten_replace_memory"](newBuffer);HEAP8=new Int8Array(newBuffer);HEAP16=new Int16Array(newBuffer);HEAP32=new Int32Array(newBuffer);HEAPU8=new Uint8Array(newBuffer);HEAPU16=new Uint16Array(newBuffer);HEAPU32=new Uint32Array(newBuffer);HEAPF32=new Float32Array(newBuffer);HEAPF64=new Float64Array(newBuffer);buffer=newBuffer;return newBuffer}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=16777216;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize<requestedSize){if(newSize<=536870912){newSize=alignUp(2*newSize,PAGE_MULTIPLE)}else{newSize=Math.min(alignUp((3*newSize+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=emscripten_realloc_buffer(newSize);if(!replacement||replacement.byteLength!=newSize){return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();TOTAL_MEMORY=newSize;HEAPU32[DYNAMICTOP_PTR>>2]=requestedSize;return true}function _getenv(name){if(name===0)return 0;name=UTF8ToString(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}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;return value}var ASSERTIONS=false;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){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<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function jsCall_ii(index,a1){return functionPointers[index](a1)}function jsCall_iii(index,a1,a2){return functionPointers[index](a1,a2)}function jsCall_iiii(index,a1,a2,a3){return functionPointers[index](a1,a2,a3)}function jsCall_iiiii(index,a1,a2,a3,a4){return functionPointers[index](a1,a2,a3,a4)}function jsCall_iiiiii(index,a1,a2,a3,a4,a5){return functionPointers[index](a1,a2,a3,a4,a5)}function jsCall_iiiiiii(index,a1,a2,a3,a4,a5,a6){return functionPointers[index](a1,a2,a3,a4,a5,a6)}function jsCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){return functionPointers[index](a1,a2,a3,a4,a5,a6,a7)}function jsCall_v(index){functionPointers[index]()}function jsCall_vi(index,a1){functionPointers[index](a1)}function jsCall_vii(index,a1,a2){functionPointers[index](a1,a2)}function jsCall_viii(index,a1,a2,a3){functionPointers[index](a1,a2,a3)}function jsCall_viiii(index,a1,a2,a3,a4){functionPointers[index](a1,a2,a3,a4)}function jsCall_viiiii(index,a1,a2,a3,a4,a5){functionPointers[index](a1,a2,a3,a4,a5)}function jsCall_viiiiii(index,a1,a2,a3,a4,a5,a6){functionPointers[index](a1,a2,a3,a4,a5,a6)}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,Infinity:Infinity};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":jsCall_ii,"e":jsCall_iii,"f":jsCall_iiii,"g":jsCall_iiiii,"h":jsCall_iiiiii,"i":jsCall_iiiiiii,"j":jsCall_iiiiiiii,"k":jsCall_v,"l":jsCall_vi,"m":jsCall_vii,"n":jsCall_viii,"o":jsCall_viiii,"p":jsCall_viiiii,"q":jsCall_viiiiii,"r":___buildEnvironment,"s":___setErrNo,"t":___syscall140,"u":___syscall146,"v":___syscall54,"w":___syscall6,"x":_abort,"y":_emscripten_get_heap_size,"z":_emscripten_memcpy_big,"A":_emscripten_resize_heap,"B":_getenv,"C":abortOnCannotGrowMemory,"D":emscripten_realloc_buffer,"E":flush_NO_FILESYSTEM,"F":tempDoublePtr,"G":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { -"almost asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.F|0,i=env.G|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.abs,u=global.Math.ceil,v=global.Math.imul,w=global.Math.clz32,x=env.a,y=env.b,z=env.c,A=env.d,B=env.e,C=env.f,D=env.g,E=env.h,F=env.i,G=env.j,H=env.k,I=env.l,J=env.m,K=env.n,L=env.o,M=env.p,N=env.q,O=env.r,P=env.s,Q=env.t,R=env.u,S=env.v,T=env.w,U=env.x,V=env.y,W=env.z,X=env.A,Y=env.B,Z=env.C,_=env.D,$=env.E,aa=330288,ba=5573168,ca=0.0;function da(newBuffer){a=new Int8Array(newBuffer);d=new Uint8Array(newBuffer);b=new Int16Array(newBuffer);e=new Uint16Array(newBuffer);c=new Int32Array(newBuffer);f=new Float32Array(newBuffer);g=new Float64Array(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.F|0,i=env.G|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.abs,u=global.Math.ceil,v=global.Math.imul,w=global.Math.clz32,x=env.a,y=env.b,z=env.c,A=env.d,B=env.e,C=env.f,D=env.g,E=env.h,F=env.i,G=env.j,H=env.k,I=env.l,J=env.m,K=env.n,L=env.o,M=env.p,N=env.q,O=env.r,P=env.s,Q=env.t,R=env.u,S=env.v,T=env.w,U=env.x,V=env.y,W=env.z,X=env.A,Y=env.B,Z=env.C,_=env.D,$=env.E,aa=352240,ba=5595120,ca=0.0;function da(newBuffer){a=new Int8Array(newBuffer);d=new Uint8Array(newBuffer);b=new Int16Array(newBuffer);e=new Uint16Array(newBuffer);c=new Int32Array(newBuffer);f=new Float32Array(newBuffer);g=new Float64Array(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function tt(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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,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,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0,Th=0,Uh=0,Vh=0,Wh=0,Xh=0,Yh=0,Zh=0,_h=0,$h=0,ai=0,bi=0,ci=0,di=0,ei=0,fi=0,gi=0,hi=0,ii=0,ji=0,ki=0,li=0,mi=0,ni=0,oi=0,pi=0,qi=0,ri=0,si=0,ti=0,ui=0,vi=0,wi=0,xi=0,yi=0,zi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0,Gi=0,Hi=0,Ii=0,Ji=0,Ki=0,Li=0,Mi=0,Ni=0,Oi=0,Pi=0,Qi=0,Ri=0,Si=0,Ti=0,Ui=0,Vi=0,Wi=0,Xi=0,Yi=0,Zi=0,_i=0,$i=0,aj=0,bj=0,cj=0,dj=0,ej=0,fj=0,gj=0,hj=0,ij=0,jj=0,kj=0,lj=0,mj=0,nj=0,oj=0,pj=0,qj=0,rj=0,sj=0,tj=0,uj=0,vj=0,wj=0,xj=0,yj=0,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0,Jj=0,Kj=0,Lj=0,Mj=0,Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0,Tj=0,Uj=0,Vj=0,Wj=0,Xj=0,Yj=0,Zj=0,_j=0,$j=0,ak=0,bk=0,ck=0,dk=0,ek=0,fk=0,gk=0,hk=0,ik=0,jk=0,kk=0,lk=0,mk=0,nk=0,ok=0,pk=0,qk=0,rk=0,sk=0,tk=0,uk=0,vk=0,wk=0,xk=0,yk=0,zk=0,Ak=0,Bk=0,Ck=0,Dk=0,Ek=0,Fk=0,Gk=0,Hk=0,Ik=0,Jk=0,Kk=0,Lk=0,Mk=0,Nk=0,Ok=0,Pk=0,Qk=0;Nk=aa;aa=aa+11360|0;Lk=Nk+11340|0;Ca=Nk+56|0;Ba=Nk+48|0;Aa=Nk+40|0;Fa=Nk+32|0;Ea=Nk+24|0;Da=Nk+16|0;za=Nk+8|0;ya=Nk;v=Nk+11320|0;O=Nk+11300|0;Q=Nk+11280|0;Lb=Nk+11260|0;Mk=Nk+64|0;A=Nk+11240|0;I=Nk+11220|0;K=Nk+11200|0;L=Nk+11180|0;M=Nk+11160|0;N=Nk+11140|0;P=Nk+11120|0;R=Nk+11100|0;S=Nk+11080|0;T=Nk+11060|0;U=Nk+11040|0;V=Nk+11020|0;W=Nk+11e3|0;X=Nk+10980|0;t=Nk+10960|0;u=Nk+10940|0;zk=Nk+10920|0;Ck=Nk+10900|0;w=Nk+10880|0;x=Nk+10860|0;$j=Nk+10840|0;Cg=Nk+10820|0;y=Nk+10800|0;z=Nk+10780|0;sb=Nk+10760|0;B=Nk+10740|0;C=Nk+10720|0;D=Nk+10700|0;E=Nk+10680|0;F=Nk+10660|0;G=Nk+10640|0;H=Nk+10620|0;Sb=Nk+10600|0;ph=Nk+10580|0;ak=Nk+10560|0;qh=Nk+10540|0;wk=Nk+10520|0;Ng=Nk+10500|0;Ag=Nk+10480|0;Ha=Nk+10460|0;Ga=Nk+10440|0;J=Nk+10420|0;rh=Nk+10400|0;gh=Nk+10380|0;kk=Nk+10360|0;rk=Nk+10340|0;sk=Nk+10320|0;Bg=Nk+10300|0;Ia=Nk+10280|0;La=Nk+10260|0;Ma=Nk+10240|0;Na=Nk+10220|0;Oa=Nk+10200|0;Pa=Nk+10180|0;hh=Nk+10160|0;Ja=Nk+10140|0;_j=Nk+10120|0;Qa=Nk+10100|0;Ka=Nk+10080|0;ih=Nk+10060|0;lk=Nk+10040|0;vk=Nk+10020|0;Wa=Nk+1e4|0;Xa=Nk+9980|0;Ra=Nk+9960|0;Ya=Nk+9940|0;Sa=Nk+9920|0;Za=Nk+9900|0;Ta=Nk+9880|0;Ua=Nk+9860|0;Va=Nk+9840|0;_a=Nk+9820|0;fk=Nk+9800|0;pk=Nk+9780|0;qk=Nk+9760|0;$a=Nk+9740|0;gb=Nk+9720|0;ab=Nk+9700|0;bb=Nk+9680|0;hb=Nk+9660|0;cb=Nk+9640|0;db=Nk+9620|0;eb=Nk+9600|0;ib=Nk+9580|0;fb=Nk+9560|0;gk=Nk+9540|0;jb=Nk+9520|0;kb=Nk+9500|0;lb=Nk+9480|0;tb=Nk+9460|0;ub=Nk+9440|0;vb=Nk+9420|0;wb=Nk+9400|0;xb=Nk+9380|0;Tb=Nk+9360|0;yb=Nk+9340|0;zb=Nk+9320|0;Ab=Nk+9300|0;Bb=Nk+9280|0;Cb=Nk+9260|0;Ub=Nk+9240|0;Db=Nk+9220|0;Vb=Nk+9200|0;Eb=Nk+9180|0;Fb=Nk+9160|0;Wb=Nk+9140|0;Gb=Nk+9120|0;Hb=Nk+9100|0;mb=Nk+9080|0;nb=Nk+9060|0;Ib=Nk+9040|0;ob=Nk+9020|0;uj=Nk+9e3|0;bk=Nk+8980|0;pb=Nk+8960|0;Jb=Nk+8940|0;qb=Nk+8920|0;rb=Nk+8900|0;ck=Nk+8880|0;Pi=Nk+8860|0;Kb=Nk+8840|0;Xb=Nk+8820|0;Yb=Nk+8800|0;Zb=Nk+8780|0;_b=Nk+8760|0;$b=Nk+8740|0;ac=Nk+8720|0;nd=Nk+8700|0;bc=Nk+8680|0;cc=Nk+8660|0;dc=Nk+8640|0;ec=Nk+8620|0;fc=Nk+8600|0;gc=Nk+8580|0;hc=Nk+8560|0;od=Nk+8540|0;ic=Nk+8520|0;jc=Nk+8500|0;kc=Nk+8480|0;lc=Nk+8460|0;mc=Nk+8440|0;nc=Nk+8420|0;pd=Nk+8400|0;oc=Nk+8380|0;pc=Nk+8360|0;qc=Nk+8340|0;rc=Nk+8320|0;sc=Nk+8300|0;tc=Nk+8280|0;uc=Nk+8260|0;vc=Nk+8240|0;qd=Nk+8220|0;wc=Nk+8200|0;xc=Nk+8180|0;yc=Nk+8160|0;zc=Nk+8140|0;vj=Nk+8120|0;Mb=Nk+8100|0;Nb=Nk+8080|0;Ac=Nk+8060|0;Qi=Nk+8040|0;fi=Nk+8020|0;rd=Nk+8e3|0;sd=Nk+7980|0;td=Nk+7960|0;ud=Nk+7940|0;vd=Nk+7920|0;wd=Nk+7900|0;xd=Nk+7880|0;yd=Nk+7860|0;zd=Nk+7840|0;Ad=Nk+7820|0;Bc=Nk+7800|0;Cc=Nk+7780|0;Dc=Nk+7760|0;Ec=Nk+7740|0;Fc=Nk+7720|0;Gc=Nk+7700|0;Hc=Nk+7680|0;Ic=Nk+7660|0;Bd=Nk+7640|0;Ob=Nk+7620|0;Jc=Nk+7600|0;Kc=Nk+7580|0;Lc=Nk+7560|0;Mc=Nk+7540|0;Nc=Nk+7520|0;Oc=Nk+7500|0;Pc=Nk+7480|0;Cd=Nk+7460|0;Qc=Nk+7440|0;Rc=Nk+7420|0;Sc=Nk+7400|0;Tc=Nk+7380|0;Uc=Nk+7360|0;Dd=Nk+7340|0;Vc=Nk+7320|0;Wc=Nk+7300|0;Xc=Nk+7280|0;Yc=Nk+7260|0;Zc=Nk+7240|0;_c=Nk+7220|0;Ed=Nk+7200|0;$c=Nk+7180|0;ad=Nk+7160|0;bd=Nk+7140|0;cd=Nk+7120|0;Pb=Nk+7100|0;dd=Nk+7080|0;dk=Nk+7060|0;wj=Nk+7040|0;Qb=Nk+7020|0;Rb=Nk+7e3|0;ed=Nk+6980|0;fd=Nk+6960|0;gd=Nk+6940|0;Oh=Nk+6920|0;Fd=Nk+6900|0;Gd=Nk+6880|0;Hd=Nk+6860|0;Id=Nk+6840|0;Jd=Nk+6820|0;Kd=Nk+6800|0;Ld=Nk+6780|0;Md=Nk+6760|0;Nd=Nk+6740|0;Od=Nk+6720|0;Pd=Nk+6700|0;Qd=Nk+6680|0;Rd=Nk+6660|0;af=Nk+6640|0;Sd=Nk+6620|0;Td=Nk+6600|0;Ud=Nk+6580|0;Vd=Nk+6560|0;Wd=Nk+6540|0;Xd=Nk+6520|0;Yd=Nk+6500|0;Zd=Nk+6480|0;_d=Nk+6460|0;$d=Nk+6440|0;ae=Nk+6420|0;bf=Nk+6400|0;be=Nk+6380|0;ce=Nk+6360|0;de=Nk+6340|0;hd=Nk+6320|0;ee=Nk+6300|0;id=Nk+6280|0;fe=Nk+6260|0;ge=Nk+6240|0;he=Nk+6220|0;ie=Nk+6200|0;je=Nk+6180|0;ke=Nk+6160|0;le=Nk+6140|0;me=Nk+6120|0;cf=Nk+6100|0;ne=Nk+6080|0;oe=Nk+6060|0;df=Nk+6040|0;pe=Nk+6020|0;qe=Nk+6e3|0;re=Nk+5980|0;se=Nk+5960|0;te=Nk+5940|0;ue=Nk+5920|0;ve=Nk+5900|0;we=Nk+5880|0;xe=Nk+5860|0;ef=Nk+5840|0;ye=Nk+5820|0;ze=Nk+5800|0;Ae=Nk+5780|0;Be=Nk+5760|0;Ce=Nk+5740|0;jd=Nk+5720|0;De=Nk+5700|0;kd=Nk+5680|0;Ee=Nk+5660|0;Fe=Nk+5640|0;Ge=Nk+5620|0;He=Nk+5600|0;xj=Nk+5580|0;cj=Nk+5560|0;ld=Nk+5540|0;Ie=Nk+5520|0;Je=Nk+5500|0;md=Nk+5480|0;Ke=Nk+5460|0;ff=Nk+5440|0;gf=Nk+5420|0;hf=Nk+5400|0;jf=Nk+5380|0;kf=Nk+5360|0;Le=Nk+5340|0;Me=Nk+5320|0;Ne=Nk+5300|0;Oe=Nk+5280|0;Pe=Nk+5260|0;Qe=Nk+5240|0;Re=Nk+5220|0;Se=Nk+5200|0;lf=Nk+5180|0;Kf=Nk+5160|0;mf=Nk+5140|0;nf=Nk+5120|0;of=Nk+5100|0;pf=Nk+5080|0;qf=Nk+5060|0;rf=Nk+5040|0;sf=Nk+5020|0;tf=Nk+5e3|0;uf=Nk+4980|0;Lf=Nk+4960|0;Te=Nk+4940|0;Ue=Nk+4920|0;Ve=Nk+4900|0;We=Nk+4880|0;Xe=Nk+4860|0;Ye=Nk+4840|0;Ze=Nk+4820|0;_e=Nk+4800|0;dj=Nk+4780|0;$e=Nk+4760|0;vf=Nk+4740|0;wf=Nk+4720|0;xf=Nk+4700|0;yf=Nk+4680|0;zf=Nk+4660|0;Af=Nk+4640|0;ek=Nk+4620|0;Zf=Nk+4600|0;Mf=Nk+4580|0;_f=Nk+4560|0;Nf=Nk+4540|0;Bf=Nk+4520|0;Cf=Nk+4500|0;Df=Nk+4480|0;Ef=Nk+4460|0;$f=Nk+4440|0;ag=Nk+4420|0;bg=Nk+4400|0;Of=Nk+4380|0;Pf=Nk+4360|0;Qf=Nk+4340|0;cg=Nk+4320|0;dg=Nk+4300|0;eg=Nk+4280|0;fg=Nk+4260|0;Rf=Nk+4240|0;Sf=Nk+4220|0;Tf=Nk+4200|0;Ff=Nk+4180|0;Gf=Nk+4160|0;Hf=Nk+4140|0;Uf=Nk+4120|0;Vf=Nk+4100|0;Wf=Nk+4080|0;Xf=Nk+4060|0;Yf=Nk+4040|0;If=Nk+4020|0;gg=Nk+4e3|0;Jf=Nk+3980|0;hg=Nk+3960|0;ig=Nk+3940|0;mg=Nk+3920|0;ng=Nk+3900|0;jg=Nk+3880|0;kg=Nk+3860|0;og=Nk+3840|0;pg=Nk+3820|0;qg=Nk+3800|0;rg=Nk+3780|0;ik=Nk+3760|0;hk=Nk+3740|0;sg=Nk+3720|0;tg=Nk+3700|0;ug=Nk+3680|0;lg=Nk+3660|0;jk=Nk+3640|0;vg=Nk+3620|0;Dg=Nk+3600|0;Eg=Nk+3580|0;wg=Nk+3560|0;xg=Nk+3540|0;Fg=Nk+3520|0;Gg=Nk+3500|0;Hg=Nk+3480|0;Ig=Nk+3460|0;Jg=Nk+3440|0;Kg=Nk+3420|0;Lg=Nk+3400|0;yg=Nk+3380|0;zg=Nk+3360|0;Mg=Nk+3340|0;Og=Nk+3320|0;Pg=Nk+3300|0;jh=Nk+3280|0;Qg=Nk+3260|0;Rg=Nk+3240|0;Sg=Nk+3220|0;Tg=Nk+3200|0;Ug=Nk+3180|0;Vg=Nk+3160|0;Wg=Nk+3140|0;Xg=Nk+3120|0;Yg=Nk+3100|0;kh=Nk+3080|0;Zg=Nk+3060|0;_g=Nk+3040|0;$g=Nk+3020|0;ah=Nk+3e3|0;bh=Nk+2980|0;ch=Nk+2960|0;dh=Nk+2940|0;eh=Nk+2920|0;fh=Nk+2900|0;mk=Nk+2880|0;sh=Nk+2860|0;th=Nk+2840|0;lh=Nk+2820|0;mh=Nk+2800|0;nh=Nk+2780|0;oh=Nk+2760|0;nk=Nk+2740|0;ok=Nk+2720|0;uh=Nk+2700|0;vh=Nk+2680|0;wh=Nk+2660|0;xh=Nk+2640|0;yh=Nk+2620|0;zh=Nk+2600|0;Ah=Nk+2580|0;Bh=Nk+2560|0;Ch=Nk+2540|0;Dh=Nk+2520|0;Eh=Nk+2500|0;Fh=Nk+2480|0;Gh=Nk+2460|0;Hh=Nk+2440|0;Ih=Nk+2420|0;Jh=Nk+2400|0;Kh=Nk+2380|0;Ph=Nk+2360|0;Lh=Nk+2340|0;Qh=Nk+2320|0;Rh=Nk+2300|0;Sh=Nk+2280|0;Th=Nk+2260|0;Uh=Nk+2240|0;Mh=Nk+2220|0;gi=Nk+2200|0;Vh=Nk+2180|0;Wh=Nk+2160|0;Xh=Nk+2140|0;Yh=Nk+2120|0;hi=Nk+2100|0;Zh=Nk+2080|0;_h=Nk+2060|0;ii=Nk+2040|0;$h=Nk+2020|0;ai=Nk+2e3|0;bi=Nk+1980|0;ci=Nk+1960|0;ji=Nk+1940|0;ki=Nk+1920|0;di=Nk+1900|0;ei=Nk+1880|0;Nh=Nk+1860|0;li=Nk+1840|0;mi=Nk+1820|0;ni=Nk+1800|0;oi=Nk+1780|0;Ri=Nk+1760|0;pi=Nk+1740|0;qi=Nk+1720|0;ri=Nk+1700|0;si=Nk+1680|0;ti=Nk+1660|0;ui=Nk+1640|0;vi=Nk+1620|0;wi=Nk+1600|0;xi=Nk+1580|0;yi=Nk+1560|0;zi=Nk+1540|0;Si=Nk+1520|0;Ti=Nk+1500|0;Ai=Nk+1480|0;Bi=Nk+1460|0;Ci=Nk+1440|0;Di=Nk+1420|0;Ei=Nk+1400|0;Fi=Nk+1380|0;Gi=Nk+1360|0;Hi=Nk+1340|0;Ii=Nk+1320|0;Ji=Nk+1300|0;Ki=Nk+1280|0;Ui=Nk+1260|0;Vi=Nk+1240|0;Li=Nk+1220|0;Mi=Nk+1200|0;Wi=Nk+1180|0;Xi=Nk+1160|0;Yi=Nk+1140|0;Zi=Nk+1120|0;_i=Nk+1100|0;$i=Nk+1080|0;Ni=Nk+1060|0;Oi=Nk+1040|0;aj=Nk+1020|0;bj=Nk+1e3|0;ej=Nk+980|0;fj=Nk+960|0;gj=Nk+940|0;hj=Nk+920|0;ij=Nk+900|0;jj=Nk+880|0;kj=Nk+860|0;lj=Nk+840|0;mj=Nk+820|0;nj=Nk+800|0;oj=Nk+780|0;pj=Nk+760|0;qj=Nk+740|0;rj=Nk+720|0;sj=Nk+700|0;tj=Nk+680|0;yj=Nk+660|0;zj=Nk+640|0;Aj=Nk+620|0;Bj=Nk+600|0;Cj=Nk+580|0;Dj=Nk+560|0;Ej=Nk+540|0;Fj=Nk+520|0;Gj=Nk+500|0;Hj=Nk+480|0;Ij=Nk+460|0;Jj=Nk+440|0;Kj=Nk+420|0;Lj=Nk+400|0;Mj=Nk+380|0;Nj=Nk+360|0;Oj=Nk+340|0;Pj=Nk+320|0;Qj=Nk+300|0;Rj=Nk+280|0;Sj=Nk+260|0;Tj=Nk+240|0;Uj=Nk+220|0;Vj=Nk+200|0;Wj=Nk+180|0;Xj=Nk+160|0;Yj=Nk+140|0;Zj=Nk+120|0;tk=Nk+100|0;uk=Nk+80|0;Ak=e+52|0;Kk=e+48|0;Bk=e+56|0;xa=e+44|0;Z=e+32|0;Hk=e+4|0;Dk=Hk+11|0;Ek=e+8|0;Ik=e+16|0;Fk=e+36|0;Gk=e+24|0;Jk=e+28|0;l=O+4|0;pa=O+8|0;_=O+12|0;ha=O+16|0;r=t+4|0;va=t+8|0;fa=t+12|0;na=t+16|0;q=P+4|0;ua=P+8|0;ea=P+12|0;ma=P+16|0;m=Q+4|0;qa=Q+8|0;$=Q+12|0;ia=Q+16|0;n=A+4|0;ra=A+8|0;ba=A+12|0;ja=A+16|0;p=L+4|0;ta=L+8|0;da=L+12|0;la=L+16|0;o=I+4|0;sa=I+8|0;ca=I+12|0;ka=I+16|0;Y=e+20|0;s=y+4|0;wa=y+8|0;ga=y+12|0;oa=y+16|0;k=0;a:while(1){h=c[Ak>>2]|0;c[Kk>>2]=h;g=h;b:do if((k|0)<2){h=(c[Bk>>2]|0)-h|0;if((k|0)==1){if((h|0)<5){if((st(e,5)|0)==1){xk=8;break a}g=c[Ak>>2]|0}j=a[g>>0]|0;c:do if(j<<24>>24>-1){d:do if((j&255)<34){if(j<<24>>24==10){g=g+1|0;c[Ak>>2]=g;Ok=a[Dk>>0]|0;Pk=Ok<<24>>24<0;Ok=Pk?c[Ek>>2]|0:Ok&255;h=c[Ik>>2]|0;j=c[Fk>>2]|0;k=c[Gk>>2]|0;yk=c[Jk>>2]|0;i=(c[Kk>>2]|0)+1-j+k-yk|0;c[Q>>2]=Pk?c[Hk>>2]|0:Hk;c[m>>2]=Ok;c[qa>>2]=h;c[$>>2]=i;c[ia>>2]=1-j+k-yk+g;c[Lk>>2]=c[Q>>2];c[Lk+4>>2]=c[Q+4>>2];c[Lk+8>>2]=c[Q+8>>2];c[Lk+12>>2]=c[Q+12>>2];c[Lk+16>>2]=c[Q+16>>2];np(f,Lk,310877,za);c[Ik>>2]=(c[Ik>>2]|0)+1;c[Jk>>2]=(c[Ak>>2]|0)-(c[Fk>>2]|0)+(c[Gk>>2]|0);g=0;break b}if((j&255)>31)break c;g=g+1|0;c[Ak>>2]=g}else{switch(j<<24>>24){case 34:{xk=36;break a}case 92:break;default:break c}i=g+1|0;c[Ak>>2]=i;c[xa>>2]=i;h=a[i>>0]|0;j=i;e:do if((h&255)<103){if((h&255)<48)if((h&255)<34)if(h<<24>>24==10){g=j;break d}else{g=i;xk=75;break}else switch(h<<24>>24){case 39:case 34:{g=i;break c}default:{g=i;xk=75;break e}}if((h&255)<71){if((h+-58&255)<7){g=i;xk=75;break}}else{if(h<<24>>24==92){g=i;break c}if((h&255)<97){g=i;xk=75;break}}g=g+2|0;c[Ak>>2]=g;h=a[g>>0]|0;i=g;if((h&255)<65)if((h+-48&255)<10)break c;else{g=i;break}else if((h&255)<71|(h+-97&255)<6)break c;else{g=i;break}}else{if(h<<24>>24>-1)if((h&255)<114)if(h<<24>>24==110){g=i;break c}else{g=i;xk=75;break}else if(h<<24>>24!=115&(h&255)<117){g=i;break c}else{g=i;xk=75;break}do if((h&255)<240){if((h&255)<194){g=j;break d}if((h&255)>=224)if(h<<24>>24==-32){g=g+2|0;c[Ak>>2]=g;h=a[g>>0]|0;if((h&255)<160){c[Ak>>2]=j;g=j;break d}if((h&255)>=192){c[Ak>>2]=j;g=j;break d}}else{h=1;xk=84}else g=i}else{if(h<<24>>24==-16){h=g+2|0;c[Ak>>2]=h;h=a[h>>0]|0;if((h&255)<144){c[Ak>>2]=j;g=j;break d}if((h&255)<192){h=2;xk=84;break}c[Ak>>2]=j;g=j;break d}if((h&255)<244){h=g+2|0;c[Ak>>2]=h;h=a[h>>0]|0;if(h<<24>>24>-1){c[Ak>>2]=j;g=j;break d}if((h&255)<192){h=2;xk=84;break}c[Ak>>2]=j;g=j;break d}if(h<<24>>24!=-12){g=j;break d}h=g+2|0;c[Ak>>2]=h;h=a[h>>0]|0;if(h<<24>>24>-1){c[Ak>>2]=j;g=j;break d}if((h&255)<144){h=2;xk=84}else{c[Ak>>2]=j;g=j;break d}}while(0);if((xk|0)==84){xk=0;g=g+h+1|0;c[Ak>>2]=g;h=a[g>>0]|0;if(h<<24>>24>-1){c[Ak>>2]=j;g=j;break d}if((h&255)>=192){c[Ak>>2]=j;g=j;break d}}g=g+1|0;c[Ak>>2]=g;Pk=a[g>>0]|0;if(Pk<<24>>24<0&(Pk&255)<192)xk=75;else{c[Ak>>2]=j;g=j;break d}}while(0);if((xk|0)==75){xk=0;g=g+1|0;c[Ak>>2]=g}i=a[Dk>>0]|0;h=i<<24>>24<0;i=h?c[Ek>>2]|0:i&255;j=c[Ik>>2]|0;Pk=c[Kk>>2]|0;k=c[Fk>>2]|0;yk=c[Gk>>2]|0;Ok=c[Jk>>2]|0;c[I>>2]=h?c[Hk>>2]|0:Hk;c[o>>2]=i;c[sa>>2]=j;c[ca>>2]=Pk+1-k+yk-Ok;c[ka>>2]=1-k+yk-Ok+g;c[Ea>>2]=g-Pk;c[Ea+4>>2]=Pk;c[Lk>>2]=c[I>>2];c[Lk+4>>2]=c[I+4>>2];c[Lk+8>>2]=c[I+8>>2];c[Lk+12>>2]=c[I+12>>2];c[Lk+16>>2]=c[I+16>>2];np(f,Lk,310924,Ea);g=1;break b}while(0);i=a[Dk>>0]|0;h=i<<24>>24<0;i=h?c[Ek>>2]|0:i&255;j=c[Ik>>2]|0;yk=c[Fk>>2]|0;Ok=c[Gk>>2]|0;Pk=c[Jk>>2]|0;k=(c[Kk>>2]|0)+1-yk+Ok-Pk|0;c[O>>2]=h?c[Hk>>2]|0:Hk;c[l>>2]=i;c[pa>>2]=j;c[_>>2]=k;c[ha>>2]=1-yk+Ok-Pk+g;c[Lk>>2]=c[O>>2];c[Lk+4>>2]=c[O+4>>2];c[Lk+8>>2]=c[O+8>>2];c[Lk+12>>2]=c[O+12>>2];c[Lk+16>>2]=c[O+16>>2];np(f,Lk,310849,ya);g=1;break b}else{f:do if((j&255)<240)if((j&255)>=194){if((j&255)<224){g=g+1|0;c[Ak>>2]=g;Pk=a[g>>0]|0;if(Pk<<24>>24<0&(Pk&255)<192)break c;else break}i=g+1|0;c[Ak>>2]=i;c[xa>>2]=i;h=a[i>>0]|0;g=i;if(j<<24>>24==-32)if((h&-32)<<24>>24==-96){xk=92;break}else break;else if(h<<24>>24<0&(h&255)<192){xk=92;break}else break}else xk=65;else{do if(j<<24>>24==-16){Pk=g+1|0;c[Ak>>2]=Pk;c[xa>>2]=Pk;h=Pk;if(((a[Pk>>0]|0)+112&255)>=48){g=h;break f}}else{if((j&255)<244){h=g+1|0;c[Ak>>2]=h;c[xa>>2]=h;Pk=a[h>>0]|0;if(Pk<<24>>24<0&(Pk&255)<192)break;else{g=h;break f}}if(j<<24>>24!=-12){xk=65;break f}h=g+1|0;c[Ak>>2]=h;c[xa>>2]=h;Pk=a[h>>0]|0;if(!(Pk<<24>>24<0&(Pk&255)<144)){g=h;break f}}while(0);g=g+2|0;c[Ak>>2]=g;Pk=a[g>>0]|0;if(Pk<<24>>24<0&(Pk&255)<192){i=g;g=h;xk=92}else{g=h;xk=81}}while(0);if((xk|0)==65){xk=0;g=g+1|0;c[Ak>>2]=g}else if((xk|0)==92){xk=0;h=i+1|0;c[Ak>>2]=h;Pk=a[h>>0]|0;if(Pk<<24>>24<0&(Pk&255)<192){g=h;break}else xk=81}if((xk|0)==81){xk=0;c[Ak>>2]=g}if(a[Z>>0]|0?((c[Bk>>2]|0)-g|0)<30:0){g=1;break b}i=a[Dk>>0]|0;h=i<<24>>24<0;i=h?c[Ek>>2]|0:i&255;j=c[Ik>>2]|0;yk=c[Fk>>2]|0;Ok=c[Gk>>2]|0;Pk=c[Jk>>2]|0;k=(c[Kk>>2]|0)+1-yk+Ok-Pk|0;c[A>>2]=h?c[Hk>>2]|0:Hk;c[n>>2]=i;c[ra>>2]=j;c[ba>>2]=k;c[ja>>2]=1-yk+Ok-Pk+g;c[Da>>2]=310913;c[Lk>>2]=c[A>>2];c[Lk+4>>2]=c[A+4>>2];c[Lk+8>>2]=c[A+8>>2];c[Lk+12>>2]=c[A+12>>2];c[Lk+16>>2]=c[A+16>>2];np(f,Lk,310895,Da);g=1;break b}while(0);c[Ak>>2]=g+1;g=1;break}if((h|0)<29){if((st(e,29)|0)==1){xk=200;break a}yk=c[Ak>>2]|0}else yk=g;j=a[yk>>0]|0;if(a[16304+(j&255)>>0]&4){g=yk;while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=256;break a}g=c[Ak>>2]|0}if(!(a[16304+(d[g>>0]|0)>>0]&4)){g=k;break b}}}g:do if((j&255)<102){if((j&255)>=44){if((j&255)<59){xk=215;break a}if((j&255)>=98){xk=223;break a}if((j&255)>=60){xk=222;break a}g=yk+1|0;c[Ak>>2]=g;if((a[g>>0]|0)!=59)break;c[Ak>>2]=yk+2;g=2;break b}if((j&255)>=36){if((j&255)>=41){xk=212;break a}if((j&255)<37){xk=292;break a}if((j&255)<40){xk=271;break a}g=yk+1|0;c[Ak>>2]=g;if((a[g>>0]|0)!=59){xk=301;break a}c[Ak>>2]=yk+2;c[Y>>2]=1;g=3;break b}if((j&255)<32){if((j+-9&255)>=2){g=yk;xk=251;break}g=yk+1|0;c[Ak>>2]=g;c[Ik>>2]=(c[Ik>>2]|0)+1;c[Jk>>2]=g-(c[Fk>>2]|0)+(c[Gk>>2]|0);g=k;break b}if(j<<24>>24!=34){xk=271;break a}g=yk+1|0;c[Ak>>2]=g;c[xa>>2]=g;h=a[g>>0]|0;if((h&255)<32){g=1;break b}if(!(h<<24>>24>-1|(h+62&255)<51)){g=1;break b}h:while(1){i:do if(!(a[16304+(h&255)>>0]&32)){j:do if((h&255)<224){if((h&255)<35){xk=415;break h}if((h&255)>=93)if((h&255)>193)break;else{xk=4017;break h}g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=436;break a}g=c[Ak>>2]|0}h=a[g>>0]|0;do if((h&255)<92){if((h&255)<40)switch(h<<24>>24){case 34:case 39:break i;default:{xk=4003;break h}}if((h&255)<58)if((h&255)<48){xk=4004;break h}else break;if((h&255)<65){xk=4009;break h}if((h&255)>=71){xk=4010;break h}}else{if((h&255)>=111)if((h&255)<115)if(h<<24>>24==114)break i;else{xk=4013;break h}else if(h<<24>>24==116)break i;else{xk=4014;break h}if((h&255)<97)if((h&255)<93)break i;else{xk=4011;break h}if((h&255)<103)break;if((h&255)<110){xk=4012;break h}else break i}while(0);g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=675;break a}g=c[Ak>>2]|0}h=a[g>>0]|0;if((h&255)<65){if((h&255)<48){xk=4005;break h}if((h&255)<58)break i;else{xk=4006;break h}}if((h&255)<71)break i;if((h&255)<97){xk=4007;break h}if((h&255)<103)break i;else{xk=4008;break h}}else{do if((h&255)<241){if((h&255)<225){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=461;break a}g=c[Ak>>2]|0}h=a[g>>0]|0;if((h&255)<160){xk=4018;break h}if((h&255)<192)break j;else{xk=4019;break h}}if((h&255)<240)break;g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=473;break a}g=c[Ak>>2]|0}h=a[g>>0]|0;if((h&255)<144){xk=4022;break h}if((h&255)>=192){xk=4023;break h}}else{if((h&255)<244){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=479;break a}g=c[Ak>>2]|0}h=a[g>>0]|0;if(h<<24>>24>-1){xk=4024;break h}if((h&255)<192)break;else{xk=4025;break h}}if(h<<24>>24!=-12){xk=4028;break h}g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=485;break a}g=c[Ak>>2]|0}h=a[g>>0]|0;if(h<<24>>24>-1){xk=4026;break h}if((h&255)>=144){xk=4027;break h}}while(0);g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=467;break a}g=c[Ak>>2]|0}h=a[g>>0]|0;if(h<<24>>24>-1){xk=4020;break h}if((h&255)>=192){xk=4021;break h}}while(0);g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=455;break a}g=c[Ak>>2]|0}h=a[g>>0]|0;if(h<<24>>24>-1){xk=4015;break h}if((h&255)>=192){xk=4016;break h}}while(0);g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=410;break a}h=c[Ak>>2]|0}g=h;h=a[h>>0]|0}switch(xk|0){case 415:{xk=0;if((h&255)>31){xk=424;break a}c[Ak>>2]=c[xa>>2];g=1;break b}case 4003:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4004:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4005:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4006:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4007:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4008:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4009:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4010:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4011:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4012:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4013:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4014:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4015:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4016:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4017:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4018:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4019:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4020:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4021:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4022:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4023:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4024:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4025:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4026:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4027:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}case 4028:{xk=0;c[Ak>>2]=c[xa>>2];g=1;break b}}}else{if((j&255)<116){xk=227;break a}k:do if((j&255)<194){if((j&255)<119){xk=241;break a}if((j&255)<127){xk=271;break a}if(j<<24>>24<0)xk=397;else{g=yk;xk=251;break g}}else{do if((j&255)<240){if((j&255)<224){g=yk+1|0;c[Ak>>2]=g;Pk=a[g>>0]|0;if(Pk<<24>>24<0&(Pk&255)<192){xk=251;break g}else break k}h=yk+1|0;c[Ak>>2]=h;c[xa>>2]=h;i=a[h>>0]|0;g=h;if(j<<24>>24==-32)if((i&-32)<<24>>24==-96){xk=670;break}else break k;else if(i<<24>>24<0&(i&255)<192){xk=670;break}else break k}else{do if(j<<24>>24==-16){Pk=yk+1|0;c[Ak>>2]=Pk;c[xa>>2]=Pk;g=Pk;if(((a[Pk>>0]|0)+112&255)>=48)break k}else{if((j&255)<244){g=yk+1|0;c[Ak>>2]=g;c[xa>>2]=g;Pk=a[g>>0]|0;if(Pk<<24>>24<0&(Pk&255)<192)break;else break k}if(j<<24>>24!=-12){xk=397;break k}g=yk+1|0;c[Ak>>2]=g;c[xa>>2]=g;Pk=a[g>>0]|0;if(!(Pk<<24>>24<0&(Pk&255)<144))break k}while(0);h=yk+2|0;c[Ak>>2]=h;Pk=a[h>>0]|0;if(Pk<<24>>24<0&(Pk&255)<192)xk=670}while(0);if((xk|0)==670){xk=0;h=h+1|0;c[Ak>>2]=h;Pk=a[h>>0]|0;if(Pk<<24>>24<0&(Pk&255)<192){g=h;xk=251;break g}}c[Ak>>2]=g}while(0);if((xk|0)==397){xk=0;g=yk+1|0;c[Ak>>2]=g}if(a[Z>>0]|0?((c[Bk>>2]|0)-g|0)<30:0){g=k;break b}h=a[Dk>>0]|0;Qk=h<<24>>24<0;h=Qk?c[Ek>>2]|0:h&255;i=c[Ik>>2]|0;yk=c[Fk>>2]|0;Ok=c[Gk>>2]|0;Pk=c[Jk>>2]|0;j=(c[Kk>>2]|0)+1-yk+Ok-Pk|0;c[y>>2]=Qk?c[Hk>>2]|0:Hk;c[s>>2]=h;c[wa>>2]=i;c[ga>>2]=j;c[oa>>2]=1-yk+Ok-Pk+g;c[Ca>>2]=329996;c[Lk>>2]=c[y>>2];c[Lk+4>>2]=c[y+4>>2];c[Lk+8>>2]=c[y+8>>2];c[Lk+12>>2]=c[y+12>>2];c[Lk+16>>2]=c[y+16>>2];np(f,Lk,310895,Ca);g=k;break b}while(0);if((xk|0)==251){xk=0;g=g+1|0;c[Ak>>2]=g}i=a[Dk>>0]|0;h=i<<24>>24<0;i=h?c[Ek>>2]|0:i&255;j=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;yk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[t>>2]=h?c[Hk>>2]|0:Hk;c[r>>2]=i;c[va>>2]=j;c[fa>>2]=yk;c[na>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[t>>2];c[Lk+4>>2]=c[t+4>>2];c[Lk+8>>2]=c[t+8>>2];c[Lk+12>>2]=c[t+12>>2];c[Lk+16>>2]=c[t+16>>2];np(f,Lk,310960,Ba);g=k}else{h=(c[Bk>>2]|0)-h|0;if((k|0)!=2){if((h|0)<4){if((st(e,4)|0)==1){xk=97;break a}g=c[Ak>>2]|0}j=a[g>>0]|0;l:do if(j<<24>>24>-1){if((j&255)<40){if(j<<24>>24!=10)break;g=g+1|0;c[Ak>>2]=g;c[Ik>>2]=(c[Ik>>2]|0)+1;c[Jk>>2]=g-(c[Fk>>2]|0)+(c[Gk>>2]|0);g=k;break b}switch(j<<24>>24){case 40:{Qk=g+1|0;c[Ak>>2]=Qk;if((a[Qk>>0]|0)!=59){g=k;break b}c[Ak>>2]=g+2;c[Y>>2]=(c[Y>>2]|0)+1;g=k;break b}case 59:{Qk=g+1|0;c[Ak>>2]=Qk;if((a[Qk>>0]|0)!=41){g=k;break b}c[Ak>>2]=g+2;g=(c[Y>>2]|0)+-1|0;c[Y>>2]=g;g=(g|0)==0?0:k;break b}default:break l}}else{m:do if((j&255)<240)if((j&255)>=194){if((j&255)<224){g=g+1|0;c[Ak>>2]=g;Qk=a[g>>0]|0;if(Qk<<24>>24<0&(Qk&255)<192)break l;else break}i=g+1|0;c[Ak>>2]=i;c[xa>>2]=i;h=a[i>>0]|0;g=i;if(j<<24>>24==-32)if((h&-32)<<24>>24==-96){xk=125;break}else break;else if(h<<24>>24<0&(h&255)<192){xk=125;break}else break}else xk=113;else{do if(j<<24>>24==-16){Qk=g+1|0;c[Ak>>2]=Qk;c[xa>>2]=Qk;h=Qk;if(((a[Qk>>0]|0)+112&255)>=48){g=h;break m}}else{if((j&255)<244){h=g+1|0;c[Ak>>2]=h;c[xa>>2]=h;Qk=a[h>>0]|0;if(Qk<<24>>24<0&(Qk&255)<192)break;else{g=h;break m}}if(j<<24>>24!=-12){xk=113;break m}h=g+1|0;c[Ak>>2]=h;c[xa>>2]=h;Qk=a[h>>0]|0;if(!(Qk<<24>>24<0&(Qk&255)<144)){g=h;break m}}while(0);g=g+2|0;c[Ak>>2]=g;Qk=a[g>>0]|0;if(Qk<<24>>24<0&(Qk&255)<192){i=g;g=h;xk=125}else{g=h;xk=126}}while(0);if((xk|0)==113){xk=0;g=g+1|0;c[Ak>>2]=g}else if((xk|0)==125){xk=0;h=i+1|0;c[Ak>>2]=h;Qk=a[h>>0]|0;if(Qk<<24>>24<0&(Qk&255)<192){g=h;break}else xk=126}if((xk|0)==126){xk=0;c[Ak>>2]=g}if(a[Z>>0]|0?((c[Bk>>2]|0)-g|0)<30:0){g=k;break b}i=a[Dk>>0]|0;h=i<<24>>24<0;i=h?c[Ek>>2]|0:i&255;j=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;yk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[L>>2]=h?c[Hk>>2]|0:Hk;c[p>>2]=i;c[ta>>2]=j;c[da>>2]=yk;c[la>>2]=1-Ok+Pk-Qk+g;c[Fa>>2]=310942;c[Lk>>2]=c[L>>2];c[Lk+4>>2]=c[L+4>>2];c[Lk+8>>2]=c[L+8>>2];c[Lk+12>>2]=c[L+12>>2];c[Lk+16>>2]=c[L+16>>2];np(f,Lk,310895,Fa);g=k;break b}while(0);c[Ak>>2]=g+1;g=k;break}if((h|0)<2){if((st(e,2)|0)==1){xk=131;break a}g=c[Ak>>2]|0}j=a[g>>0]|0;do if((a[16048+(j&255)>>0]|0)<0)xk=133;else{if((j&255)<225){if((j&255)<11){g=g+1|0;c[Ak>>2]=g;c[Ik>>2]=(c[Ik>>2]|0)+1;c[Jk>>2]=g-(c[Fk>>2]|0)+(c[Gk>>2]|0);g=0;break b}if((j&255)>=194){g=g+1|0;c[Ak>>2]=g;h=g;if((j&255)<224){Qk=a[g>>0]|0;if(Qk<<24>>24<0&(Qk&255)<192){xk=133;break}else{g=h;xk=156;break}}else{c[xa>>2]=g;if((a[g>>0]&-32)<<24>>24==-96){h=1;xk=165;break}else{g=h;xk=156;break}}}}else{if((j&255)<241){g=g+1|0;c[Ak>>2]=g;c[xa>>2]=g;h=a[g>>0]|0;i=g;if(j<<24>>24==-16)if((h+112&255)<48){h=1;xk=177;break}else{g=i;xk=156;break}else if(h<<24>>24<0&(h&255)<192){h=1;xk=165;break}else{g=i;xk=156;break}}if((j&255)<244){g=g+1|0;c[Ak>>2]=g;c[xa>>2]=g;Qk=a[g>>0]|0;if(Qk<<24>>24<0&(Qk&255)<192){h=1;xk=177;break}else{xk=156;break}}if(j<<24>>24==-12){g=g+1|0;c[Ak>>2]=g;c[xa>>2]=g;Qk=a[g>>0]|0;if(Qk<<24>>24<0&(Qk&255)<144){h=1;xk=177;break}else{xk=156;break}}}g=g+1|0;c[Ak>>2]=g;xk=156}while(0);while(1){if((xk|0)==133){xk=0;do{g=g+1|0;c[Ak>>2]=g;c[xa>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=145;break a}g=c[Ak>>2]|0}h=a[g>>0]|0}while((a[16048+(h&255)>>0]|0)<0);if((h&255)<240){if((h&255)<194){g=2;break b}if((h&255)<224){h=0;xk=165;continue}if(h<<24>>24!=-32){h=0;xk=177;continue}g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=175;break a}g=c[Ak>>2]|0}if((a[g>>0]&-32)<<24>>24==-96){h=0;xk=165;continue}else{xk=170;break}}if(h<<24>>24==-16){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=185;break a}g=c[Ak>>2]|0}if(((a[g>>0]|0)+112&255)<48){h=0;xk=177;continue}else{xk=170;break}}if((h&255)<244){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=190;break a}g=c[Ak>>2]|0}Qk=a[g>>0]|0;if(Qk<<24>>24<0&(Qk&255)<192){h=0;xk=177;continue}else{xk=170;break}}if(h<<24>>24!=-12){g=2;break b}g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=195;break a}g=c[Ak>>2]|0}Qk=a[g>>0]|0;if(Qk<<24>>24<0&(Qk&255)<144){h=0;xk=177;continue}else{xk=170;break}}else if((xk|0)==156){xk=0;if(!(a[Z>>0]|0))break;else{xk=157;break}}else if((xk|0)==165){xk=0;g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=168;break a}g=c[Ak>>2]|0}Qk=a[g>>0]|0;if(Qk<<24>>24<0&(Qk&255)<192){xk=133;continue}}else if((xk|0)==177){xk=0;g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=180;break a}g=c[Ak>>2]|0}Qk=a[g>>0]|0;if(Qk<<24>>24<0&(Qk&255)<192){xk=165;continue}}g=c[xa>>2]|0;c[Ak>>2]=g;if(!h){g=2;break b}else xk=156}if((xk|0)==157){xk=0;if(((c[Bk>>2]|0)-g|0)<30){g=2;break}}else if((xk|0)==170){xk=0;c[Ak>>2]=c[xa>>2];g=2;break}j=a[Dk>>0]|0;i=j<<24>>24<0;j=i?c[Ek>>2]|0:j&255;k=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;yk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[P>>2]=i?c[Hk>>2]|0:Hk;c[q>>2]=j;c[ua>>2]=k;c[ea>>2]=yk;c[ma>>2]=1-Ok+Pk-Qk+g;c[Aa>>2]=329996;c[Lk>>2]=c[P>>2];c[Lk+4>>2]=c[P+4>>2];c[Lk+8>>2]=c[P+8>>2];c[Lk+12>>2]=c[P+12>>2];c[Lk+16>>2]=c[P+16>>2];np(f,Lk,310895,Aa);g=2}while(0);k=g}n:switch(xk|0){case 8:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[v>>2]=Dk?c[Hk>>2]|0:Hk;c[v+4>>2]=Mk;c[v+8>>2]=Ok;c[v+12>>2]=Pk;c[v+16>>2]=Qk;c[Lk>>2]=c[v>>2];c[Lk+4>>2]=c[v+4>>2];c[Lk+8>>2]=c[v+8>>2];c[Lk+12>>2]=c[v+12>>2];c[Lk+16>>2]=c[v+16>>2];Px(b,Lk,14);aa=Nk;return}case 36:{Qk=g+1|0;c[Ak>>2]=Qk;j=a[Dk>>0]|0;Dk=j<<24>>24<0;Ek=Dk?c[Ek>>2]|0:j&255;Ik=c[Ik>>2]|0;j=c[Kk>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[Lb>>2]=Dk?c[Hk>>2]|0:Hk;c[Lb+4>>2]=Ek;c[Lb+8>>2]=Ik;c[Lb+12>>2]=j+1-Ok+Pk-i;c[Lb+16>>2]=1-Ok+Pk-i+Qk;i=j;j=Qk-j|0;c[Mk>>2]=0;c[Mk+4>>2]=0;c[Mk+8>>2]=0;if(j>>>0>4294967279)JA();if(j>>>0<11){g=Mk+11|0;a[g>>0]=j;if(!j)h=Mk;else{h=Mk;xk=41}}else{g=j+16&-16;h=FA(g)|0;c[Mk>>2]=h;c[Mk+8>>2]=g|-2147483648;c[Mk+4>>2]=j;g=Mk+11|0;xk=41}if((xk|0)==41)_B(h|0,i|0,j|0)|0;a[h+j>>0]=0;c[Lk>>2]=c[Lb>>2];c[Lk+4>>2]=c[Lb+4>>2];c[Lk+8>>2]=c[Lb+8>>2];c[Lk+12>>2]=c[Lb+12>>2];c[Lk+16>>2]=c[Lb+16>>2];Rx(b,Lk,104,Mk);if((a[g>>0]|0)<0)HA(c[Mk>>2]|0);aa=Nk;return}case 97:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[K>>2]=Dk?c[Hk>>2]|0:Hk;c[K+4>>2]=Mk;c[K+8>>2]=Ok;c[K+12>>2]=Pk;c[K+16>>2]=Qk;c[Lk>>2]=c[K>>2];c[Lk+4>>2]=c[K+4>>2];c[Lk+8>>2]=c[K+8>>2];c[Lk+12>>2]=c[K+12>>2];c[Lk+16>>2]=c[K+16>>2];Px(b,Lk,14);aa=Nk;return}case 131:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[M>>2]=Dk?c[Hk>>2]|0:Hk;c[M+4>>2]=Mk;c[M+8>>2]=Ok;c[M+12>>2]=Pk;c[M+16>>2]=Qk;c[Lk>>2]=c[M>>2];c[Lk+4>>2]=c[M+4>>2];c[Lk+8>>2]=c[M+8>>2];c[Lk+12>>2]=c[M+12>>2];c[Lk+16>>2]=c[M+16>>2];Px(b,Lk,14);aa=Nk;return}case 145:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[N>>2]=Dk?c[Hk>>2]|0:Hk;c[N+4>>2]=Mk;c[N+8>>2]=Ok;c[N+12>>2]=Pk;c[N+16>>2]=Qk;c[Lk>>2]=c[N>>2];c[Lk+4>>2]=c[N+4>>2];c[Lk+8>>2]=c[N+8>>2];c[Lk+12>>2]=c[N+12>>2];c[Lk+16>>2]=c[N+16>>2];Px(b,Lk,14);aa=Nk;return}case 168:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[R>>2]=Dk?c[Hk>>2]|0:Hk;c[R+4>>2]=Mk;c[R+8>>2]=Ok;c[R+12>>2]=Pk;c[R+16>>2]=Qk;c[Lk>>2]=c[R>>2];c[Lk+4>>2]=c[R+4>>2];c[Lk+8>>2]=c[R+8>>2];c[Lk+12>>2]=c[R+12>>2];c[Lk+16>>2]=c[R+16>>2];Px(b,Lk,14);aa=Nk;return}case 175:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[S>>2]=Dk?c[Hk>>2]|0:Hk;c[S+4>>2]=Mk;c[S+8>>2]=Ok;c[S+12>>2]=Pk;c[S+16>>2]=Qk;c[Lk>>2]=c[S>>2];c[Lk+4>>2]=c[S+4>>2];c[Lk+8>>2]=c[S+8>>2];c[Lk+12>>2]=c[S+12>>2];c[Lk+16>>2]=c[S+16>>2];Px(b,Lk,14);aa=Nk;return}case 180:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[T>>2]=Dk?c[Hk>>2]|0:Hk;c[T+4>>2]=Mk;c[T+8>>2]=Ok;c[T+12>>2]=Pk;c[T+16>>2]=Qk;c[Lk>>2]=c[T>>2];c[Lk+4>>2]=c[T+4>>2];c[Lk+8>>2]=c[T+8>>2];c[Lk+12>>2]=c[T+12>>2];c[Lk+16>>2]=c[T+16>>2];Px(b,Lk,14);aa=Nk;return}case 185:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[U>>2]=Dk?c[Hk>>2]|0:Hk;c[U+4>>2]=Mk;c[U+8>>2]=Ok;c[U+12>>2]=Pk;c[U+16>>2]=Qk;c[Lk>>2]=c[U>>2];c[Lk+4>>2]=c[U+4>>2];c[Lk+8>>2]=c[U+8>>2];c[Lk+12>>2]=c[U+12>>2];c[Lk+16>>2]=c[U+16>>2];Px(b,Lk,14);aa=Nk;return}case 190:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[V>>2]=Dk?c[Hk>>2]|0:Hk;c[V+4>>2]=Mk;c[V+8>>2]=Ok;c[V+12>>2]=Pk;c[V+16>>2]=Qk;c[Lk>>2]=c[V>>2];c[Lk+4>>2]=c[V+4>>2];c[Lk+8>>2]=c[V+8>>2];c[Lk+12>>2]=c[V+12>>2];c[Lk+16>>2]=c[V+16>>2];Px(b,Lk,14);aa=Nk;return}case 195:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[W>>2]=Dk?c[Hk>>2]|0:Hk;c[W+4>>2]=Mk;c[W+8>>2]=Ok;c[W+12>>2]=Pk;c[W+16>>2]=Qk;c[Lk>>2]=c[W>>2];c[Lk+4>>2]=c[W+4>>2];c[Lk+8>>2]=c[W+8>>2];c[Lk+12>>2]=c[W+12>>2];c[Lk+16>>2]=c[W+16>>2];Px(b,Lk,14);aa=Nk;return}case 200:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[X>>2]=Dk?c[Hk>>2]|0:Hk;c[X+4>>2]=Mk;c[X+8>>2]=Ok;c[X+12>>2]=Pk;c[X+16>>2]=Qk;c[Lk>>2]=c[X>>2];c[Lk+4>>2]=c[X+4>>2];c[Lk+8>>2]=c[X+8>>2];c[Lk+12>>2]=c[X+12>>2];c[Lk+16>>2]=c[X+16>>2];Px(b,Lk,14);aa=Nk;return}case 212:{if(j<<24>>24!=41)if((j&255)<43){xk=272;break}else{xk=303;break}Qk=yk+1|0;c[Ak>>2]=Qk;Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Mk&255;Ik=c[Ik>>2]|0;Mk=c[Fk>>2]|0;Ok=c[Gk>>2]|0;Pk=c[Jk>>2]|0;Kk=(c[Kk>>2]|0)+1-Mk+Ok-Pk|0;c[x>>2]=Dk?c[Hk>>2]|0:Hk;c[x+4>>2]=Ek;c[x+8>>2]=Ik;c[x+12>>2]=Kk;c[x+16>>2]=1-Mk+Ok-Pk+Qk;c[Lk>>2]=c[x>>2];c[Lk+4>>2]=c[x+4>>2];c[Lk+8>>2]=c[x+8>>2];c[Lk+12>>2]=c[x+12>>2];c[Lk+16>>2]=c[x+16>>2];Px(b,Lk,34);aa=Nk;return}case 215:{if((j&255)<48)if(j<<24>>24==45){xk=303;break}else{xk=272;break}do if(j<<24>>24==48){i=yk+1|0;c[Ak>>2]=i;h=a[i>>0]|0;g=i;if(((h&255)+-48|0)>>>0>=10){if((h&255)<60){if((h&255)<40)if(h<<24>>24==33|(h&255)>34){xk=272;break n}else{xk=325;break}if((h&255)<46)if((h&255)>41){xk=272;break n}else{xk=325;break}if(h<<24>>24==46){g=i;xk=556;break n}if((h&255)<59){xk=272;break n}else{xk=325;break}}if((h&255)<101)if((h&255)<70)if(h<<24>>24==69){g=i;xk=579;break n}else{xk=272;break n}else if(h<<24>>24==95){g=i;xk=583;break}else{xk=272;break n}if((h&255)<120)if((h&255)<102){g=i;xk=579;break n}else{xk=272;break n}if(h<<24>>24!=120)if((h&255)<127){xk=272;break n}else{xk=325;break}g=i;o:while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=596;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;if((a[16304+(i&255)>>0]|0)>=0){xk=599;break}g=h;while(1){h=g+1|0;c[Ak>>2]=h;g=h;if(((c[Bk>>2]|0)-g|0)<3){if((st(e,3)|0)==1){xk=757;break o}g=c[Ak>>2]|0;h=g}i=a[h>>0]|0;if((a[16304+(i&255)>>0]|0)<0)g=h;else break}if((i&255)<59){xk=760;break}if((i&255)<95){xk=765;break}if((i&255)>=112){xk=769;break}if((i&255)<96)g=h;else{xk=266;break}}if((xk|0)==266){xk=272;break n}else if((xk|0)==596){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[Ag>>2]=Dk?c[Hk>>2]|0:Hk;c[Ag+4>>2]=Mk;c[Ag+8>>2]=Ok;c[Ag+12>>2]=Pk;c[Ag+16>>2]=Qk;c[Lk>>2]=c[Ag>>2];c[Lk+4>>2]=c[Ag+4>>2];c[Lk+8>>2]=c[Ag+8>>2];c[Lk+12>>2]=c[Ag+12>>2];c[Lk+16>>2]=c[Ag+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==599){if((i&255)<40)if(i<<24>>24!=33&(i&255)<35){xk=279;break n}else{xk=272;break n}if((i&255)<59)if((i&255)<42){xk=279;break n}else{xk=272;break n}else if(i<<24>>24!=59&(i&255)<127){xk=272;break n}else{xk=279;break n}}else if((xk|0)==757){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[Bg>>2]=Dk?c[Hk>>2]|0:Hk;c[Bg+4>>2]=Mk;c[Bg+8>>2]=Ok;c[Bg+12>>2]=Pk;c[Bg+16>>2]=Qk;c[Lk>>2]=c[Bg>>2];c[Lk+4>>2]=c[Bg+4>>2];c[Lk+8>>2]=c[Bg+8>>2];c[Lk+12>>2]=c[Bg+12>>2];c[Lk+16>>2]=c[Bg+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==760){if((i&255)<40)if(i<<24>>24!=33&(i&255)<35){xk=325;break}else{xk=272;break n}if((i&255)<42){xk=325;break}if(i<<24>>24==46){g=h;xk=942;break n}else{xk=272;break n}}else if((xk|0)==765){if((i&255)<60){xk=325;break}if(i<<24>>24==80){g=h;xk=969;break n}else{xk=272;break n}}else if((xk|0)==769){if(i<<24>>24==112){g=h;xk=969;break n}if((i&255)<127){xk=272;break n}else{xk=325;break}}}else{g=i;xk=219}}else if((j&255)<58){g=yk;xk=219}else{xk=272;break n}while(0);p:while(1)if((xk|0)==219){while(1){h=g+1|0;c[Ak>>2]=h;g=h;if(((c[Bk>>2]|0)-g|0)<3){if((st(e,3)|0)==1){xk=339;break p}g=c[Ak>>2]|0;h=g}i=a[h>>0]|0;if(((i&255)+-48|0)>>>0<10)g=h;else break}if((i&255)<59)if((i&255)<40)if(i<<24>>24!=33&(i&255)<35){xk=325;continue}else{xk=272;break n}else if((i&255)<42){xk=325;continue}else{xk=345;break}if((i&255)<95)if((i&255)<60){xk=325;continue}else{xk=348;break}if((i&255)<101)if((i&255)<96){g=h;xk=583;continue}else{xk=272;break n}if(i<<24>>24==101){g=h;xk=579;break n}if((i&255)<127){xk=272;break n}else{xk=325;continue}}else if((xk|0)==325){Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[$j>>2]=Dk?c[Hk>>2]|0:Hk;c[$j+4>>2]=Ek;c[$j+8>>2]=Ok;c[$j+12>>2]=j+1-Pk+Qk-i;c[$j+16>>2]=1-Pk+Qk-i+g;i=j;j=g-j|0;c[Lk>>2]=0;c[Lk+4>>2]=0;c[Lk+8>>2]=0;if(j>>>0>4294967279){xk=326;break}else{xk=327;break}}else if((xk|0)==583){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=586;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;if(((i&255)+-48|0)>>>0<10){g=h;xk=219;continue}else{xk=588;break}}if((xk|0)==326)JA();else if((xk|0)==327){if(j>>>0<11){h=Lk+11|0;a[h>>0]=j;if(!j)g=Lk;else{g=Lk;xk=330}}else{h=j+16&-16;g=FA(h)|0;c[Lk>>2]=g;c[Lk+8>>2]=h|-2147483648;c[Lk+4>>2]=j;h=Lk+11|0;xk=330}if((xk|0)==330)_B(g|0,i|0,j|0)|0;a[g+j>>0]=0;c[Mk>>2]=0;g=Mk+4|0;LA(g,Lk);if((a[h>>0]|0)<0)HA(c[Lk>>2]|0);c[Lk>>2]=c[$j>>2];c[Lk+4>>2]=c[$j+4>>2];c[Lk+8>>2]=c[$j+8>>2];c[Lk+12>>2]=c[$j+12>>2];c[Lk+16>>2]=c[$j+16>>2];Tx(b,Lk,42,Mk);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);aa=Nk;return}else if((xk|0)==339){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[Cg>>2]=Dk?c[Hk>>2]|0:Hk;c[Cg+4>>2]=Mk;c[Cg+8>>2]=Ok;c[Cg+12>>2]=Pk;c[Cg+16>>2]=Qk;c[Lk>>2]=c[Cg>>2];c[Lk+4>>2]=c[Cg+4>>2];c[Lk+8>>2]=c[Cg+8>>2];c[Lk+12>>2]=c[Cg+12>>2];c[Lk+16>>2]=c[Cg+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==345)if(i<<24>>24==46){g=h;xk=556;break}else{xk=272;break}else if((xk|0)==348)if(i<<24>>24==69){g=h;xk=579;break}else{xk=272;break}else if((xk|0)==586){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[Ng>>2]=Dk?c[Hk>>2]|0:Hk;c[Ng+4>>2]=Mk;c[Ng+8>>2]=Ok;c[Ng+12>>2]=Pk;c[Ng+16>>2]=Qk;c[Lk>>2]=c[Ng>>2];c[Lk+4>>2]=c[Ng+4>>2];c[Lk+8>>2]=c[Ng+8>>2];c[Lk+12>>2]=c[Ng+12>>2];c[Lk+16>>2]=c[Ng+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==588){if((i&255)<40)if(i<<24>>24!=33&(i&255)<35){xk=279;break}else{xk=272;break}if((i&255)<59)if((i&255)<42){xk=279;break}else{xk=272;break}else if(i<<24>>24!=59&(i&255)<127){xk=272;break}else{xk=279;break}}break}case 222:{if((j&255)>=97){k=yk+1|0;c[Ak>>2]=k;k=a[k>>0]|0;if((k&255)<111){if(k<<24>>24!=108){if((k&255)<110){g=k;xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 102:break;case 114:{g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[jb>>2]=Dk?c[Hk>>2]|0:Hk;c[jb+4>>2]=Ek;c[jb+8>>2]=Ik;c[jb+12>>2]=Mk;c[jb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[jb>>2];c[Lk+4>>2]=c[jb+4>>2];c[Lk+8>>2]=c[jb+8>>2];c[Lk+12>>2]=c[jb+12>>2];c[Lk+16>>2]=c[jb+16>>2];Qx(b,Lk,106,-17);aa=Nk;return}default:{xk=277;break n}}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Kb>>2]=Dk?c[Hk>>2]|0:Hk;c[Kb+4>>2]=Ek;c[Kb+8>>2]=Ik;c[Kb+12>>2]=Mk;c[Kb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Kb>>2];c[Lk+4>>2]=c[Kb+4>>2];c[Lk+8>>2]=c[Kb+8>>2];c[Lk+12>>2]=c[Kb+12>>2];c[Lk+16>>2]=c[Kb+16>>2];Px(b,Lk,18);aa=Nk;return}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=61){xk=277;break}h=yk+6|0;c[Ak>>2]=h;g=a[h>>0]|0;if((g&255)<48){xk=277;break}do if(g<<24>>24==48){g=yk+7|0;c[Ak>>2]=g;h=a[g>>0]|0;i=g;if((h&255)<58){if((h&255)<35)if(h<<24>>24==33){xk=272;break n}else{g=i;xk=1573;break}if((h&255)<40){xk=272;break n}if((h&255)<42){g=i;xk=1573;break}if((h&255)<48){xk=272;break n}else{xk=1872;break}}if((h&255)<96){if(h<<24>>24==59){g=i;xk=1573;break}if((h&255)<95){xk=272;break n}else{xk=1862;break}}if(h<<24>>24!=120)if((h&255)<127){xk=272;break n}else{g=i;xk=1573;break}q:while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=1877;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;do if((i&255)<58){if((i&255)<35){xk=1880;break q}if((i&255)<40){xk=268;break q}if((i&255)<42){xk=279;break n}if((i&255)<48){xk=268;break q}}else if((i&255)<71){if(i<<24>>24==59){xk=279;break n}if((i&255)<65){xk=268;break q}else break}else{if((i&255)<97){xk=268;break q}if((i&255)<103)break;else{xk=1890;break q}}while(0);g=h;r:while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=2239;break q}g=c[Ak>>2]|0}h=a[g>>0]|0;do if((h&255)<59){if((h&255)<40){xk=2242;break q}if((h&255)<42){xk=1572;break q}if((h+-48&255)>=10){xk=267;break q}}else if((h&255)<95){if((h&255)<60){xk=1572;break q}if((h+-65&255)<6)break;else{xk=267;break q}}else{if((h&255)<97)break r;if((h&255)<103)break;else{xk=2253;break q}}while(0)}if(h<<24>>24==96){xk=268;break}}if((xk|0)==267){xk=272;break n}else if((xk|0)==268){xk=272;break n}else if((xk|0)==1572){xk=1573;break}else if((xk|0)==1877){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[fi>>2]=Dk?c[Hk>>2]|0:Hk;c[fi+4>>2]=Mk;c[fi+8>>2]=Ok;c[fi+12>>2]=Pk;c[fi+16>>2]=Qk;c[Lk>>2]=c[fi>>2];c[Lk+4>>2]=c[fi+4>>2];c[Lk+8>>2]=c[fi+8>>2];c[Lk+12>>2]=c[fi+12>>2];c[Lk+16>>2]=c[fi+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==1880)if(i<<24>>24==33){xk=272;break n}else{xk=279;break n}else if((xk|0)==1890)if((i&255)<127){xk=272;break n}else{xk=279;break n}else if((xk|0)==2239){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[Oh>>2]=Dk?c[Hk>>2]|0:Hk;c[Oh+4>>2]=Mk;c[Oh+8>>2]=Ok;c[Oh+12>>2]=Pk;c[Oh+16>>2]=Qk;c[Lk>>2]=c[Oh>>2];c[Lk+4>>2]=c[Oh+4>>2];c[Lk+8>>2]=c[Oh+8>>2];c[Lk+12>>2]=c[Oh+12>>2];c[Lk+16>>2]=c[Oh+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==2242){if(h<<24>>24==33){xk=272;break n}if((h&255)<35){xk=1573;break}else{xk=272;break n}}else if((xk|0)==2253)if((h&255)<127){xk=272;break n}else{xk=1573;break}}else if((g&255)<58){g=h;xk=1872}else{xk=277;break n}while(0);s:while(1)if((xk|0)==1573){xk=a[Dk>>0]|0;wk=xk<<24>>24<0;xk=wk?c[Ek>>2]|0:xk&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[ck>>2]=wk?c[Hk>>2]|0:Hk;c[ck+4>>2]=xk;c[ck+8>>2]=Ok;c[ck+12>>2]=j+1-Pk+Qk-i;c[ck+16>>2]=1-Pk+Qk-i+g;i=j+6|0;g=g-j|0;j=g+-6|0;c[Mk>>2]=0;c[Mk+4>>2]=0;c[Mk+8>>2]=0;if(j>>>0>4294967279){xk=1574;break}else{xk=1575;break}}else if((xk|0)==1862){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=1865;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;if((i&255)<42){xk=1867;break}if((i&255)>=59){xk=1873;break}if((i&255)>47&i<<24>>24!=58){g=h;xk=1872;continue}else{xk=272;break n}}else if((xk|0)==1872){while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=1585;break s}g=c[Ak>>2]|0}h=a[g>>0]|0;if((h&255)<48){xk=1587;break}if((h&255)>=60){xk=1593;break}if((h&255)>=58){xk=1592;break}}if((xk|0)==1587)if((h&255)<35)if(h<<24>>24==33){xk=272;break n}else{xk=1573;continue}else if((h&-2)<<24>>24==40){xk=1573;continue}else{xk=272;break n}else if((xk|0)==1592)if(h<<24>>24==58){xk=272;break n}else{xk=1573;continue}else if((xk|0)==1593){if(h<<24>>24==95){xk=1862;continue}if((h&255)<127){xk=272;break n}else{xk=1573;continue}}}if((xk|0)==1574)JA();else if((xk|0)==1575){if(j>>>0<11){g=Mk+11|0;a[g>>0]=j;if(!j)h=Mk;else{h=Mk;xk=1578}}else{g=g+10&-16;h=FA(g)|0;c[Mk>>2]=h;c[Mk+8>>2]=g|-2147483648;c[Mk+4>>2]=j;g=Mk+11|0;xk=1578}if((xk|0)==1578)_B(h|0,i|0,j|0)|0;a[h+j>>0]=0;c[Lk>>2]=c[ck>>2];c[Lk+4>>2]=c[ck+4>>2];c[Lk+8>>2]=c[ck+8>>2];c[Lk+12>>2]=c[ck+12>>2];c[Lk+16>>2]=c[ck+16>>2];Rx(b,Lk,101,Mk);if((a[g>>0]|0)<0)HA(c[Mk>>2]|0);aa=Nk;return}else if((xk|0)==1585){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[Pi>>2]=Dk?c[Hk>>2]|0:Hk;c[Pi+4>>2]=Mk;c[Pi+8>>2]=Ok;c[Pi+12>>2]=Pk;c[Pi+16>>2]=Qk;c[Lk>>2]=c[Pi>>2];c[Lk+4>>2]=c[Pi+4>>2];c[Lk+8>>2]=c[Pi+8>>2];c[Lk+12>>2]=c[Pi+12>>2];c[Lk+16>>2]=c[Pi+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==1865){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[Qi>>2]=Dk?c[Hk>>2]|0:Hk;c[Qi+4>>2]=Mk;c[Qi+8>>2]=Ok;c[Qi+12>>2]=Pk;c[Qi+16>>2]=Qk;c[Lk>>2]=c[Qi>>2];c[Lk+4>>2]=c[Qi+4>>2];c[Lk+8>>2]=c[Qi+8>>2];c[Lk+12>>2]=c[Qi+12>>2];c[Lk+16>>2]=c[Qi+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==1867)if((i&255)<34)if(i<<24>>24==33){xk=272;break}else{xk=279;break}else if(i<<24>>24!=34&(i&255)<40){xk=272;break}else{xk=279;break}else if((xk|0)==1873)if(i<<24>>24!=59&(i&255)<127){xk=272;break}else{xk=279;break}}if((k&255)>=115){if(k<<24>>24!=115){if((k&255)>=117){g=k;xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break}g=yk+13|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[hk>>2]=Dk?c[Hk>>2]|0:Hk;c[hk+4>>2]=Ek;c[hk+8>>2]=Ik;c[hk+12>>2]=Mk;c[hk+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[hk>>2];c[Lk+4>>2]=c[hk+4>>2];c[Lk+8>>2]=c[hk+8>>2];c[Lk+12>>2]=c[hk+12>>2];c[Lk+16>>2]=c[hk+16>>2];Sx(b,Lk,48,350);aa=Nk;return}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==115){g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==101){g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==114){g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==116){g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==95){g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[nk>>2]=Dk?c[Hk>>2]|0:Hk;c[nk+4>>2]=Ek;c[nk+8>>2]=Ik;c[nk+12>>2]=Mk;c[nk+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[nk>>2];c[Lk+4>>2]=c[nk+4>>2];c[Lk+8>>2]=c[nk+8>>2];c[Lk+12>>2]=c[nk+12>>2];c[Lk+16>>2]=c[nk+16>>2];Px(b,Lk,3);aa=Nk;return}case 105:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[jk>>2]=Dk?c[Hk>>2]|0:Hk;c[jk+4>>2]=Ek;c[jk+8>>2]=Ik;c[jk+12>>2]=Mk;c[jk+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[jk>>2];c[Lk+4>>2]=c[jk+4>>2];c[Lk+8>>2]=c[jk+8>>2];c[Lk+12>>2]=c[jk+12>>2];c[Lk+16>>2]=c[jk+16>>2];Px(b,Lk,4);aa=Nk;return}case 109:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[mk>>2]=Dk?c[Hk>>2]|0:Hk;c[mk+4>>2]=Ek;c[mk+8>>2]=Ik;c[mk+12>>2]=Mk;c[mk+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[mk>>2];c[Lk+4>>2]=c[mk+4>>2];c[Lk+8>>2]=c[mk+8>>2];c[Lk+12>>2]=c[mk+12>>2];c[Lk+16>>2]=c[mk+16>>2];Px(b,Lk,5);aa=Nk;return}case 114:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}h=yk+13|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:break;case 99:{g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+24|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+25|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+26|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+27|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[tk>>2]=Dk?c[Hk>>2]|0:Hk;c[tk+4>>2]=Ek;c[tk+8>>2]=Ik;c[tk+12>>2]=Mk;c[tk+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[tk>>2];c[Lk+4>>2]=c[tk+4>>2];c[Lk+8>>2]=c[tk+8>>2];c[Lk+12>>2]=c[tk+12>>2];c[Lk+16>>2]=c[tk+16>>2];Px(b,Lk,8);aa=Nk;return}default:{xk=277;break n}}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+24|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+25|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+26|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+27|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+28|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[uk>>2]=Dk?c[Hk>>2]|0:Hk;c[uk+4>>2]=Ek;c[uk+8>>2]=Ik;c[uk+12>>2]=Mk;c[uk+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[uk>>2];c[Lk+4>>2]=c[uk+4>>2];c[Lk+8>>2]=c[uk+8>>2];c[Lk+12>>2]=c[uk+12>>2];c[Lk+16>>2]=c[uk+16>>2];Px(b,Lk,7);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ik>>2]=Dk?c[Hk>>2]|0:Hk;c[ik+4>>2]=Ek;c[ik+8>>2]=Ik;c[ik+12>>2]=Mk;c[ik+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[ik>>2];c[Lk+4>>2]=c[ik+4>>2];c[Lk+8>>2]=c[ik+8>>2];c[Lk+12>>2]=c[ik+12>>2];c[Lk+16>>2]=c[ik+16>>2];Px(b,Lk,6);aa=Nk;return}case 116:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ek>>2]=Dk?c[Hk>>2]|0:Hk;c[ek+4>>2]=Ek;c[ek+8>>2]=Ik;c[ek+12>>2]=Mk;c[ek+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ek>>2];c[Lk+4>>2]=c[ek+4>>2];c[Lk+8>>2]=c[ek+8>>2];c[Lk+12>>2]=c[ek+12>>2];c[Lk+16>>2]=c[ek+16>>2];Px(b,Lk,9);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=107){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ok>>2]=Dk?c[Hk>>2]|0:Hk;c[ok+4>>2]=Ek;c[ok+8>>2]=Ik;c[ok+12>>2]=Mk;c[ok+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ok>>2];c[Lk+4>>2]=c[ok+4>>2];c[Lk+8>>2]=c[ok+8>>2];c[Lk+12>>2]=c[ok+12>>2];c[Lk+16>>2]=c[ok+16>>2];Px(b,Lk,10);aa=Nk;return}default:{xk=277;break n}}}else xk=277}else xk=277}else xk=277}else xk=277}else xk=277}else{g=k;xk=277}}else xk=272;break}case 223:{if(j<<24>>24==98){g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<108){if(g<<24>>24!=105){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[kb>>2]=Dk?c[Hk>>2]|0:Hk;c[kb+4>>2]=Ek;c[kb+8>>2]=Ik;c[kb+12>>2]=Mk;c[kb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[kb>>2];c[Lk+4>>2]=c[kb+4>>2];c[Lk+8>>2]=c[kb+8>>2];c[Lk+12>>2]=c[kb+12>>2];c[Lk+16>>2]=c[kb+16>>2];Px(b,Lk,11);aa=Nk;return}switch(g<<24>>24){case 108:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=107){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[$a>>2]=Dk?c[Hk>>2]|0:Hk;c[$a+4>>2]=Ek;c[$a+8>>2]=Ik;c[$a+12>>2]=Mk;c[$a+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[$a>>2];c[Lk+4>>2]=c[$a+4>>2];c[Lk+8>>2]=c[$a+8>>2];c[Lk+12>>2]=c[$a+12>>2];c[Lk+16>>2]=c[$a+16>>2];Sx(b,Lk,50,2);aa=Nk;return}case 114:break;default:{xk=277;break n}}h=yk+2|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<111){if(g<<24>>24!=105){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[gb>>2]=Dk?c[Hk>>2]|0:Hk;c[gb+4>>2]=Ek;c[gb+8>>2]=Ik;c[gb+12>>2]=Mk;c[gb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[gb>>2];c[Lk+4>>2]=c[gb+4>>2];c[Lk+8>>2]=c[gb+8>>2];c[Lk+12>>2]=c[gb+12>>2];c[Lk+16>>2]=c[gb+16>>2];Sx(b,Lk,52,13);aa=Nk;return}switch(g<<24>>24){case 111:break;case 116:{g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[rd>>2]=Dk?c[Hk>>2]|0:Hk;c[rd+4>>2]=Ek;c[rd+8>>2]=Ik;c[rd+12>>2]=Mk;c[rd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[rd>>2];c[Lk+4>>2]=c[rd+4>>2];c[Lk+8>>2]=c[rd+8>>2];c[Lk+12>>2]=c[rd+12>>2];c[Lk+16>>2]=c[rd+16>>2];Sx(b,Lk,54,14);aa=Nk;return}default:{xk=277;break n}}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Fd>>2]=Dk?c[Hk>>2]|0:Hk;c[Fd+4>>2]=Ek;c[Fd+8>>2]=Ik;c[Fd+12>>2]=Mk;c[Fd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Fd>>2];c[Lk+4>>2]=c[Fd+4>>2];c[Lk+8>>2]=c[Fd+8>>2];c[Lk+12>>2]=c[Fd+12>>2];c[Lk+16>>2]=c[Fd+16>>2];Sx(b,Lk,53,10);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ha>>2]=Dk?c[Hk>>2]|0:Hk;c[Ha+4>>2]=Ek;c[Ha+8>>2]=Ik;c[Ha+12>>2]=Mk;c[Ha+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Ha>>2];c[Lk+4>>2]=c[Ha+4>>2];c[Lk+8>>2]=c[Ha+8>>2];c[Lk+12>>2]=c[Ha+12>>2];c[Lk+16>>2]=c[Ha+16>>2];Sx(b,Lk,51,12);aa=Nk;return}if((j&255)<100){g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:break;case 117:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[vg>>2]=Dk?c[Hk>>2]|0:Hk;c[vg+4>>2]=Ek;c[vg+8>>2]=Ik;c[vg+12>>2]=Mk;c[vg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[vg>>2];c[Lk+4>>2]=c[vg+4>>2];c[Lk+8>>2]=c[vg+8>>2];c[Lk+12>>2]=c[vg+12>>2];c[Lk+16>>2]=c[vg+16>>2];Sx(b,Lk,74,50);aa=Nk;return}default:{xk=277;break n}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:break;case 116:{g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ab>>2]=Dk?c[Hk>>2]|0:Hk;c[ab+4>>2]=Ek;c[ab+8>>2]=Ik;c[ab+12>>2]=Mk;c[ab+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ab>>2];c[Lk+4>>2]=c[ab+4>>2];c[Lk+8>>2]=c[ab+8>>2];c[Lk+12>>2]=c[ab+12>>2];c[Lk+16>>2]=c[ab+16>>2];Sx(b,Lk,57,7);aa=Nk;return}default:{xk=277;break n}}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}h=yk+4|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[sg>>2]=Dk?c[Hk>>2]|0:Hk;c[sg+4>>2]=Ek;c[sg+8>>2]=Ik;c[sg+12>>2]=Mk;c[sg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[sg>>2];c[Lk+4>>2]=c[sg+4>>2];c[Lk+8>>2]=c[sg+8>>2];c[Lk+12>>2]=c[sg+12>>2];c[Lk+16>>2]=c[sg+16>>2];Sx(b,Lk,56,17);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Wa>>2]=Dk?c[Hk>>2]|0:Hk;c[Wa+4>>2]=Ek;c[Wa+8>>2]=Ik;c[Wa+12>>2]=Mk;c[Wa+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Wa>>2];c[Lk+4>>2]=c[Wa+4>>2];c[Lk+8>>2]=c[Wa+8>>2];c[Lk+12>>2]=c[Wa+12>>2];c[Lk+16>>2]=c[Wa+16>>2];Sx(b,Lk,55,16);aa=Nk;return}g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if(j<<24>>24==100){switch(g<<24>>24){case 97:break;case 114:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ra>>2]=Dk?c[Hk>>2]|0:Hk;c[Ra+4>>2]=Ek;c[Ra+8>>2]=Ik;c[Ra+12>>2]=Mk;c[Ra+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ra>>2];c[Lk+4>>2]=c[Ra+4>>2];c[Lk+8>>2]=c[Ra+8>>2];c[Lk+12>>2]=c[Ra+12>>2];c[Lk+16>>2]=c[Ra+16>>2];Sx(b,Lk,61,20);aa=Nk;return}default:{xk=277;break n}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}h=yk+4|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)>=59)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24!=46){xk=272;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Gd>>2]=Dk?c[Hk>>2]|0:Hk;c[Gd+4>>2]=Ek;c[Gd+8>>2]=Ik;c[Gd+12>>2]=Mk;c[Gd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Gd>>2];c[Lk+4>>2]=c[Gd+4>>2];c[Lk+8>>2]=c[Gd+8>>2];c[Lk+12>>2]=c[Gd+12>>2];c[Lk+16>>2]=c[Gd+16>>2];Sx(b,Lk,70,198);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xa>>2]=Dk?c[Hk>>2]|0:Hk;c[Xa+4>>2]=Ek;c[Xa+8>>2]=Ik;c[Xa+12>>2]=Mk;c[Xa+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Xa>>2];c[Lk+4>>2]=c[Xa+4>>2];c[Lk+8>>2]=c[Xa+8>>2];c[Lk+12>>2]=c[Xa+12>>2];c[Lk+16>>2]=c[Xa+16>>2];Px(b,Lk,12);aa=Nk;return}Qk=(g&255)+-108|0;switch(Qk>>>1|Qk<<31|0){case 0:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:break;case 115:{g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Sa>>2]=Dk?c[Hk>>2]|0:Hk;c[Sa+4>>2]=Ek;c[Sa+8>>2]=Ik;c[Sa+12>>2]=Mk;c[Sa+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Sa>>2];c[Lk+4>>2]=c[Sa+4>>2];c[Lk+8>>2]=c[Sa+8>>2];c[Lk+12>>2]=c[Sa+12>>2];c[Lk+16>>2]=c[Sa+16>>2];Sx(b,Lk,62,5);aa=Nk;return}default:{xk=277;break n}}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}h=yk+4|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)>=59)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24!=46){xk=272;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Hd>>2]=Dk?c[Hk>>2]|0:Hk;c[Hd+4>>2]=Ek;c[Hd+8>>2]=Ik;c[Hd+12>>2]=Mk;c[Hd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Hd>>2];c[Lk+4>>2]=c[Hd+4>>2];c[Lk+8>>2]=c[Hd+8>>2];c[Lk+12>>2]=c[Hd+12>>2];c[Lk+16>>2]=c[Hd+16>>2];Sx(b,Lk,76,202);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ya>>2]=Dk?c[Hk>>2]|0:Hk;c[Ya+4>>2]=Ek;c[Ya+8>>2]=Ik;c[Ya+12>>2]=Mk;c[Ya+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Ya>>2];c[Lk+4>>2]=c[Ya+4>>2];c[Lk+8>>2]=c[Ya+8>>2];c[Lk+12>>2]=c[Ya+12>>2];c[Lk+16>>2]=c[Ya+16>>2];Px(b,Lk,13);aa=Nk;return}case 1:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ia>>2]=Dk?c[Hk>>2]|0:Hk;c[Ia+4>>2]=Ek;c[Ia+8>>2]=Ik;c[Ia+12>>2]=Mk;c[Ia+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ia>>2];c[Lk+4>>2]=c[Ia+4>>2];c[Lk+8>>2]=c[Ia+8>>2];c[Lk+12>>2]=c[Ia+12>>2];c[Lk+16>>2]=c[Ia+16>>2];Sx(b,Lk,63,11);aa=Nk;return}case 5:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[bb>>2]=Dk?c[Hk>>2]|0:Hk;c[bb+4>>2]=Ek;c[bb+8>>2]=Ik;c[bb+12>>2]=Mk;c[bb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[bb>>2];c[Lk+4>>2]=c[bb+4>>2];c[Lk+8>>2]=c[bb+8>>2];c[Lk+12>>2]=c[bb+12>>2];c[Lk+16>>2]=c[bb+16>>2];Px(b,Lk,15);aa=Nk;return}case 6:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[lb>>2]=Dk?c[Hk>>2]|0:Hk;c[lb+4>>2]=Ek;c[lb+8>>2]=Ik;c[lb+12>>2]=Mk;c[lb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[lb>>2];c[Lk+4>>2]=c[lb+4>>2];c[Lk+8>>2]=c[lb+8>>2];c[Lk+12>>2]=c[lb+12>>2];c[Lk+16>>2]=c[lb+16>>2];Px(b,Lk,16);aa=Nk;return}default:{xk=277;break n}}}case 227:{if((j&255)>=109){if((j&255)>=112){if(j<<24>>24==112){g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<114){xk=277;break}if(g<<24>>24==114){g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break}g=yk+5|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[cb>>2]=Dk?c[Hk>>2]|0:Hk;c[cb+4>>2]=Ek;c[cb+8>>2]=Ik;c[cb+12>>2]=Mk;c[cb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[cb>>2];c[Lk+4>>2]=c[cb+4>>2];c[Lk+8>>2]=c[cb+8>>2];c[Lk+12>>2]=c[cb+12>>2];c[Lk+16>>2]=c[cb+16>>2];Px(b,Lk,29);aa=Nk;return}if((g&255)>=116){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Mb>>2]=Dk?c[Hk>>2]|0:Hk;c[Mb+4>>2]=Ek;c[Mb+8>>2]=Ik;c[Mb+12>>2]=Mk;c[Mb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Mb>>2];c[Lk+4>>2]=c[Mb+4>>2];c[Lk+8>>2]=c[Mb+8>>2];c[Lk+12>>2]=c[Mb+12>>2];c[Lk+16>>2]=c[Mb+16>>2];Px(b,Lk,30);aa=Nk;return}if((j&255)<114){g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break}g=yk+5|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[db>>2]=Dk?c[Hk>>2]|0:Hk;c[db+4>>2]=Ek;c[db+8>>2]=Ik;c[db+12>>2]=Mk;c[db+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[db>>2];c[Lk+4>>2]=c[db+4>>2];c[Lk+8>>2]=c[db+8>>2];c[Lk+12>>2]=c[db+12>>2];c[Lk+16>>2]=c[db+16>>2];Px(b,Lk,31);aa=Nk;return}g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if(j<<24>>24!=114){if((g&255)>=104){switch(g<<24>>24){case 104:break;case 116:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[eb>>2]=Dk?c[Hk>>2]|0:Hk;c[eb+4>>2]=Ek;c[eb+8>>2]=Ik;c[eb+12>>2]=Mk;c[eb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[eb>>2];c[Lk+4>>2]=c[eb+4>>2];c[Lk+8>>2]=c[eb+8>>2];c[Lk+12>>2]=c[eb+12>>2];c[Lk+16>>2]=c[eb+16>>2];Px(b,Lk,36);aa=Nk;return}default:{xk=277;break n}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[rb>>2]=Dk?c[Hk>>2]|0:Hk;c[rb+4>>2]=Ek;c[rb+8>>2]=Ik;c[rb+12>>2]=Mk;c[rb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[rb>>2];c[Lk+4>>2]=c[rb+4>>2];c[Lk+8>>2]=c[rb+8>>2];c[Lk+12>>2]=c[rb+12>>2];c[Lk+16>>2]=c[rb+16>>2];Px(b,Lk,35);aa=Nk;return}if(g<<24>>24!=101){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:{g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[qb>>2]=Dk?c[Hk>>2]|0:Hk;c[qb+4>>2]=Ek;c[qb+8>>2]=Ik;c[qb+12>>2]=Mk;c[qb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[qb>>2];c[Lk+4>>2]=c[qb+4>>2];c[Lk+8>>2]=c[qb+8>>2];c[Lk+12>>2]=c[qb+12>>2];c[Lk+16>>2]=c[qb+16>>2];Sx(b,Lk,89,21);aa=Nk;return}case 116:break;default:{xk=277;break n}}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 103:break;case 108:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ld>>2]=Dk?c[Hk>>2]|0:Hk;c[ld+4>>2]=Ek;c[ld+8>>2]=Ik;c[ld+12>>2]=Mk;c[ld+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ld>>2];c[Lk+4>>2]=c[ld+4>>2];c[Lk+8>>2]=c[ld+8>>2];c[Lk+12>>2]=c[ld+12>>2];c[Lk+16>>2]=c[ld+16>>2];Sx(b,Lk,91,23);aa=Nk;return}default:{xk=277;break n}}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[$e>>2]=Dk?c[Hk>>2]|0:Hk;c[$e+4>>2]=Ek;c[$e+8>>2]=Ik;c[$e+12>>2]=Mk;c[$e+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[$e>>2];c[Lk+4>>2]=c[$e+4>>2];c[Lk+8>>2]=c[$e+8>>2];c[Lk+12>>2]=c[$e+12>>2];c[Lk+16>>2]=c[$e+16>>2];Sx(b,Lk,90,26);aa=Nk;return}if(g<<24>>24!=101){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<104){if((g&255)<102){xk=277;break}h=yk+3|0;c[Ak>>2]=h;h=a[h>>0]|0;if(g<<24>>24!=102){if(h<<24>>24!=105){g=h;xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Rb>>2]=Dk?c[Hk>>2]|0:Hk;c[Rb+4>>2]=Ek;c[Rb+8>>2]=Ik;c[Rb+12>>2]=Mk;c[Rb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Rb>>2];c[Lk+4>>2]=c[Rb+4>>2];c[Lk+8>>2]=c[Rb+8>>2];c[Lk+12>>2]=c[Rb+12>>2];c[Lk+16>>2]=c[Rb+16>>2];Px(b,Lk,32);aa=Nk;return}if(h<<24>>24!=46){g=h;xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 105:break;case 110:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Qb>>2]=Dk?c[Hk>>2]|0:Hk;c[Qb+4>>2]=Ek;c[Qb+8>>2]=Ik;c[Qb+12>>2]=Mk;c[Qb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Qb>>2];c[Lk+4>>2]=c[Qb+4>>2];c[Lk+8>>2]=c[Qb+8>>2];c[Lk+12>>2]=c[Qb+12>>2];c[Lk+16>>2]=c[Qb+16>>2];Sx(b,Lk,82,208);aa=Nk;return}default:{xk=277;break n}}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[If>>2]=Dk?c[Hk>>2]|0:Hk;c[If+4>>2]=Ek;c[If+8>>2]=Ik;c[If+12>>2]=Mk;c[If+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[If>>2];c[Lk+4>>2]=c[If+4>>2];c[Lk+8>>2]=c[If+8>>2];c[Lk+12>>2]=c[If+12>>2];c[Lk+16>>2]=c[If+16>>2];Sx(b,Lk,83,209);aa=Nk;return}if((g&255)<115){xk=277;break}if(g<<24>>24==115){g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[pb>>2]=Dk?c[Hk>>2]|0:Hk;c[pb+4>>2]=Ek;c[pb+8>>2]=Ik;c[pb+12>>2]=Mk;c[pb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[pb>>2];c[Lk+4>>2]=c[pb+4>>2];c[Lk+8>>2]=c[pb+8>>2];c[Lk+12>>2]=c[pb+12>>2];c[Lk+16>>2]=c[pb+16>>2];Px(b,Lk,33);aa=Nk;return}if((g&255)>=117){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 104:{g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=119){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Nb>>2]=Dk?c[Hk>>2]|0:Hk;c[Nb+4>>2]=Ek;c[Nb+8>>2]=Ik;c[Nb+12>>2]=Mk;c[Nb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Nb>>2];c[Lk+4>>2]=c[Nb+4>>2];c[Lk+8>>2]=c[Nb+8>>2];c[Lk+12>>2]=c[Nb+12>>2];c[Lk+16>>2]=c[Nb+16>>2];Sx(b,Lk,85,9);aa=Nk;return}case 117:break;default:{xk=277;break n}}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break}h=yk+6|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}h=yk+11|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ej>>2]=Dk?c[Hk>>2]|0:Hk;c[ej+4>>2]=Ek;c[ej+8>>2]=Ik;c[ej+12>>2]=Mk;c[ej+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ej>>2];c[Lk+4>>2]=c[ej+4>>2];c[Lk+8>>2]=c[ej+8>>2];c[Lk+12>>2]=c[ej+12>>2];c[Lk+16>>2]=c[ej+16>>2];Sx(b,Lk,88,19);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[gg>>2]=Dk?c[Hk>>2]|0:Hk;c[gg+4>>2]=Ek;c[gg+8>>2]=Ik;c[gg+12>>2]=Mk;c[gg+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[gg>>2];c[Lk+4>>2]=c[gg+4>>2];c[Lk+8>>2]=c[gg+8>>2];c[Lk+12>>2]=c[gg+12>>2];c[Lk+16>>2]=c[gg+16>>2];Sx(b,Lk,87,18);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Jb>>2]=Dk?c[Hk>>2]|0:Hk;c[Jb+4>>2]=Ek;c[Jb+8>>2]=Ik;c[Jb+12>>2]=Mk;c[Jb+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Jb>>2];c[Lk+4>>2]=c[Jb+4>>2];c[Lk+8>>2]=c[Jb+8>>2];c[Lk+12>>2]=c[Jb+12>>2];c[Lk+16>>2]=c[Jb+16>>2];Sx(b,Lk,86,15);aa=Nk;return}if((j&255)<110){g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=111){switch(g<<24>>24){case 111:break;case 117:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ja>>2]=Dk?c[Hk>>2]|0:Hk;c[Ja+4>>2]=Ek;c[Ja+8>>2]=Ik;c[Ja+12>>2]=Mk;c[Ja+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ja>>2];c[Lk+4>>2]=c[Ja+4>>2];c[Lk+8>>2]=c[Ja+8>>2];c[Lk+12>>2]=c[Ja+12>>2];c[Lk+16>>2]=c[Ja+16>>2];Px(b,Lk,27);aa=Nk;return}default:{xk=277;break n}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ob>>2]=Dk?c[Hk>>2]|0:Hk;c[ob+4>>2]=Ek;c[ob+8>>2]=Ik;c[ob+12>>2]=Mk;c[ob+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ob>>2];c[Lk+4>>2]=c[ob+4>>2];c[Lk+8>>2]=c[ob+8>>2];c[Lk+12>>2]=c[ob+12>>2];c[Lk+16>>2]=c[ob+16>>2];Px(b,Lk,26);aa=Nk;return}if(g<<24>>24!=101){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break}h=yk+6|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)>=59)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24!=46){xk=272;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 99:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Uf>>2]=Dk?c[Hk>>2]|0:Hk;c[Uf+4>>2]=Ek;c[Uf+8>>2]=Ik;c[Uf+12>>2]=Mk;c[Uf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Uf>>2];c[Lk+4>>2]=c[Uf+4>>2];c[Lk+8>>2]=c[Uf+8>>2];c[Lk+12>>2]=c[Uf+12>>2];c[Lk+16>>2]=c[Uf+16>>2];Sx(b,Lk,69,199);aa=Nk;return}case 102:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Vf>>2]=Dk?c[Hk>>2]|0:Hk;c[Vf+4>>2]=Ek;c[Vf+8>>2]=Ik;c[Vf+12>>2]=Mk;c[Vf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Vf>>2];c[Lk+4>>2]=c[Vf+4>>2];c[Lk+8>>2]=c[Vf+8>>2];c[Lk+12>>2]=c[Vf+12>>2];c[Lk+16>>2]=c[Vf+16>>2];Sx(b,Lk,71,200);aa=Nk;return}case 103:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=119){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Wf>>2]=Dk?c[Hk>>2]|0:Hk;c[Wf+4>>2]=Ek;c[Wf+8>>2]=Ik;c[Wf+12>>2]=Mk;c[Wf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Wf>>2];c[Lk+4>>2]=c[Wf+4>>2];c[Lk+8>>2]=c[Wf+8>>2];c[Lk+12>>2]=c[Wf+12>>2];c[Lk+16>>2]=c[Wf+16>>2];Sx(b,Lk,72,51);aa=Nk;return}case 105:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xf>>2]=Dk?c[Hk>>2]|0:Hk;c[Xf+4>>2]=Ek;c[Xf+8>>2]=Ik;c[Xf+12>>2]=Mk;c[Xf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Xf>>2];c[Lk+4>>2]=c[Xf+4>>2];c[Lk+8>>2]=c[Xf+8>>2];c[Lk+12>>2]=c[Xf+12>>2];c[Lk+16>>2]=c[Xf+16>>2];Sx(b,Lk,73,197);aa=Nk;return}case 115:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=122){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Yf>>2]=Dk?c[Hk>>2]|0:Hk;c[Yf+4>>2]=Ek;c[Yf+8>>2]=Ik;c[Yf+12>>2]=Mk;c[Yf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Yf>>2];c[Lk+4>>2]=c[Yf+4>>2];c[Lk+8>>2]=c[Yf+8>>2];c[Lk+12>>2]=c[Yf+12>>2];c[Lk+16>>2]=c[Yf+16>>2];Sx(b,Lk,74,50);aa=Nk;return}default:{xk=277;break n}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ib>>2]=Dk?c[Hk>>2]|0:Hk;c[Ib+4>>2]=Ek;c[Ib+8>>2]=Ik;c[Ib+12>>2]=Mk;c[Ib+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Ib>>2];c[Lk+4>>2]=c[Ib+4>>2];c[Lk+8>>2]=c[Ib+8>>2];c[Lk+12>>2]=c[Ib+12>>2];c[Lk+16>>2]=c[Ib+16>>2];Px(b,Lk,25);aa=Nk;return}h=yk+1|0;c[Ak>>2]=h;g=a[h>>0]|0;if(j<<24>>24==110){switch(g<<24>>24){case 97:{xk=646;break n}case 111:break;default:{xk=277;break n}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break}g=yk+3|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Qa>>2]=Dk?c[Hk>>2]|0:Hk;c[Qa+4>>2]=Ek;c[Qa+8>>2]=Ik;c[Qa+12>>2]=Mk;c[Qa+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Qa>>2];c[Lk+4>>2]=c[Qa+4>>2];c[Lk+8>>2]=c[Qa+8>>2];c[Lk+12>>2]=c[Qa+12>>2];c[Lk+16>>2]=c[Qa+16>>2];Sx(b,Lk,84,1);aa=Nk;return}if(g<<24>>24!=102){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break}k=yk+6|0;c[Ak>>2]=k;g=a[k>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<61)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=61)if((g&255)<127){xk=272;break n}else break;g=yk+7|0;c[Ak>>2]=g;h=a[g>>0]|0;if((h&255)<48){g=h;xk=277;break n}do if(h<<24>>24==48){g=yk+8|0;c[Ak>>2]=g;h=a[g>>0]|0;i=g;if((h&255)<58){if((h&255)<35)if(h<<24>>24==33){xk=272;break n}else{g=i;xk=2187;break}if((h&255)<40){xk=272;break n}if((h&255)<42){g=i;xk=2187;break}if((h&255)<48){xk=272;break n}else{xk=2533;break}}if((h&255)<96){if(h<<24>>24==59){g=i;xk=2187;break}if((h&255)<95){xk=272;break n}else{xk=2523;break}}if(h<<24>>24!=120)if((h&255)<127){xk=272;break n}else{g=i;xk=2187;break}t:while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=2538;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;do if((i&255)<58){if((i&255)<35){xk=2541;break t}if((i&255)<40){xk=270;break t}if((i&255)<42){xk=279;break n}if((i&255)<48){xk=270;break t}}else if((i&255)<71){if(i<<24>>24==59){xk=279;break n}if((i&255)<65){xk=270;break t}else break}else{if((i&255)<97){xk=270;break t}if((i&255)<103)break;else{xk=2551;break t}}while(0);g=h;u:while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=2733;break t}g=c[Ak>>2]|0}h=a[g>>0]|0;do if((h&255)<59){if((h&255)<40){xk=2736;break t}if((h&255)<42){xk=2186;break t}if((h+-48&255)>=10){xk=269;break t}}else if((h&255)<95){if((h&255)<60){xk=2186;break t}if((h+-65&255)<6)break;else{xk=269;break t}}else{if((h&255)<97)break u;if((h&255)<103)break;else{xk=2747;break t}}while(0)}if(h<<24>>24==96){xk=270;break}}if((xk|0)==269){xk=272;break n}else if((xk|0)==270){xk=272;break n}else if((xk|0)==2186){xk=2187;break}else if((xk|0)==2538){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[cj>>2]=Dk?c[Hk>>2]|0:Hk;c[cj+4>>2]=Mk;c[cj+8>>2]=Ok;c[cj+12>>2]=Pk;c[cj+16>>2]=Qk;c[Lk>>2]=c[cj>>2];c[Lk+4>>2]=c[cj+4>>2];c[Lk+8>>2]=c[cj+8>>2];c[Lk+12>>2]=c[cj+12>>2];c[Lk+16>>2]=c[cj+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==2541)if(i<<24>>24==33){xk=272;break n}else{xk=279;break n}else if((xk|0)==2551)if((i&255)<127){xk=272;break n}else{xk=279;break n}else if((xk|0)==2733){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[dj>>2]=Dk?c[Hk>>2]|0:Hk;c[dj+4>>2]=Mk;c[dj+8>>2]=Ok;c[dj+12>>2]=Pk;c[dj+16>>2]=Qk;c[Lk>>2]=c[dj>>2];c[Lk+4>>2]=c[dj+4>>2];c[Lk+8>>2]=c[dj+8>>2];c[Lk+12>>2]=c[dj+12>>2];c[Lk+16>>2]=c[dj+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==2736){if(h<<24>>24==33){xk=272;break n}if((h&255)<35){xk=2187;break}else{xk=272;break n}}else if((xk|0)==2747)if((h&255)<127){xk=272;break n}else{xk=2187;break}}else if((h&255)<58)xk=2533;else{g=h;xk=277;break n}while(0);v:while(1)if((xk|0)==2187){Ck=a[Dk>>0]|0;e=Ck<<24>>24<0;Ck=e?c[Ek>>2]|0:Ck&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[dk>>2]=e?c[Hk>>2]|0:Hk;c[dk+4>>2]=Ck;c[dk+8>>2]=Ok;c[dk+12>>2]=j+1-Pk+Qk-i;c[dk+16>>2]=1-Pk+Qk-i+g;i=j+7|0;g=g-j|0;j=g+-7|0;c[Mk>>2]=0;c[Mk+4>>2]=0;c[Mk+8>>2]=0;if(j>>>0>4294967279){xk=2188;break}else{xk=2189;break}}else if((xk|0)==2523){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=2526;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;if((i&255)<42){xk=2528;break}if((i&255)>=59){xk=2534;break}if((i&255)>47&i<<24>>24!=58){g=h;xk=2533;continue}else{xk=272;break n}}else if((xk|0)==2533){while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=2199;break v}g=c[Ak>>2]|0}h=a[g>>0]|0;if((h&255)<48){xk=2201;break}if((h&255)>=60){xk=2207;break}if((h&255)>=58){xk=2206;break}}if((xk|0)==2201)if((h&255)<35)if(h<<24>>24==33){xk=272;break n}else{xk=2187;continue}else if((h&-2)<<24>>24==40){xk=2187;continue}else{xk=272;break n}else if((xk|0)==2206)if(h<<24>>24==58){xk=272;break n}else{xk=2187;continue}else if((xk|0)==2207){if(h<<24>>24==95){xk=2523;continue}if((h&255)<127){xk=272;break n}else{xk=2187;continue}}}if((xk|0)==2188)JA();else if((xk|0)==2189){if(j>>>0<11){g=Mk+11|0;a[g>>0]=j;if(!j)h=Mk;else{h=Mk;xk=2192}}else{g=g+9&-16;h=FA(g)|0;c[Mk>>2]=h;c[Mk+8>>2]=g|-2147483648;c[Mk+4>>2]=j;g=Mk+11|0;xk=2192}if((xk|0)==2192)_B(h|0,i|0,j|0)|0;a[h+j>>0]=0;c[Lk>>2]=c[dk>>2];c[Lk+4>>2]=c[dk+4>>2];c[Lk+8>>2]=c[dk+8>>2];c[Lk+12>>2]=c[dk+12>>2];c[Lk+16>>2]=c[dk+16>>2];Rx(b,Lk,102,Mk);if((a[g>>0]|0)<0)HA(c[Mk>>2]|0);aa=Nk;return}else if((xk|0)==2199){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[wj>>2]=Dk?c[Hk>>2]|0:Hk;c[wj+4>>2]=Mk;c[wj+8>>2]=Ok;c[wj+12>>2]=Pk;c[wj+16>>2]=Qk;c[Lk>>2]=c[wj>>2];c[Lk+4>>2]=c[wj+4>>2];c[Lk+8>>2]=c[wj+8>>2];c[Lk+12>>2]=c[wj+12>>2];c[Lk+16>>2]=c[wj+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==2526){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[xj>>2]=Dk?c[Hk>>2]|0:Hk;c[xj+4>>2]=Mk;c[xj+8>>2]=Ok;c[xj+12>>2]=Pk;c[xj+16>>2]=Qk;c[Lk>>2]=c[xj>>2];c[Lk+4>>2]=c[xj+4>>2];c[Lk+8>>2]=c[xj+8>>2];c[Lk+12>>2]=c[xj+12>>2];c[Lk+16>>2]=c[xj+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==2528)if((i&255)<34)if(i<<24>>24==33){xk=272;break n}else{xk=279;break n}else if(i<<24>>24!=34&(i&255)<40){xk=272;break n}else{xk=279;break n}else if((xk|0)==2534)if(i<<24>>24!=59&(i&255)<127){xk=272;break n}else{xk=279;break n}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[bk>>2]=Dk?c[Hk>>2]|0:Hk;c[bk+4>>2]=Ek;c[bk+8>>2]=Ik;c[bk+12>>2]=Mk;c[bk+16>>2]=1-Ok+Pk-Qk+k;c[Lk>>2]=c[bk>>2];c[Lk+4>>2]=c[bk+4>>2];c[Lk+8>>2]=c[bk+8>>2];c[Lk+12>>2]=c[bk+12>>2];c[Lk+16>>2]=c[bk+16>>2];Px(b,Lk,28);aa=Nk;return}if((j&255)<105){if((j&255)>=103){if(j<<24>>24!=103){xk=272;break}g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<108){if(g<<24>>24!=101){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break}h=yk+3|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 103:break;case 108:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ce>>2]=Dk?c[Hk>>2]|0:Hk;c[ce+4>>2]=Ek;c[ce+8>>2]=Ik;c[ce+12>>2]=Mk;c[ce+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ce>>2];c[Lk+4>>2]=c[ce+4>>2];c[Lk+8>>2]=c[ce+8>>2];c[Lk+12>>2]=c[ce+12>>2];c[Lk+16>>2]=c[ce+16>>2];Sx(b,Lk,65,22);aa=Nk;return}default:{xk=277;break n}}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[hf>>2]=Dk?c[Hk>>2]|0:Hk;c[hf+4>>2]=Ek;c[hf+8>>2]=Ik;c[hf+12>>2]=Mk;c[hf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[hf>>2];c[Lk+4>>2]=c[hf+4>>2];c[Lk+8>>2]=c[hf+8>>2];c[Lk+12>>2]=c[hf+12>>2];c[Lk+16>>2]=c[hf+16>>2];Sx(b,Lk,64,25);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Na>>2]=Dk?c[Hk>>2]|0:Hk;c[Na+4>>2]=Ek;c[Na+8>>2]=Ik;c[Na+12>>2]=Mk;c[Na+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Na>>2];c[Lk+4>>2]=c[Na+4>>2];c[Lk+8>>2]=c[Na+8>>2];c[Lk+12>>2]=c[Na+12>>2];c[Lk+16>>2]=c[Na+16>>2];Px(b,Lk,19);aa=Nk;return}switch(g<<24>>24){case 108:break;case 114:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=119){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Bf>>2]=Dk?c[Hk>>2]|0:Hk;c[Bf+4>>2]=Ek;c[Bf+8>>2]=Ik;c[Bf+12>>2]=Mk;c[Bf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Bf>>2];c[Lk+4>>2]=c[Bf+4>>2];c[Lk+8>>2]=c[Bf+8>>2];c[Lk+12>>2]=c[Bf+12>>2];c[Lk+16>>2]=c[Bf+16>>2];Sx(b,Lk,72,51);aa=Nk;return}default:{xk=277;break n}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}h=yk+6|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)>=59)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24!=46){xk=272;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 103:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[jf>>2]=Dk?c[Hk>>2]|0:Hk;c[jf+4>>2]=Ek;c[jf+8>>2]=Ik;c[jf+12>>2]=Mk;c[jf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[jf>>2];c[Lk+4>>2]=c[jf+4>>2];c[Lk+8>>2]=c[jf+8>>2];c[Lk+12>>2]=c[jf+12>>2];c[Lk+16>>2]=c[jf+16>>2];Sx(b,Lk,64,25);aa=Nk;return}case 115:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[kf>>2]=Dk?c[Hk>>2]|0:Hk;c[kf+4>>2]=Ek;c[kf+8>>2]=Ik;c[kf+12>>2]=Mk;c[kf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[kf>>2];c[Lk+4>>2]=c[kf+4>>2];c[Lk+8>>2]=c[kf+8>>2];c[Lk+12>>2]=c[kf+12>>2];c[Lk+16>>2]=c[kf+16>>2];Sx(b,Lk,90,26);aa=Nk;return}default:{xk=277;break n}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Db>>2]=Dk?c[Hk>>2]|0:Hk;c[Db+4>>2]=Ek;c[Db+8>>2]=Ik;c[Db+12>>2]=Mk;c[Db+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Db>>2];c[Lk+4>>2]=c[Db+4>>2];c[Lk+8>>2]=c[Db+8>>2];c[Lk+12>>2]=c[Db+12>>2];c[Lk+16>>2]=c[Db+16>>2];Px(b,Lk,20);aa=Nk;return}g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<54){if(g<<24>>24!=51){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break}h=yk+3|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<46)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=60){if(g<<24>>24!=120)if((g&255)<127){xk=272;break n}else break;g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;do switch(g<<24>>24){case 97:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 98:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Md>>2]=Dk?c[Hk>>2]|0:Hk;c[Md+4>>2]=Ek;c[Md+8>>2]=Ik;c[Md+12>>2]=Mk;c[Md+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Md>>2];c[Lk+4>>2]=c[Md+4>>2];c[Lk+8>>2]=c[Md+8>>2];c[Lk+12>>2]=c[Md+12>>2];c[Lk+16>>2]=c[Md+16>>2];Sx(b,Lk,99,324);aa=Nk;return}case 100:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Nd>>2]=Dk?c[Hk>>2]|0:Hk;c[Nd+4>>2]=Ek;c[Nd+8>>2]=Ik;c[Nd+12>>2]=Mk;c[Nd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Nd>>2];c[Lk+4>>2]=c[Nd+4>>2];c[Lk+8>>2]=c[Nd+8>>2];c[Lk+12>>2]=c[Nd+12>>2];c[Lk+16>>2]=c[Nd+16>>2];Sx(b,Lk,49,327);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[fj>>2]=Dk?c[Hk>>2]|0:Hk;c[fj+4>>2]=Ek;c[fj+8>>2]=Ik;c[fj+12>>2]=Mk;c[fj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[fj>>2];c[Lk+4>>2]=c[fj+4>>2];c[Lk+8>>2]=c[fj+8>>2];c[Lk+12>>2]=c[fj+12>>2];c[Lk+16>>2]=c[fj+16>>2];Sx(b,Lk,99,346);aa=Nk;return}case 117:{g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[gj>>2]=Dk?c[Hk>>2]|0:Hk;c[gj+4>>2]=Ek;c[gj+8>>2]=Ik;c[gj+12>>2]=Mk;c[gj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[gj>>2];c[Lk+4>>2]=c[gj+4>>2];c[Lk+8>>2]=c[gj+8>>2];c[Lk+12>>2]=c[gj+12>>2];c[Lk+16>>2]=c[gj+16>>2];Sx(b,Lk,99,347);aa=Nk;return}default:{xk=277;break n}}}case 100:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Od>>2]=Dk?c[Hk>>2]|0:Hk;c[Od+4>>2]=Ek;c[Od+8>>2]=Ik;c[Od+12>>2]=Mk;c[Od+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Od>>2];c[Lk+4>>2]=c[Od+4>>2];c[Lk+8>>2]=c[Od+8>>2];c[Lk+12>>2]=c[Od+12>>2];c[Lk+16>>2]=c[Od+16>>2];Sx(b,Lk,49,330);aa=Nk;return}case 101:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 113:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[vd>>2]=Dk?c[Hk>>2]|0:Hk;c[vd+4>>2]=Ek;c[vd+8>>2]=Ik;c[vd+12>>2]=Mk;c[vd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[vd>>2];c[Lk+4>>2]=c[vd+4>>2];c[Lk+8>>2]=c[vd+8>>2];c[Lk+12>>2]=c[vd+12>>2];c[Lk+16>>2]=c[vd+16>>2];Sx(b,Lk,58,264);aa=Nk;return}case 120:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Rh>>2]=Dk?c[Hk>>2]|0:Hk;c[Rh+4>>2]=Ek;c[Rh+8>>2]=Ik;c[Rh+12>>2]=Mk;c[Rh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Rh>>2];c[Lk+4>>2]=c[Rh+4>>2];c[Lk+8>>2]=c[Rh+8>>2];c[Lk+12>>2]=c[Rh+12>>2];c[Lk+16>>2]=c[Rh+16>>2];Sx(b,Lk,92,229);aa=Nk;return}case 103:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[wd>>2]=Dk?c[Hk>>2]|0:Hk;c[wd+4>>2]=Ek;c[wd+8>>2]=Ik;c[wd+12>>2]=Mk;c[wd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[wd>>2];c[Lk+4>>2]=c[wd+4>>2];c[Lk+8>>2]=c[wd+8>>2];c[Lk+12>>2]=c[wd+12>>2];c[Lk+16>>2]=c[wd+16>>2];Sx(b,Lk,58,269);aa=Nk;return}case 116:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[xd>>2]=Dk?c[Hk>>2]|0:Hk;c[xd+4>>2]=Ek;c[xd+8>>2]=Ik;c[xd+12>>2]=Mk;c[xd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[xd>>2];c[Lk+4>>2]=c[xd+4>>2];c[Lk+8>>2]=c[xd+8>>2];c[Lk+12>>2]=c[xd+12>>2];c[Lk+16>>2]=c[xd+16>>2];Sx(b,Lk,58,267);aa=Nk;return}default:{xk=277;break n}}}case 108:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[yd>>2]=Dk?c[Hk>>2]|0:Hk;c[yd+4>>2]=Ek;c[yd+8>>2]=Ik;c[yd+12>>2]=Mk;c[yd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[yd>>2];c[Lk+4>>2]=c[yd+4>>2];c[Lk+8>>2]=c[yd+8>>2];c[Lk+12>>2]=c[yd+12>>2];c[Lk+16>>2]=c[yd+16>>2];Sx(b,Lk,58,268);aa=Nk;return}case 116:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[zd>>2]=Dk?c[Hk>>2]|0:Hk;c[zd+4>>2]=Ek;c[zd+8>>2]=Ik;c[zd+12>>2]=Mk;c[zd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[zd>>2];c[Lk+4>>2]=c[zd+4>>2];c[Lk+8>>2]=c[zd+8>>2];c[Lk+12>>2]=c[zd+12>>2];c[Lk+16>>2]=c[zd+16>>2];Sx(b,Lk,58,266);aa=Nk;return}default:{xk=277;break n}}}case 109:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<105){if(g<<24>>24!=97){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Pd>>2]=Dk?c[Hk>>2]|0:Hk;c[Pd+4>>2]=Ek;c[Pd+8>>2]=Ik;c[Pd+12>>2]=Mk;c[Pd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Pd>>2];c[Lk+4>>2]=c[Pd+4>>2];c[Lk+8>>2]=c[Pd+8>>2];c[Lk+12>>2]=c[Pd+12>>2];c[Lk+16>>2]=c[Pd+16>>2];Sx(b,Lk,49,332);aa=Nk;return}switch(g<<24>>24){case 105:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Qd>>2]=Dk?c[Hk>>2]|0:Hk;c[Qd+4>>2]=Ek;c[Qd+8>>2]=Ik;c[Qd+12>>2]=Mk;c[Qd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Qd>>2];c[Lk+4>>2]=c[Qd+4>>2];c[Lk+8>>2]=c[Qd+8>>2];c[Lk+12>>2]=c[Qd+12>>2];c[Lk+16>>2]=c[Qd+16>>2];Sx(b,Lk,49,331);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Rd>>2]=Dk?c[Hk>>2]|0:Hk;c[Rd+4>>2]=Ek;c[Rd+8>>2]=Ik;c[Rd+12>>2]=Mk;c[Rd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Rd>>2];c[Lk+4>>2]=c[Rd+4>>2];c[Lk+8>>2]=c[Rd+8>>2];c[Lk+12>>2]=c[Rd+12>>2];c[Lk+16>>2]=c[Rd+16>>2];Sx(b,Lk,49,329);aa=Nk;return}default:{xk=277;break n}}}case 110:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+8|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<103)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=103)if((g&255)<127){xk=272;break n}else break;g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[af>>2]=Dk?c[Hk>>2]|0:Hk;c[af+4>>2]=Ek;c[af+8>>2]=Ik;c[af+12>>2]=Mk;c[af+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[af>>2];c[Lk+4>>2]=c[af+4>>2];c[Lk+8>>2]=c[af+8>>2];c[Lk+12>>2]=c[af+12>>2];c[Lk+16>>2]=c[af+16>>2];Sx(b,Lk,99,325);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ad>>2]=Dk?c[Hk>>2]|0:Hk;c[Ad+4>>2]=Ek;c[Ad+8>>2]=Ik;c[Ad+12>>2]=Mk;c[Ad+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Ad>>2];c[Lk+4>>2]=c[Ad+4>>2];c[Lk+8>>2]=c[Ad+8>>2];c[Lk+12>>2]=c[Ad+12>>2];c[Lk+16>>2]=c[Ad+16>>2];Sx(b,Lk,58,265);aa=Nk;return}case 114:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Sh>>2]=Dk?c[Hk>>2]|0:Hk;c[Sh+4>>2]=Ek;c[Sh+8>>2]=Ik;c[Sh+12>>2]=Mk;c[Sh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Sh>>2];c[Lk+4>>2]=c[Sh+4>>2];c[Lk+8>>2]=c[Sh+8>>2];c[Lk+12>>2]=c[Sh+12>>2];c[Lk+16>>2]=c[Sh+16>>2];Sx(b,Lk,92,230);aa=Nk;return}case 115:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=114){if(g<<24>>24!=117){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Sd>>2]=Dk?c[Hk>>2]|0:Hk;c[Sd+4>>2]=Ek;c[Sd+8>>2]=Ik;c[Sd+12>>2]=Mk;c[Sd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Sd>>2];c[Lk+4>>2]=c[Sd+4>>2];c[Lk+8>>2]=c[Sd+8>>2];c[Lk+12>>2]=c[Sd+12>>2];c[Lk+16>>2]=c[Sd+16>>2];Sx(b,Lk,49,328);aa=Nk;return}if((g&255)<112){xk=277;break n}h=yk+8|0;c[Ak>>2]=h;h=a[h>>0]|0;if(g<<24>>24!=112){if(h<<24>>24!=114){g=h;xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ff>>2]=Dk?c[Hk>>2]|0:Hk;c[ff+4>>2]=Ek;c[ff+8>>2]=Ik;c[ff+12>>2]=Mk;c[ff+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ff>>2];c[Lk+4>>2]=c[ff+4>>2];c[Lk+8>>2]=c[ff+8>>2];c[Lk+12>>2]=c[ff+12>>2];c[Lk+16>>2]=c[ff+16>>2];Sx(b,Lk,99,326);aa=Nk;return}if(h<<24>>24!=108){g=h;xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Mf>>2]=Dk?c[Hk>>2]|0:Hk;c[Mf+4>>2]=Ek;c[Mf+8>>2]=Ik;c[Mf+12>>2]=Mk;c[Mf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Mf>>2];c[Lk+4>>2]=c[Mf+4>>2];c[Lk+8>>2]=c[Mf+8>>2];c[Lk+12>>2]=c[Mf+12>>2];c[Lk+16>>2]=c[Mf+16>>2];Sx(b,Lk,99,228);aa=Nk;return}default:{xk=277;break n}}while(0)}if((g&255)>=47)if((g&255)<59){xk=272;break n}else break;g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;do switch(g<<24>>24){case 97:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 98:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xb>>2]=Dk?c[Hk>>2]|0:Hk;c[Xb+4>>2]=Ek;c[Xb+8>>2]=Ik;c[Xb+12>>2]=Mk;c[Xb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Xb>>2];c[Lk+4>>2]=c[Xb+4>>2];c[Lk+8>>2]=c[Xb+8>>2];c[Lk+12>>2]=c[Xb+12>>2];c[Lk+16>>2]=c[Xb+16>>2];Sx(b,Lk,99,126);aa=Nk;return}case 100:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Yb>>2]=Dk?c[Hk>>2]|0:Hk;c[Yb+4>>2]=Ek;c[Yb+8>>2]=Ik;c[Yb+12>>2]=Mk;c[Yb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Yb>>2];c[Lk+4>>2]=c[Yb+4>>2];c[Lk+8>>2]=c[Yb+8>>2];c[Lk+12>>2]=c[Yb+12>>2];c[Lk+16>>2]=c[Yb+16>>2];Sx(b,Lk,49,133);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[sd>>2]=Dk?c[Hk>>2]|0:Hk;c[sd+4>>2]=Ek;c[sd+8>>2]=Ik;c[sd+12>>2]=Mk;c[sd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[sd>>2];c[Lk+4>>2]=c[sd+4>>2];c[Lk+8>>2]=c[sd+8>>2];c[Lk+12>>2]=c[sd+12>>2];c[Lk+16>>2]=c[sd+16>>2];Sx(b,Lk,99,128);aa=Nk;return}case 111:break;default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 110:break;case 112:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[hg>>2]=Dk?c[Hk>>2]|0:Hk;c[hg+4>>2]=Ek;c[hg+8>>2]=Ik;c[hg+12>>2]=Mk;c[hg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[hg>>2];c[Lk+4>>2]=c[hg+4>>2];c[Lk+8>>2]=c[hg+8>>2];c[Lk+12>>2]=c[hg+12>>2];c[Lk+16>>2]=c[hg+16>>2];Sx(b,Lk,49,139);aa=Nk;return}default:{xk=277;break n}}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Id>>2]=Dk?c[Hk>>2]|0:Hk;c[Id+4>>2]=Ek;c[Id+8>>2]=Ik;c[Id+12>>2]=Mk;c[Id+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Id>>2];c[Lk+4>>2]=c[Id+4>>2];c[Lk+8>>2]=c[Id+8>>2];c[Lk+12>>2]=c[Id+12>>2];c[Lk+16>>2]=c[Id+16>>2];Sx(b,Lk,59,54);aa=Nk;return}case 118:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<115){if(g<<24>>24!=105){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[uh>>2]=Dk?c[Hk>>2]|0:Hk;c[uh+4>>2]=Ek;c[uh+8>>2]=Ik;c[uh+12>>2]=Mk;c[uh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[uh>>2];c[Lk+4>>2]=c[uh+4>>2];c[Lk+8>>2]=c[uh+8>>2];c[Lk+12>>2]=c[uh+12>>2];c[Lk+16>>2]=c[uh+16>>2];Sx(b,Lk,60,165);aa=Nk;return}case 117:{g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[vh>>2]=Dk?c[Hk>>2]|0:Hk;c[vh+4>>2]=Ek;c[vh+8>>2]=Ik;c[vh+12>>2]=Mk;c[vh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[vh>>2];c[Lk+4>>2]=c[vh+4>>2];c[Lk+8>>2]=c[vh+8>>2];c[Lk+12>>2]=c[vh+12>>2];c[Lk+16>>2]=c[vh+16>>2];Sx(b,Lk,60,166);aa=Nk;return}default:{xk=277;break n}}}case 54:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[wh>>2]=Dk?c[Hk>>2]|0:Hk;c[wh+4>>2]=Ek;c[wh+8>>2]=Ik;c[wh+12>>2]=Mk;c[wh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[wh>>2];c[Lk+4>>2]=c[wh+4>>2];c[Lk+8>>2]=c[wh+8>>2];c[Lk+12>>2]=c[wh+12>>2];c[Lk+16>>2]=c[wh+16>>2];Sx(b,Lk,60,167);aa=Nk;return}case 117:{g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[xh>>2]=Dk?c[Hk>>2]|0:Hk;c[xh+4>>2]=Ek;c[xh+8>>2]=Ik;c[xh+12>>2]=Mk;c[xh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[xh>>2];c[Lk+4>>2]=c[xh+4>>2];c[Lk+8>>2]=c[xh+8>>2];c[Lk+12>>2]=c[xh+12>>2];c[Lk+16>>2]=c[xh+16>>2];Sx(b,Lk,60,168);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}switch(g<<24>>24){case 115:{g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[yh>>2]=Dk?c[Hk>>2]|0:Hk;c[yh+4>>2]=Ek;c[yh+8>>2]=Ik;c[yh+12>>2]=Mk;c[yh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[yh>>2];c[Lk+4>>2]=c[yh+4>>2];c[Lk+8>>2]=c[yh+8>>2];c[Lk+12>>2]=c[yh+12>>2];c[Lk+16>>2]=c[yh+16>>2];Sx(b,Lk,60,165);aa=Nk;return}case 54:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[zh>>2]=Dk?c[Hk>>2]|0:Hk;c[zh+4>>2]=Ek;c[zh+8>>2]=Ik;c[zh+12>>2]=Mk;c[zh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[zh>>2];c[Lk+4>>2]=c[zh+4>>2];c[Lk+8>>2]=c[zh+8>>2];c[Lk+12>>2]=c[zh+12>>2];c[Lk+16>>2]=c[zh+16>>2];Sx(b,Lk,60,167);aa=Nk;return}default:{xk=277;break n}}}case 117:{g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ah>>2]=Dk?c[Hk>>2]|0:Hk;c[Ah+4>>2]=Ek;c[Ah+8>>2]=Ik;c[Ah+12>>2]=Mk;c[Ah+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ah>>2];c[Lk+4>>2]=c[Ah+4>>2];c[Lk+8>>2]=c[Ah+8>>2];c[Lk+12>>2]=c[Ah+12>>2];c[Lk+16>>2]=c[Ah+16>>2];Sx(b,Lk,60,166);aa=Nk;return}case 54:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Bh>>2]=Dk?c[Hk>>2]|0:Hk;c[Bh+4>>2]=Ek;c[Bh+8>>2]=Ik;c[Bh+12>>2]=Mk;c[Bh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Bh>>2];c[Lk+4>>2]=c[Bh+4>>2];c[Lk+8>>2]=c[Bh+8>>2];c[Lk+12>>2]=c[Bh+12>>2];c[Lk+16>>2]=c[Bh+16>>2];Sx(b,Lk,60,168);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 100:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:break;case 105:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Zb>>2]=Dk?c[Hk>>2]|0:Hk;c[Zb+4>>2]=Ek;c[Zb+8>>2]=Ik;c[Zb+12>>2]=Mk;c[Zb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Zb>>2];c[Lk+4>>2]=c[Zb+4>>2];c[Lk+8>>2]=c[Zb+8>>2];c[Lk+12>>2]=c[Zb+12>>2];c[Lk+16>>2]=c[Zb+16>>2];Sx(b,Lk,49,136);aa=Nk;return}default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 47:{g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Dg>>2]=Dk?c[Hk>>2]|0:Hk;c[Dg+4>>2]=Ek;c[Dg+8>>2]=Ik;c[Dg+12>>2]=Mk;c[Dg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Dg>>2];c[Lk+4>>2]=c[Dg+4>>2];c[Lk+8>>2]=c[Dg+8>>2];c[Lk+12>>2]=c[Dg+12>>2];c[Lk+16>>2]=c[Dg+16>>2];Sx(b,Lk,60,169);aa=Nk;return}case 95:{g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Eg>>2]=Dk?c[Hk>>2]|0:Hk;c[Eg+4>>2]=Ek;c[Eg+8>>2]=Ik;c[Eg+12>>2]=Mk;c[Eg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Eg>>2];c[Lk+4>>2]=c[Eg+4>>2];c[Lk+8>>2]=c[Eg+8>>2];c[Lk+12>>2]=c[Eg+12>>2];c[Lk+16>>2]=c[Eg+16>>2];Sx(b,Lk,60,169);aa=Nk;return}default:{xk=277;break n}}}case 101:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=113){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[tb>>2]=Dk?c[Hk>>2]|0:Hk;c[tb+4>>2]=Ek;c[tb+8>>2]=Ik;c[tb+12>>2]=Mk;c[tb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[tb>>2];c[Lk+4>>2]=c[tb+4>>2];c[Lk+8>>2]=c[tb+8>>2];c[Lk+12>>2]=c[tb+12>>2];c[Lk+16>>2]=c[tb+16>>2];Sx(b,Lk,58,78);aa=Nk;return}case 102:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Jd>>2]=Dk?c[Hk>>2]|0:Hk;c[Jd+4>>2]=Ek;c[Jd+8>>2]=Ik;c[Jd+12>>2]=Mk;c[Jd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Jd>>2];c[Lk+4>>2]=c[Jd+4>>2];c[Lk+8>>2]=c[Jd+8>>2];c[Lk+12>>2]=c[Jd+12>>2];c[Lk+16>>2]=c[Jd+16>>2];Sx(b,Lk,99,129);aa=Nk;return}case 103:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ub>>2]=Dk?c[Hk>>2]|0:Hk;c[ub+4>>2]=Ek;c[ub+8>>2]=Ik;c[ub+12>>2]=Mk;c[ub+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ub>>2];c[Lk+4>>2]=c[ub+4>>2];c[Lk+8>>2]=c[ub+8>>2];c[Lk+12>>2]=c[ub+12>>2];c[Lk+16>>2]=c[ub+16>>2];Sx(b,Lk,58,83);aa=Nk;return}case 116:{g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[vb>>2]=Dk?c[Hk>>2]|0:Hk;c[vb+4>>2]=Ek;c[vb+8>>2]=Ik;c[vb+12>>2]=Mk;c[vb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[vb>>2];c[Lk+4>>2]=c[vb+4>>2];c[Lk+8>>2]=c[vb+8>>2];c[Lk+12>>2]=c[vb+12>>2];c[Lk+16>>2]=c[vb+16>>2];Sx(b,Lk,58,81);aa=Nk;return}default:{xk=277;break n}}}case 108:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<111){if(g<<24>>24!=101){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[wb>>2]=Dk?c[Hk>>2]|0:Hk;c[wb+4>>2]=Ek;c[wb+8>>2]=Ik;c[wb+12>>2]=Mk;c[wb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[wb>>2];c[Lk+4>>2]=c[wb+4>>2];c[Lk+8>>2]=c[wb+8>>2];c[Lk+12>>2]=c[wb+12>>2];c[Lk+16>>2]=c[wb+16>>2];Sx(b,Lk,58,82);aa=Nk;return}switch(g<<24>>24){case 111:break;case 116:{g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[xb>>2]=Dk?c[Hk>>2]|0:Hk;c[xb+4>>2]=Ek;c[xb+8>>2]=Ik;c[xb+12>>2]=Mk;c[xb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[xb>>2];c[Lk+4>>2]=c[xb+4>>2];c[Lk+8>>2]=c[xb+8>>2];c[Lk+12>>2]=c[xb+12>>2];c[Lk+16>>2]=c[xb+16>>2];Sx(b,Lk,58,80);aa=Nk;return}default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[td>>2]=Dk?c[Hk>>2]|0:Hk;c[td+4>>2]=Ek;c[td+8>>2]=Ik;c[td+12>>2]=Mk;c[td+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[td>>2];c[Lk+4>>2]=c[td+4>>2];c[Lk+8>>2]=c[td+8>>2];c[Lk+12>>2]=c[td+12>>2];c[Lk+16>>2]=c[td+16>>2];Sx(b,Lk,67,29);aa=Nk;return}case 109:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<105){if(g<<24>>24!=97){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[_b>>2]=Dk?c[Hk>>2]|0:Hk;c[_b+4>>2]=Ek;c[_b+8>>2]=Ik;c[_b+12>>2]=Mk;c[_b+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[_b>>2];c[Lk+4>>2]=c[_b+4>>2];c[Lk+8>>2]=c[_b+8>>2];c[Lk+12>>2]=c[_b+12>>2];c[Lk+16>>2]=c[_b+16>>2];Sx(b,Lk,49,138);aa=Nk;return}switch(g<<24>>24){case 105:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[$b>>2]=Dk?c[Hk>>2]|0:Hk;c[$b+4>>2]=Ek;c[$b+8>>2]=Ik;c[$b+12>>2]=Mk;c[$b+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[$b>>2];c[Lk+4>>2]=c[$b+4>>2];c[Lk+8>>2]=c[$b+8>>2];c[Lk+12>>2]=c[$b+12>>2];c[Lk+16>>2]=c[$b+16>>2];Sx(b,Lk,49,137);aa=Nk;return}case 117:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ac>>2]=Dk?c[Hk>>2]|0:Hk;c[ac+4>>2]=Ek;c[ac+8>>2]=Ik;c[ac+12>>2]=Mk;c[ac+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ac>>2];c[Lk+4>>2]=c[ac+4>>2];c[Lk+8>>2]=c[ac+8>>2];c[Lk+12>>2]=c[ac+12>>2];c[Lk+16>>2]=c[ac+16>>2];Sx(b,Lk,49,135);aa=Nk;return}default:{xk=277;break n}}}case 110:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+6|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<59)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=98){if(g<<24>>24!=103)if((g&255)<127){xk=272;break n}else break;g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[nd>>2]=Dk?c[Hk>>2]|0:Hk;c[nd+4>>2]=Ek;c[nd+8>>2]=Ik;c[nd+12>>2]=Mk;c[nd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[nd>>2];c[Lk+4>>2]=c[nd+4>>2];c[Lk+8>>2]=c[nd+8>>2];c[Lk+12>>2]=c[nd+12>>2];c[Lk+16>>2]=c[nd+16>>2];Sx(b,Lk,99,127);aa=Nk;return}if((g&255)>=60){if((g&255)<97){xk=272;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Zf>>2]=Dk?c[Hk>>2]|0:Hk;c[Zf+4>>2]=Ek;c[Zf+8>>2]=Ik;c[Zf+12>>2]=Mk;c[Zf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Zf>>2];c[Lk+4>>2]=c[Zf+4>>2];c[Lk+8>>2]=c[Zf+8>>2];c[Lk+12>>2]=c[Zf+12>>2];c[Lk+16>>2]=c[Zf+16>>2];Sx(b,Lk,99,131);aa=Nk;return}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Tb>>2]=Dk?c[Hk>>2]|0:Hk;c[Tb+4>>2]=Ek;c[Tb+8>>2]=Ik;c[Tb+12>>2]=Mk;c[Tb+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Tb>>2];c[Lk+4>>2]=c[Tb+4>>2];c[Lk+8>>2]=c[Tb+8>>2];c[Lk+12>>2]=c[Tb+12>>2];c[Lk+16>>2]=c[Tb+16>>2];Sx(b,Lk,58,79);aa=Nk;return}case 114:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 47:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[li>>2]=Dk?c[Hk>>2]|0:Hk;c[li+4>>2]=Ek;c[li+8>>2]=Ik;c[li+12>>2]=Mk;c[li+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[li>>2];c[Lk+4>>2]=c[li+4>>2];c[Lk+8>>2]=c[li+8>>2];c[Lk+12>>2]=c[li+12>>2];c[Lk+16>>2]=c[li+16>>2];Sx(b,Lk,60,177);aa=Nk;return}case 95:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[mi>>2]=Dk?c[Hk>>2]|0:Hk;c[mi+4>>2]=Ek;c[mi+8>>2]=Ik;c[mi+12>>2]=Mk;c[mi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[mi>>2];c[Lk+4>>2]=c[mi+4>>2];c[Lk+8>>2]=c[mi+8>>2];c[Lk+12>>2]=c[mi+12>>2];c[Lk+16>>2]=c[mi+16>>2];Sx(b,Lk,60,177);aa=Nk;return}default:{xk=277;break n}}}case 115:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<116){if(g<<24>>24!=113){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ud>>2]=Dk?c[Hk>>2]|0:Hk;c[ud+4>>2]=Ek;c[ud+8>>2]=Ik;c[ud+12>>2]=Mk;c[ud+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ud>>2];c[Lk+4>>2]=c[ud+4>>2];c[Lk+8>>2]=c[ud+8>>2];c[Lk+12>>2]=c[ud+12>>2];c[Lk+16>>2]=c[ud+16>>2];Sx(b,Lk,99,132);aa=Nk;return}if(g<<24>>24!=116){if((g&255)>=118){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[bc>>2]=Dk?c[Hk>>2]|0:Hk;c[bc+4>>2]=Ek;c[bc+8>>2]=Ik;c[bc+12>>2]=Mk;c[bc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[bc>>2];c[Lk+4>>2]=c[bc+4>>2];c[Lk+8>>2]=c[bc+8>>2];c[Lk+12>>2]=c[bc+12>>2];c[Lk+16>>2]=c[bc+16>>2];Sx(b,Lk,49,134);aa=Nk;return}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Kd>>2]=Dk?c[Hk>>2]|0:Hk;c[Kd+4>>2]=Ek;c[Kd+8>>2]=Ik;c[Kd+12>>2]=Mk;c[Kd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Kd>>2];c[Lk+4>>2]=c[Kd+4>>2];c[Lk+8>>2]=c[Kd+8>>2];c[Lk+12>>2]=c[Kd+12>>2];c[Lk+16>>2]=c[Kd+16>>2];Sx(b,Lk,94,43);aa=Nk;return}case 116:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ld>>2]=Dk?c[Hk>>2]|0:Hk;c[Ld+4>>2]=Ek;c[Ld+8>>2]=Ik;c[Ld+12>>2]=Mk;c[Ld+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ld>>2];c[Lk+4>>2]=c[Ld+4>>2];c[Lk+8>>2]=c[Ld+8>>2];c[Lk+12>>2]=c[Ld+12>>2];c[Lk+16>>2]=c[Ld+16>>2];Sx(b,Lk,99,130);aa=Nk;return}default:{xk=277;break n}}while(0)}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[La>>2]=Dk?c[Hk>>2]|0:Hk;c[La+4>>2]=Ek;c[La+8>>2]=Ik;c[La+12>>2]=Mk;c[La+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[La>>2];c[Lk+4>>2]=c[La+4>>2];c[Lk+8>>2]=c[La+8>>2];c[Lk+12>>2]=c[La+12>>2];c[Lk+16>>2]=c[La+16>>2];Qx(b,Lk,106,-3);aa=Nk;return}switch(g<<24>>24){case 54:break;case 117:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}h=yk+4|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<114)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=114)if((g&255)<127){xk=272;break n}else break;g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[jc>>2]=Dk?c[Hk>>2]|0:Hk;c[jc+4>>2]=Ek;c[jc+8>>2]=Ik;c[jc+12>>2]=Mk;c[jc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[jc>>2];c[Lk+4>>2]=c[jc+4>>2];c[Lk+8>>2]=c[jc+8>>2];c[Lk+12>>2]=c[jc+12>>2];c[Lk+16>>2]=c[jc+16>>2];Px(b,Lk,18);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Za>>2]=Dk?c[Hk>>2]|0:Hk;c[Za+4>>2]=Ek;c[Za+8>>2]=Ik;c[Za+12>>2]=Mk;c[Za+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Za>>2];c[Lk+4>>2]=c[Za+4>>2];c[Lk+8>>2]=c[Za+8>>2];c[Lk+12>>2]=c[Za+12>>2];c[Lk+16>>2]=c[Za+16>>2];Px(b,Lk,17);aa=Nk;return}default:{xk=277;break n}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break}h=yk+3|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<46)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=60){if(g<<24>>24!=120)if((g&255)<127){xk=272;break n}else break;g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;do switch(g<<24>>24){case 97:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 98:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xd>>2]=Dk?c[Hk>>2]|0:Hk;c[Xd+4>>2]=Ek;c[Xd+8>>2]=Ik;c[Xd+12>>2]=Mk;c[Xd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Xd>>2];c[Lk+4>>2]=c[Xd+4>>2];c[Lk+8>>2]=c[Xd+8>>2];c[Lk+12>>2]=c[Xd+12>>2];c[Lk+16>>2]=c[Xd+16>>2];Sx(b,Lk,99,333);aa=Nk;return}case 100:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Yd>>2]=Dk?c[Hk>>2]|0:Hk;c[Yd+4>>2]=Ek;c[Yd+8>>2]=Ik;c[Yd+12>>2]=Mk;c[Yd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Yd>>2];c[Lk+4>>2]=c[Yd+4>>2];c[Lk+8>>2]=c[Yd+8>>2];c[Lk+12>>2]=c[Yd+12>>2];c[Lk+16>>2]=c[Yd+16>>2];Sx(b,Lk,49,336);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[hj>>2]=Dk?c[Hk>>2]|0:Hk;c[hj+4>>2]=Ek;c[hj+8>>2]=Ik;c[hj+12>>2]=Mk;c[hj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[hj>>2];c[Lk+4>>2]=c[hj+4>>2];c[Lk+8>>2]=c[hj+8>>2];c[Lk+12>>2]=c[hj+12>>2];c[Lk+16>>2]=c[hj+16>>2];Sx(b,Lk,99,348);aa=Nk;return}case 117:{g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ij>>2]=Dk?c[Hk>>2]|0:Hk;c[ij+4>>2]=Ek;c[ij+8>>2]=Ik;c[ij+12>>2]=Mk;c[ij+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ij>>2];c[Lk+4>>2]=c[ij+4>>2];c[Lk+8>>2]=c[ij+8>>2];c[Lk+12>>2]=c[ij+12>>2];c[Lk+16>>2]=c[ij+16>>2];Sx(b,Lk,99,349);aa=Nk;return}default:{xk=277;break n}}}case 100:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Zd>>2]=Dk?c[Hk>>2]|0:Hk;c[Zd+4>>2]=Ek;c[Zd+8>>2]=Ik;c[Zd+12>>2]=Mk;c[Zd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Zd>>2];c[Lk+4>>2]=c[Zd+4>>2];c[Lk+8>>2]=c[Zd+8>>2];c[Lk+12>>2]=c[Zd+12>>2];c[Lk+16>>2]=c[Zd+16>>2];Sx(b,Lk,49,339);aa=Nk;return}case 101:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 113:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ec>>2]=Dk?c[Hk>>2]|0:Hk;c[Ec+4>>2]=Ek;c[Ec+8>>2]=Ik;c[Ec+12>>2]=Mk;c[Ec+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ec>>2];c[Lk+4>>2]=c[Ec+4>>2];c[Lk+8>>2]=c[Ec+8>>2];c[Lk+12>>2]=c[Ec+12>>2];c[Lk+16>>2]=c[Ec+16>>2];Sx(b,Lk,58,270);aa=Nk;return}case 120:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Th>>2]=Dk?c[Hk>>2]|0:Hk;c[Th+4>>2]=Ek;c[Th+8>>2]=Ik;c[Th+12>>2]=Mk;c[Th+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Th>>2];c[Lk+4>>2]=c[Th+4>>2];c[Lk+8>>2]=c[Th+8>>2];c[Lk+12>>2]=c[Th+12>>2];c[Lk+16>>2]=c[Th+16>>2];Sx(b,Lk,92,232);aa=Nk;return}case 103:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Fc>>2]=Dk?c[Hk>>2]|0:Hk;c[Fc+4>>2]=Ek;c[Fc+8>>2]=Ik;c[Fc+12>>2]=Mk;c[Fc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Fc>>2];c[Lk+4>>2]=c[Fc+4>>2];c[Lk+8>>2]=c[Fc+8>>2];c[Lk+12>>2]=c[Fc+12>>2];c[Lk+16>>2]=c[Fc+16>>2];Sx(b,Lk,58,275);aa=Nk;return}case 116:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Gc>>2]=Dk?c[Hk>>2]|0:Hk;c[Gc+4>>2]=Ek;c[Gc+8>>2]=Ik;c[Gc+12>>2]=Mk;c[Gc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Gc>>2];c[Lk+4>>2]=c[Gc+4>>2];c[Lk+8>>2]=c[Gc+8>>2];c[Lk+12>>2]=c[Gc+12>>2];c[Lk+16>>2]=c[Gc+16>>2];Sx(b,Lk,58,273);aa=Nk;return}default:{xk=277;break n}}}case 108:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Hc>>2]=Dk?c[Hk>>2]|0:Hk;c[Hc+4>>2]=Ek;c[Hc+8>>2]=Ik;c[Hc+12>>2]=Mk;c[Hc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Hc>>2];c[Lk+4>>2]=c[Hc+4>>2];c[Lk+8>>2]=c[Hc+8>>2];c[Lk+12>>2]=c[Hc+12>>2];c[Lk+16>>2]=c[Hc+16>>2];Sx(b,Lk,58,274);aa=Nk;return}case 116:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ic>>2]=Dk?c[Hk>>2]|0:Hk;c[Ic+4>>2]=Ek;c[Ic+8>>2]=Ik;c[Ic+12>>2]=Mk;c[Ic+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ic>>2];c[Lk+4>>2]=c[Ic+4>>2];c[Lk+8>>2]=c[Ic+8>>2];c[Lk+12>>2]=c[Ic+12>>2];c[Lk+16>>2]=c[Ic+16>>2];Sx(b,Lk,58,272);aa=Nk;return}default:{xk=277;break n}}}case 109:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<105){if(g<<24>>24!=97){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[_d>>2]=Dk?c[Hk>>2]|0:Hk;c[_d+4>>2]=Ek;c[_d+8>>2]=Ik;c[_d+12>>2]=Mk;c[_d+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[_d>>2];c[Lk+4>>2]=c[_d+4>>2];c[Lk+8>>2]=c[_d+8>>2];c[Lk+12>>2]=c[_d+12>>2];c[Lk+16>>2]=c[_d+16>>2];Sx(b,Lk,49,341);aa=Nk;return}switch(g<<24>>24){case 105:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[$d>>2]=Dk?c[Hk>>2]|0:Hk;c[$d+4>>2]=Ek;c[$d+8>>2]=Ik;c[$d+12>>2]=Mk;c[$d+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[$d>>2];c[Lk+4>>2]=c[$d+4>>2];c[Lk+8>>2]=c[$d+8>>2];c[Lk+12>>2]=c[$d+12>>2];c[Lk+16>>2]=c[$d+16>>2];Sx(b,Lk,49,340);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ae>>2]=Dk?c[Hk>>2]|0:Hk;c[ae+4>>2]=Ek;c[ae+8>>2]=Ik;c[ae+12>>2]=Mk;c[ae+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ae>>2];c[Lk+4>>2]=c[ae+4>>2];c[Lk+8>>2]=c[ae+8>>2];c[Lk+12>>2]=c[ae+12>>2];c[Lk+16>>2]=c[ae+16>>2];Sx(b,Lk,49,338);aa=Nk;return}default:{xk=277;break n}}}case 110:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+8|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<103)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=103)if((g&255)<127){xk=272;break n}else break;g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[bf>>2]=Dk?c[Hk>>2]|0:Hk;c[bf+4>>2]=Ek;c[bf+8>>2]=Ik;c[bf+12>>2]=Mk;c[bf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[bf>>2];c[Lk+4>>2]=c[bf+4>>2];c[Lk+8>>2]=c[bf+8>>2];c[Lk+12>>2]=c[bf+12>>2];c[Lk+16>>2]=c[bf+16>>2];Sx(b,Lk,99,334);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Bd>>2]=Dk?c[Hk>>2]|0:Hk;c[Bd+4>>2]=Ek;c[Bd+8>>2]=Ik;c[Bd+12>>2]=Mk;c[Bd+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Bd>>2];c[Lk+4>>2]=c[Bd+4>>2];c[Lk+8>>2]=c[Bd+8>>2];c[Lk+12>>2]=c[Bd+12>>2];c[Lk+16>>2]=c[Bd+16>>2];Sx(b,Lk,58,271);aa=Nk;return}case 114:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Uh>>2]=Dk?c[Hk>>2]|0:Hk;c[Uh+4>>2]=Ek;c[Uh+8>>2]=Ik;c[Uh+12>>2]=Mk;c[Uh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Uh>>2];c[Lk+4>>2]=c[Uh+4>>2];c[Lk+8>>2]=c[Uh+8>>2];c[Lk+12>>2]=c[Uh+12>>2];c[Lk+16>>2]=c[Uh+16>>2];Sx(b,Lk,92,233);aa=Nk;return}case 115:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=114){if(g<<24>>24!=117){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[be>>2]=Dk?c[Hk>>2]|0:Hk;c[be+4>>2]=Ek;c[be+8>>2]=Ik;c[be+12>>2]=Mk;c[be+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[be>>2];c[Lk+4>>2]=c[be+4>>2];c[Lk+8>>2]=c[be+8>>2];c[Lk+12>>2]=c[be+12>>2];c[Lk+16>>2]=c[be+16>>2];Sx(b,Lk,49,337);aa=Nk;return}if((g&255)<112){xk=277;break n}h=yk+8|0;c[Ak>>2]=h;h=a[h>>0]|0;if(g<<24>>24!=112){if(h<<24>>24!=114){g=h;xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[gf>>2]=Dk?c[Hk>>2]|0:Hk;c[gf+4>>2]=Ek;c[gf+8>>2]=Ik;c[gf+12>>2]=Mk;c[gf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[gf>>2];c[Lk+4>>2]=c[gf+4>>2];c[Lk+8>>2]=c[gf+8>>2];c[Lk+12>>2]=c[gf+12>>2];c[Lk+16>>2]=c[gf+16>>2];Sx(b,Lk,99,335);aa=Nk;return}if(h<<24>>24!=108){g=h;xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Nf>>2]=Dk?c[Hk>>2]|0:Hk;c[Nf+4>>2]=Ek;c[Nf+8>>2]=Ik;c[Nf+12>>2]=Mk;c[Nf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Nf>>2];c[Lk+4>>2]=c[Nf+4>>2];c[Lk+8>>2]=c[Nf+8>>2];c[Lk+12>>2]=c[Nf+12>>2];c[Lk+16>>2]=c[Nf+16>>2];Sx(b,Lk,99,231);aa=Nk;return}default:{xk=277;break n}}while(0)}if((g&255)>=47)if((g&255)<59){xk=272;break n}else break;g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;do switch(g<<24>>24){case 97:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 98:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[cc>>2]=Dk?c[Hk>>2]|0:Hk;c[cc+4>>2]=Ek;c[cc+8>>2]=Ik;c[cc+12>>2]=Mk;c[cc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[cc>>2];c[Lk+4>>2]=c[cc+4>>2];c[Lk+8>>2]=c[cc+8>>2];c[Lk+12>>2]=c[cc+12>>2];c[Lk+16>>2]=c[cc+16>>2];Sx(b,Lk,99,140);aa=Nk;return}case 100:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[dc>>2]=Dk?c[Hk>>2]|0:Hk;c[dc+4>>2]=Ek;c[dc+8>>2]=Ik;c[dc+12>>2]=Mk;c[dc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[dc>>2];c[Lk+4>>2]=c[dc+4>>2];c[Lk+8>>2]=c[dc+8>>2];c[Lk+12>>2]=c[dc+12>>2];c[Lk+16>>2]=c[dc+16>>2];Sx(b,Lk,49,147);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Bc>>2]=Dk?c[Hk>>2]|0:Hk;c[Bc+4>>2]=Ek;c[Bc+8>>2]=Ik;c[Bc+12>>2]=Mk;c[Bc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Bc>>2];c[Lk+4>>2]=c[Bc+4>>2];c[Lk+8>>2]=c[Bc+8>>2];c[Lk+12>>2]=c[Bc+12>>2];c[Lk+16>>2]=c[Bc+16>>2];Sx(b,Lk,99,142);aa=Nk;return}case 111:break;default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 110:break;case 112:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ig>>2]=Dk?c[Hk>>2]|0:Hk;c[ig+4>>2]=Ek;c[ig+8>>2]=Ik;c[ig+12>>2]=Mk;c[ig+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ig>>2];c[Lk+4>>2]=c[ig+4>>2];c[Lk+8>>2]=c[ig+8>>2];c[Lk+12>>2]=c[ig+12>>2];c[Lk+16>>2]=c[ig+16>>2];Sx(b,Lk,49,153);aa=Nk;return}default:{xk=277;break n}}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Td>>2]=Dk?c[Hk>>2]|0:Hk;c[Td+4>>2]=Ek;c[Td+8>>2]=Ik;c[Td+12>>2]=Mk;c[Td+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Td>>2];c[Lk+4>>2]=c[Td+4>>2];c[Lk+8>>2]=c[Td+8>>2];c[Lk+12>>2]=c[Td+12>>2];c[Lk+16>>2]=c[Td+16>>2];Sx(b,Lk,59,55);aa=Nk;return}case 118:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<115){if(g<<24>>24!=105){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ch>>2]=Dk?c[Hk>>2]|0:Hk;c[Ch+4>>2]=Ek;c[Ch+8>>2]=Ik;c[Ch+12>>2]=Mk;c[Ch+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ch>>2];c[Lk+4>>2]=c[Ch+4>>2];c[Lk+8>>2]=c[Ch+8>>2];c[Lk+12>>2]=c[Ch+12>>2];c[Lk+16>>2]=c[Ch+16>>2];Sx(b,Lk,60,170);aa=Nk;return}case 117:{g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Dh>>2]=Dk?c[Hk>>2]|0:Hk;c[Dh+4>>2]=Ek;c[Dh+8>>2]=Ik;c[Dh+12>>2]=Mk;c[Dh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Dh>>2];c[Lk+4>>2]=c[Dh+4>>2];c[Lk+8>>2]=c[Dh+8>>2];c[Lk+12>>2]=c[Dh+12>>2];c[Lk+16>>2]=c[Dh+16>>2];Sx(b,Lk,60,171);aa=Nk;return}default:{xk=277;break n}}}case 54:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Eh>>2]=Dk?c[Hk>>2]|0:Hk;c[Eh+4>>2]=Ek;c[Eh+8>>2]=Ik;c[Eh+12>>2]=Mk;c[Eh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Eh>>2];c[Lk+4>>2]=c[Eh+4>>2];c[Lk+8>>2]=c[Eh+8>>2];c[Lk+12>>2]=c[Eh+12>>2];c[Lk+16>>2]=c[Eh+16>>2];Sx(b,Lk,60,172);aa=Nk;return}case 117:{g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Fh>>2]=Dk?c[Hk>>2]|0:Hk;c[Fh+4>>2]=Ek;c[Fh+8>>2]=Ik;c[Fh+12>>2]=Mk;c[Fh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Fh>>2];c[Lk+4>>2]=c[Fh+4>>2];c[Lk+8>>2]=c[Fh+8>>2];c[Lk+12>>2]=c[Fh+12>>2];c[Lk+16>>2]=c[Fh+16>>2];Sx(b,Lk,60,173);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}switch(g<<24>>24){case 115:{g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Gh>>2]=Dk?c[Hk>>2]|0:Hk;c[Gh+4>>2]=Ek;c[Gh+8>>2]=Ik;c[Gh+12>>2]=Mk;c[Gh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Gh>>2];c[Lk+4>>2]=c[Gh+4>>2];c[Lk+8>>2]=c[Gh+8>>2];c[Lk+12>>2]=c[Gh+12>>2];c[Lk+16>>2]=c[Gh+16>>2];Sx(b,Lk,60,170);aa=Nk;return}case 54:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Hh>>2]=Dk?c[Hk>>2]|0:Hk;c[Hh+4>>2]=Ek;c[Hh+8>>2]=Ik;c[Hh+12>>2]=Mk;c[Hh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Hh>>2];c[Lk+4>>2]=c[Hh+4>>2];c[Lk+8>>2]=c[Hh+8>>2];c[Lk+12>>2]=c[Hh+12>>2];c[Lk+16>>2]=c[Hh+16>>2];Sx(b,Lk,60,172);aa=Nk;return}default:{xk=277;break n}}}case 117:{g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ih>>2]=Dk?c[Hk>>2]|0:Hk;c[Ih+4>>2]=Ek;c[Ih+8>>2]=Ik;c[Ih+12>>2]=Mk;c[Ih+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ih>>2];c[Lk+4>>2]=c[Ih+4>>2];c[Lk+8>>2]=c[Ih+8>>2];c[Lk+12>>2]=c[Ih+12>>2];c[Lk+16>>2]=c[Ih+16>>2];Sx(b,Lk,60,171);aa=Nk;return}case 54:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Jh>>2]=Dk?c[Hk>>2]|0:Hk;c[Jh+4>>2]=Ek;c[Jh+8>>2]=Ik;c[Jh+12>>2]=Mk;c[Jh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Jh>>2];c[Lk+4>>2]=c[Jh+4>>2];c[Lk+8>>2]=c[Jh+8>>2];c[Lk+12>>2]=c[Jh+12>>2];c[Lk+16>>2]=c[Jh+16>>2];Sx(b,Lk,60,173);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 100:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ec>>2]=Dk?c[Hk>>2]|0:Hk;c[ec+4>>2]=Ek;c[ec+8>>2]=Ik;c[ec+12>>2]=Mk;c[ec+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ec>>2];c[Lk+4>>2]=c[ec+4>>2];c[Lk+8>>2]=c[ec+8>>2];c[Lk+12>>2]=c[ec+12>>2];c[Lk+16>>2]=c[ec+16>>2];Sx(b,Lk,49,150);aa=Nk;return}case 101:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=113){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[yb>>2]=Dk?c[Hk>>2]|0:Hk;c[yb+4>>2]=Ek;c[yb+8>>2]=Ik;c[yb+12>>2]=Mk;c[yb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[yb>>2];c[Lk+4>>2]=c[yb+4>>2];c[Lk+8>>2]=c[yb+8>>2];c[Lk+12>>2]=c[yb+12>>2];c[Lk+16>>2]=c[yb+16>>2];Sx(b,Lk,58,84);aa=Nk;return}case 102:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ud>>2]=Dk?c[Hk>>2]|0:Hk;c[Ud+4>>2]=Ek;c[Ud+8>>2]=Ik;c[Ud+12>>2]=Mk;c[Ud+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ud>>2];c[Lk+4>>2]=c[Ud+4>>2];c[Lk+8>>2]=c[Ud+8>>2];c[Lk+12>>2]=c[Ud+12>>2];c[Lk+16>>2]=c[Ud+16>>2];Sx(b,Lk,99,143);aa=Nk;return}case 103:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[zb>>2]=Dk?c[Hk>>2]|0:Hk;c[zb+4>>2]=Ek;c[zb+8>>2]=Ik;c[zb+12>>2]=Mk;c[zb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[zb>>2];c[Lk+4>>2]=c[zb+4>>2];c[Lk+8>>2]=c[zb+8>>2];c[Lk+12>>2]=c[zb+12>>2];c[Lk+16>>2]=c[zb+16>>2];Sx(b,Lk,58,89);aa=Nk;return}case 116:{g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ab>>2]=Dk?c[Hk>>2]|0:Hk;c[Ab+4>>2]=Ek;c[Ab+8>>2]=Ik;c[Ab+12>>2]=Mk;c[Ab+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ab>>2];c[Lk+4>>2]=c[Ab+4>>2];c[Lk+8>>2]=c[Ab+8>>2];c[Lk+12>>2]=c[Ab+12>>2];c[Lk+16>>2]=c[Ab+16>>2];Sx(b,Lk,58,87);aa=Nk;return}default:{xk=277;break n}}}case 108:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<111){if(g<<24>>24!=101){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Bb>>2]=Dk?c[Hk>>2]|0:Hk;c[Bb+4>>2]=Ek;c[Bb+8>>2]=Ik;c[Bb+12>>2]=Mk;c[Bb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Bb>>2];c[Lk+4>>2]=c[Bb+4>>2];c[Lk+8>>2]=c[Bb+8>>2];c[Lk+12>>2]=c[Bb+12>>2];c[Lk+16>>2]=c[Bb+16>>2];Sx(b,Lk,58,88);aa=Nk;return}switch(g<<24>>24){case 111:break;case 116:{g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Cb>>2]=Dk?c[Hk>>2]|0:Hk;c[Cb+4>>2]=Ek;c[Cb+8>>2]=Ik;c[Cb+12>>2]=Mk;c[Cb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Cb>>2];c[Lk+4>>2]=c[Cb+4>>2];c[Lk+8>>2]=c[Cb+8>>2];c[Lk+12>>2]=c[Cb+12>>2];c[Lk+16>>2]=c[Cb+16>>2];Sx(b,Lk,58,86);aa=Nk;return}default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Cc>>2]=Dk?c[Hk>>2]|0:Hk;c[Cc+4>>2]=Ek;c[Cc+8>>2]=Ik;c[Cc+12>>2]=Mk;c[Cc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Cc>>2];c[Lk+4>>2]=c[Cc+4>>2];c[Lk+8>>2]=c[Cc+8>>2];c[Lk+12>>2]=c[Cc+12>>2];c[Lk+16>>2]=c[Cc+16>>2];Sx(b,Lk,67,30);aa=Nk;return}case 109:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<105){if(g<<24>>24!=97){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[fc>>2]=Dk?c[Hk>>2]|0:Hk;c[fc+4>>2]=Ek;c[fc+8>>2]=Ik;c[fc+12>>2]=Mk;c[fc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[fc>>2];c[Lk+4>>2]=c[fc+4>>2];c[Lk+8>>2]=c[fc+8>>2];c[Lk+12>>2]=c[fc+12>>2];c[Lk+16>>2]=c[fc+16>>2];Sx(b,Lk,49,152);aa=Nk;return}switch(g<<24>>24){case 105:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[gc>>2]=Dk?c[Hk>>2]|0:Hk;c[gc+4>>2]=Ek;c[gc+8>>2]=Ik;c[gc+12>>2]=Mk;c[gc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[gc>>2];c[Lk+4>>2]=c[gc+4>>2];c[Lk+8>>2]=c[gc+8>>2];c[Lk+12>>2]=c[gc+12>>2];c[Lk+16>>2]=c[gc+16>>2];Sx(b,Lk,49,151);aa=Nk;return}case 117:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[hc>>2]=Dk?c[Hk>>2]|0:Hk;c[hc+4>>2]=Ek;c[hc+8>>2]=Ik;c[hc+12>>2]=Mk;c[hc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[hc>>2];c[Lk+4>>2]=c[hc+4>>2];c[Lk+8>>2]=c[hc+8>>2];c[Lk+12>>2]=c[hc+12>>2];c[Lk+16>>2]=c[hc+16>>2];Sx(b,Lk,49,149);aa=Nk;return}default:{xk=277;break n}}}case 110:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+6|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<59)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=98){if(g<<24>>24!=103)if((g&255)<127){xk=272;break n}else break;g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[od>>2]=Dk?c[Hk>>2]|0:Hk;c[od+4>>2]=Ek;c[od+8>>2]=Ik;c[od+12>>2]=Mk;c[od+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[od>>2];c[Lk+4>>2]=c[od+4>>2];c[Lk+8>>2]=c[od+8>>2];c[Lk+12>>2]=c[od+12>>2];c[Lk+16>>2]=c[od+16>>2];Sx(b,Lk,99,141);aa=Nk;return}if((g&255)>=60){if((g&255)<97){xk=272;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[_f>>2]=Dk?c[Hk>>2]|0:Hk;c[_f+4>>2]=Ek;c[_f+8>>2]=Ik;c[_f+12>>2]=Mk;c[_f+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[_f>>2];c[Lk+4>>2]=c[_f+4>>2];c[Lk+8>>2]=c[_f+8>>2];c[Lk+12>>2]=c[_f+12>>2];c[Lk+16>>2]=c[_f+16>>2];Sx(b,Lk,99,145);aa=Nk;return}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ub>>2]=Dk?c[Hk>>2]|0:Hk;c[Ub+4>>2]=Ek;c[Ub+8>>2]=Ik;c[Ub+12>>2]=Mk;c[Ub+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Ub>>2];c[Lk+4>>2]=c[Ub+4>>2];c[Lk+8>>2]=c[Ub+8>>2];c[Lk+12>>2]=c[Ub+12>>2];c[Lk+16>>2]=c[Ub+16>>2];Sx(b,Lk,58,85);aa=Nk;return}case 112:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 47:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Og>>2]=Dk?c[Hk>>2]|0:Hk;c[Og+4>>2]=Ek;c[Og+8>>2]=Ik;c[Og+12>>2]=Mk;c[Og+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Og>>2];c[Lk+4>>2]=c[Og+4>>2];c[Lk+8>>2]=c[Og+8>>2];c[Lk+12>>2]=c[Og+12>>2];c[Lk+16>>2]=c[Og+16>>2];Sx(b,Lk,60,174);aa=Nk;return}case 95:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Pg>>2]=Dk?c[Hk>>2]|0:Hk;c[Pg+4>>2]=Ek;c[Pg+8>>2]=Ik;c[Pg+12>>2]=Mk;c[Pg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Pg>>2];c[Lk+4>>2]=c[Pg+4>>2];c[Lk+8>>2]=c[Pg+8>>2];c[Lk+12>>2]=c[Pg+12>>2];c[Lk+16>>2]=c[Pg+16>>2];Sx(b,Lk,60,174);aa=Nk;return}default:{xk=277;break n}}}case 114:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 47:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ni>>2]=Dk?c[Hk>>2]|0:Hk;c[ni+4>>2]=Ek;c[ni+8>>2]=Ik;c[ni+12>>2]=Mk;c[ni+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ni>>2];c[Lk+4>>2]=c[ni+4>>2];c[Lk+8>>2]=c[ni+8>>2];c[Lk+12>>2]=c[ni+12>>2];c[Lk+16>>2]=c[ni+16>>2];Sx(b,Lk,60,178);aa=Nk;return}case 95:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[oi>>2]=Dk?c[Hk>>2]|0:Hk;c[oi+4>>2]=Ek;c[oi+8>>2]=Ik;c[oi+12>>2]=Mk;c[oi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[oi>>2];c[Lk+4>>2]=c[oi+4>>2];c[Lk+8>>2]=c[oi+8>>2];c[Lk+12>>2]=c[oi+12>>2];c[Lk+16>>2]=c[oi+16>>2];Sx(b,Lk,60,178);aa=Nk;return}default:{xk=277;break n}}}case 115:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<116){if(g<<24>>24!=113){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Dc>>2]=Dk?c[Hk>>2]|0:Hk;c[Dc+4>>2]=Ek;c[Dc+8>>2]=Ik;c[Dc+12>>2]=Mk;c[Dc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Dc>>2];c[Lk+4>>2]=c[Dc+4>>2];c[Lk+8>>2]=c[Dc+8>>2];c[Lk+12>>2]=c[Dc+12>>2];c[Lk+16>>2]=c[Dc+16>>2];Sx(b,Lk,99,146);aa=Nk;return}if(g<<24>>24!=116){if((g&255)>=118){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ic>>2]=Dk?c[Hk>>2]|0:Hk;c[ic+4>>2]=Ek;c[ic+8>>2]=Ik;c[ic+12>>2]=Mk;c[ic+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ic>>2];c[Lk+4>>2]=c[ic+4>>2];c[Lk+8>>2]=c[ic+8>>2];c[Lk+12>>2]=c[ic+12>>2];c[Lk+16>>2]=c[ic+16>>2];Sx(b,Lk,49,148);aa=Nk;return}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Vd>>2]=Dk?c[Hk>>2]|0:Hk;c[Vd+4>>2]=Ek;c[Vd+8>>2]=Ik;c[Vd+12>>2]=Mk;c[Vd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Vd>>2];c[Lk+4>>2]=c[Vd+4>>2];c[Lk+8>>2]=c[Vd+8>>2];c[Lk+12>>2]=c[Vd+12>>2];c[Lk+16>>2]=c[Vd+16>>2];Sx(b,Lk,94,44);aa=Nk;return}case 116:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Wd>>2]=Dk?c[Hk>>2]|0:Hk;c[Wd+4>>2]=Ek;c[Wd+8>>2]=Ik;c[Wd+12>>2]=Mk;c[Wd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Wd>>2];c[Lk+4>>2]=c[Wd+4>>2];c[Lk+8>>2]=c[Wd+8>>2];c[Lk+12>>2]=c[Wd+12>>2];c[Lk+16>>2]=c[Wd+16>>2];Sx(b,Lk,99,144);aa=Nk;return}default:{xk=277;break n}}while(0)}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ma>>2]=Dk?c[Hk>>2]|0:Hk;c[Ma+4>>2]=Ek;c[Ma+8>>2]=Ik;c[Ma+12>>2]=Mk;c[Ma+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Ma>>2];c[Lk+4>>2]=c[Ma+4>>2];c[Lk+8>>2]=c[Ma+8>>2];c[Lk+12>>2]=c[Ma+12>>2];c[Lk+16>>2]=c[Ma+16>>2];Qx(b,Lk,106,-4);aa=Nk;return}if(j<<24>>24!=105){if((j&255)<108){xk=272;break}g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 99:break;case 111:{g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ta>>2]=Dk?c[Hk>>2]|0:Hk;c[Ta+4>>2]=Ek;c[Ta+8>>2]=Ik;c[Ta+12>>2]=Mk;c[Ta+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ta>>2];c[Lk+4>>2]=c[Ta+4>>2];c[Lk+8>>2]=c[Ta+8>>2];c[Lk+12>>2]=c[Ta+12>>2];c[Lk+16>>2]=c[Ta+16>>2];Sx(b,Lk,68,3);aa=Nk;return}default:{xk=277;break n}}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}h=yk+5|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)>=59)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24!=46){xk=272;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<115){if(g<<24>>24!=103){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Fe>>2]=Dk?c[Hk>>2]|0:Hk;c[Fe+4>>2]=Ek;c[Fe+8>>2]=Ik;c[Fe+12>>2]=Mk;c[Fe+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Fe>>2];c[Lk+4>>2]=c[Fe+4>>2];c[Lk+8>>2]=c[Fe+8>>2];c[Lk+12>>2]=c[Fe+12>>2];c[Lk+16>>2]=c[Fe+16>>2];Sx(b,Lk,65,22);aa=Nk;return}if(g<<24>>24==115){g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ge>>2]=Dk?c[Hk>>2]|0:Hk;c[Ge+4>>2]=Ek;c[Ge+8>>2]=Ik;c[Ge+12>>2]=Mk;c[Ge+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ge>>2];c[Lk+4>>2]=c[Ge+4>>2];c[Lk+8>>2]=c[Ge+8>>2];c[Lk+12>>2]=c[Ge+12>>2];c[Lk+16>>2]=c[Ge+16>>2];Sx(b,Lk,91,23);aa=Nk;return}if((g&255)>=117){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[He>>2]=Dk?c[Hk>>2]|0:Hk;c[He+4>>2]=Ek;c[He+8>>2]=Ik;c[He+12>>2]=Mk;c[He+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[He>>2];c[Lk+4>>2]=c[He+4>>2];c[Lk+8>>2]=c[He+8>>2];c[Lk+12>>2]=c[He+12>>2];c[Lk+16>>2]=c[He+16>>2];Sx(b,Lk,95,24);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[hb>>2]=Dk?c[Hk>>2]|0:Hk;c[hb+4>>2]=Ek;c[hb+8>>2]=Ik;c[hb+12>>2]=Mk;c[hb+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[hb>>2];c[Lk+4>>2]=c[hb+4>>2];c[Lk+8>>2]=c[hb+8>>2];c[Lk+12>>2]=c[hb+12>>2];c[Lk+16>>2]=c[hb+16>>2];Px(b,Lk,23);aa=Nk;return}g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=56){if((g&255)>=103){if((g&255)<109){xk=277;break}if(g<<24>>24==109){g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[mb>>2]=Dk?c[Hk>>2]|0:Hk;c[mb+4>>2]=Ek;c[mb+8>>2]=Ik;c[mb+12>>2]=Mk;c[mb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[mb>>2];c[Lk+4>>2]=c[mb+4>>2];c[Lk+8>>2]=c[mb+8>>2];c[Lk+12>>2]=c[mb+12>>2];c[Lk+16>>2]=c[mb+16>>2];Px(b,Lk,21);aa=Nk;return}if((g&255)>=111){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 102:{g=2;xk=846;break n}case 118:break;default:{xk=277;break n}}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=107){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[nb>>2]=Dk?c[Hk>>2]|0:Hk;c[nb+4>>2]=Ek;c[nb+8>>2]=Ik;c[nb+12>>2]=Mk;c[nb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[nb>>2];c[Lk+4>>2]=c[nb+4>>2];c[Lk+8>>2]=c[nb+8>>2];c[Lk+12>>2]=c[nb+12>>2];c[Lk+16>>2]=c[nb+16>>2];Px(b,Lk,22);aa=Nk;return}if((g&255)>=57){if((g&255)<102){xk=277;break}g=yk+2|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ga>>2]=Dk?c[Hk>>2]|0:Hk;c[Ga+4>>2]=Ek;c[Ga+8>>2]=Ik;c[Ga+12>>2]=Mk;c[Ga+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ga>>2];c[Lk+4>>2]=c[Ga+4>>2];c[Lk+8>>2]=c[Ga+8>>2];c[Lk+12>>2]=c[Ga+12>>2];c[Lk+16>>2]=c[Ga+16>>2];Sx(b,Lk,66,4);aa=Nk;return}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=49){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=108)switch(g<<24>>24){case 108:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[yg>>2]=Dk?c[Hk>>2]|0:Hk;c[yg+4>>2]=Ek;c[yg+8>>2]=Ik;c[yg+12>>2]=Mk;c[yg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[yg>>2];c[Lk+4>>2]=c[yg+4>>2];c[Lk+8>>2]=c[yg+8>>2];c[Lk+12>>2]=c[yg+12>>2];c[Lk+16>>2]=c[yg+16>>2];Sx(b,Lk,99,283);aa=Nk;return}case 110:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[zg>>2]=Dk?c[Hk>>2]|0:Hk;c[zg+4>>2]=Ek;c[zg+8>>2]=Ik;c[zg+12>>2]=Mk;c[zg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[zg>>2];c[Lk+4>>2]=c[zg+4>>2];c[Lk+8>>2]=c[zg+8>>2];c[Lk+12>>2]=c[zg+12>>2];c[Lk+16>>2]=c[zg+16>>2];Sx(b,Lk,99,282);aa=Nk;return}default:{xk=277;break n}}if(g<<24>>24!=100){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}h=yk+9|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[_i>>2]=Dk?c[Hk>>2]|0:Hk;c[_i+4>>2]=Ek;c[_i+8>>2]=Ik;c[_i+12>>2]=Mk;c[_i+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[_i>>2];c[Lk+4>>2]=c[_i+4>>2];c[Lk+8>>2]=c[_i+8>>2];c[Lk+12>>2]=c[_i+12>>2];c[Lk+16>>2]=c[_i+16>>2];Sx(b,Lk,49,288);aa=Nk;return}case 117:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[$i>>2]=Dk?c[Hk>>2]|0:Hk;c[$i+4>>2]=Ek;c[$i+8>>2]=Ik;c[$i+12>>2]=Mk;c[$i+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[$i>>2];c[Lk+4>>2]=c[$i+4>>2];c[Lk+8>>2]=c[$i+8>>2];c[Lk+12>>2]=c[$i+12>>2];c[Lk+16>>2]=c[$i+16>>2];Sx(b,Lk,49,289);aa=Nk;return}default:{xk=277;break n}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ce>>2]=Dk?c[Hk>>2]|0:Hk;c[Ce+4>>2]=Ek;c[Ce+8>>2]=Ik;c[Ce+12>>2]=Mk;c[Ce+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Ce>>2];c[Lk+4>>2]=c[Ce+4>>2];c[Lk+8>>2]=c[Ce+8>>2];c[Lk+12>>2]=c[Ce+12>>2];c[Lk+16>>2]=c[Ce+16>>2];Sx(b,Lk,49,287);aa=Nk;return}case 101:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 113:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Pb>>2]=Dk?c[Hk>>2]|0:Hk;c[Pb+4>>2]=Ek;c[Pb+8>>2]=Ik;c[Pb+12>>2]=Mk;c[Pb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Pb>>2];c[Lk+4>>2]=c[Pb+4>>2];c[Lk+8>>2]=c[Pb+8>>2];c[Lk+12>>2]=c[Pb+12>>2];c[Lk+16>>2]=c[Pb+16>>2];Sx(b,Lk,58,234);aa=Nk;return}case 120:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ni>>2]=Dk?c[Hk>>2]|0:Hk;c[Ni+4>>2]=Ek;c[Ni+8>>2]=Ik;c[Ni+12>>2]=Mk;c[Ni+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ni>>2];c[Lk+4>>2]=c[Ni+4>>2];c[Lk+8>>2]=c[Ni+8>>2];c[Lk+12>>2]=c[Ni+12>>2];c[Lk+16>>2]=c[Ni+16>>2];Sx(b,Lk,92,215);aa=Nk;return}case 117:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Oi>>2]=Dk?c[Hk>>2]|0:Hk;c[Oi+4>>2]=Ek;c[Oi+8>>2]=Ik;c[Oi+12>>2]=Mk;c[Oi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Oi>>2];c[Lk+4>>2]=c[Oi+4>>2];c[Lk+8>>2]=c[Oi+8>>2];c[Lk+12>>2]=c[Oi+12>>2];c[Lk+16>>2]=c[Oi+16>>2];Sx(b,Lk,92,216);aa=Nk;return}default:{xk=277;break n}}}case 103:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Te>>2]=Dk?c[Hk>>2]|0:Hk;c[Te+4>>2]=Ek;c[Te+8>>2]=Ik;c[Te+12>>2]=Mk;c[Te+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Te>>2];c[Lk+4>>2]=c[Te+4>>2];c[Lk+8>>2]=c[Te+8>>2];c[Lk+12>>2]=c[Te+12>>2];c[Lk+16>>2]=c[Te+16>>2];Sx(b,Lk,58,242);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ue>>2]=Dk?c[Hk>>2]|0:Hk;c[Ue+4>>2]=Ek;c[Ue+8>>2]=Ik;c[Ue+12>>2]=Mk;c[Ue+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ue>>2];c[Lk+4>>2]=c[Ue+4>>2];c[Lk+8>>2]=c[Ue+8>>2];c[Lk+12>>2]=c[Ue+12>>2];c[Lk+16>>2]=c[Ue+16>>2];Sx(b,Lk,58,243);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ve>>2]=Dk?c[Hk>>2]|0:Hk;c[Ve+4>>2]=Ek;c[Ve+8>>2]=Ik;c[Ve+12>>2]=Mk;c[Ve+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ve>>2];c[Lk+4>>2]=c[Ve+4>>2];c[Lk+8>>2]=c[Ve+8>>2];c[Lk+12>>2]=c[Ve+12>>2];c[Lk+16>>2]=c[Ve+16>>2];Sx(b,Lk,58,238);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[We>>2]=Dk?c[Hk>>2]|0:Hk;c[We+4>>2]=Ek;c[We+8>>2]=Ik;c[We+12>>2]=Mk;c[We+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[We>>2];c[Lk+4>>2]=c[We+4>>2];c[Lk+8>>2]=c[We+8>>2];c[Lk+12>>2]=c[We+12>>2];c[Lk+16>>2]=c[We+16>>2];Sx(b,Lk,58,239);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 108:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xe>>2]=Dk?c[Hk>>2]|0:Hk;c[Xe+4>>2]=Ek;c[Xe+8>>2]=Ik;c[Xe+12>>2]=Mk;c[Xe+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Xe>>2];c[Lk+4>>2]=c[Xe+4>>2];c[Lk+8>>2]=c[Xe+8>>2];c[Lk+12>>2]=c[Xe+12>>2];c[Lk+16>>2]=c[Xe+16>>2];Sx(b,Lk,58,240);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ye>>2]=Dk?c[Hk>>2]|0:Hk;c[Ye+4>>2]=Ek;c[Ye+8>>2]=Ik;c[Ye+12>>2]=Mk;c[Ye+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ye>>2];c[Lk+4>>2]=c[Ye+4>>2];c[Lk+8>>2]=c[Ye+8>>2];c[Lk+12>>2]=c[Ye+12>>2];c[Lk+16>>2]=c[Ye+16>>2];Sx(b,Lk,58,241);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ze>>2]=Dk?c[Hk>>2]|0:Hk;c[Ze+4>>2]=Ek;c[Ze+8>>2]=Ik;c[Ze+12>>2]=Mk;c[Ze+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ze>>2];c[Lk+4>>2]=c[Ze+4>>2];c[Lk+8>>2]=c[Ze+8>>2];c[Lk+12>>2]=c[Ze+12>>2];c[Lk+16>>2]=c[Ze+16>>2];Sx(b,Lk,58,236);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[_e>>2]=Dk?c[Hk>>2]|0:Hk;c[_e+4>>2]=Ek;c[_e+8>>2]=Ik;c[_e+12>>2]=Mk;c[_e+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[_e>>2];c[Lk+4>>2]=c[_e+4>>2];c[Lk+8>>2]=c[_e+8>>2];c[Lk+12>>2]=c[_e+12>>2];c[Lk+16>>2]=c[_e+16>>2];Sx(b,Lk,58,237);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 109:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[jd>>2]=Dk?c[Hk>>2]|0:Hk;c[jd+4>>2]=Ek;c[jd+8>>2]=Ik;c[jd+12>>2]=Mk;c[jd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[jd>>2];c[Lk+4>>2]=c[jd+4>>2];c[Lk+8>>2]=c[jd+8>>2];c[Lk+12>>2]=c[jd+12>>2];c[Lk+16>>2]=c[jd+16>>2];Sx(b,Lk,49,293);aa=Nk;return}case 110:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+8|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<103)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=103)if((g&255)<127){xk=272;break n}else break;g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[De>>2]=Dk?c[Hk>>2]|0:Hk;c[De+4>>2]=Ek;c[De+8>>2]=Ik;c[De+12>>2]=Mk;c[De+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[De>>2];c[Lk+4>>2]=c[De+4>>2];c[Lk+8>>2]=c[De+8>>2];c[Lk+12>>2]=c[De+12>>2];c[Lk+16>>2]=c[De+16>>2];Sx(b,Lk,99,281);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[dd>>2]=Dk?c[Hk>>2]|0:Hk;c[dd+4>>2]=Ek;c[dd+8>>2]=Ik;c[dd+12>>2]=Mk;c[dd+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[dd>>2];c[Lk+4>>2]=c[dd+4>>2];c[Lk+8>>2]=c[dd+8>>2];c[Lk+12>>2]=c[dd+12>>2];c[Lk+16>>2]=c[dd+16>>2];Sx(b,Lk,58,235);aa=Nk;return}case 114:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Nh>>2]=Dk?c[Hk>>2]|0:Hk;c[Nh+4>>2]=Ek;c[Nh+8>>2]=Ik;c[Nh+12>>2]=Mk;c[Nh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Nh>>2];c[Lk+4>>2]=c[Nh+4>>2];c[Lk+8>>2]=c[Nh+8>>2];c[Lk+12>>2]=c[Nh+12>>2];c[Lk+16>>2]=c[Nh+16>>2];Sx(b,Lk,92,217);aa=Nk;return}case 115:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<112){if(g<<24>>24!=104){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[kd>>2]=Dk?c[Hk>>2]|0:Hk;c[kd+4>>2]=Ek;c[kd+8>>2]=Ik;c[kd+12>>2]=Mk;c[kd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[kd>>2];c[Lk+4>>2]=c[kd+4>>2];c[Lk+8>>2]=c[kd+8>>2];c[Lk+12>>2]=c[kd+12>>2];c[Lk+16>>2]=c[kd+16>>2];Sx(b,Lk,49,284);aa=Nk;return}case 114:break;default:{xk=277;break n}}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ff>>2]=Dk?c[Hk>>2]|0:Hk;c[Ff+4>>2]=Ek;c[Ff+8>>2]=Ik;c[Ff+12>>2]=Mk;c[Ff+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ff>>2];c[Lk+4>>2]=c[Ff+4>>2];c[Lk+8>>2]=c[Ff+8>>2];c[Lk+12>>2]=c[Ff+12>>2];c[Lk+16>>2]=c[Ff+16>>2];Sx(b,Lk,49,285);aa=Nk;return}case 117:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Gf>>2]=Dk?c[Hk>>2]|0:Hk;c[Gf+4>>2]=Ek;c[Gf+8>>2]=Ik;c[Gf+12>>2]=Mk;c[Gf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Gf>>2];c[Lk+4>>2]=c[Gf+4>>2];c[Lk+8>>2]=c[Gf+8>>2];c[Lk+12>>2]=c[Gf+12>>2];c[Lk+16>>2]=c[Gf+16>>2];Sx(b,Lk,49,286);aa=Nk;return}default:{xk=277;break n}}}switch(g<<24>>24){case 112:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Hf>>2]=Dk?c[Hk>>2]|0:Hk;c[Hf+4>>2]=Ek;c[Hf+8>>2]=Ik;c[Hf+12>>2]=Mk;c[Hf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Hf>>2];c[Lk+4>>2]=c[Hf+4>>2];c[Lk+8>>2]=c[Hf+8>>2];c[Lk+12>>2]=c[Hf+12>>2];c[Lk+16>>2]=c[Hf+16>>2];Sx(b,Lk,99,214);aa=Nk;return}case 117:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}h=yk+9|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[aj>>2]=Dk?c[Hk>>2]|0:Hk;c[aj+4>>2]=Ek;c[aj+8>>2]=Ik;c[aj+12>>2]=Mk;c[aj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[aj>>2];c[Lk+4>>2]=c[aj+4>>2];c[Lk+8>>2]=c[aj+8>>2];c[Lk+12>>2]=c[aj+12>>2];c[Lk+16>>2]=c[aj+16>>2];Sx(b,Lk,49,291);aa=Nk;return}case 117:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[bj>>2]=Dk?c[Hk>>2]|0:Hk;c[bj+4>>2]=Ek;c[bj+8>>2]=Ik;c[bj+12>>2]=Mk;c[bj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[bj>>2];c[Lk+4>>2]=c[bj+4>>2];c[Lk+8>>2]=c[bj+8>>2];c[Lk+12>>2]=c[bj+12>>2];c[Lk+16>>2]=c[bj+16>>2];Sx(b,Lk,49,292);aa=Nk;return}default:{xk=277;break n}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ee>>2]=Dk?c[Hk>>2]|0:Hk;c[Ee+4>>2]=Ek;c[Ee+8>>2]=Ik;c[Ee+12>>2]=Mk;c[Ee+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Ee>>2];c[Lk+4>>2]=c[Ee+4>>2];c[Lk+8>>2]=c[Ee+8>>2];c[Lk+12>>2]=c[Ee+12>>2];c[Lk+16>>2]=c[Ee+16>>2];Sx(b,Lk,49,290);aa=Nk;return}default:{xk=277;break n}}}if((g&255)<51){if(g<<24>>24!=49){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=56){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=108)switch(g<<24>>24){case 108:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[wg>>2]=Dk?c[Hk>>2]|0:Hk;c[wg+4>>2]=Ek;c[wg+8>>2]=Ik;c[wg+12>>2]=Mk;c[wg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[wg>>2];c[Lk+4>>2]=c[wg+4>>2];c[Lk+8>>2]=c[wg+8>>2];c[Lk+12>>2]=c[wg+12>>2];c[Lk+16>>2]=c[wg+16>>2];Sx(b,Lk,99,296);aa=Nk;return}case 110:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[xg>>2]=Dk?c[Hk>>2]|0:Hk;c[xg+4>>2]=Ek;c[xg+8>>2]=Ik;c[xg+12>>2]=Mk;c[xg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[xg>>2];c[Lk+4>>2]=c[xg+4>>2];c[Lk+8>>2]=c[xg+8>>2];c[Lk+12>>2]=c[xg+12>>2];c[Lk+16>>2]=c[xg+16>>2];Sx(b,Lk,99,295);aa=Nk;return}default:{xk=277;break n}}if(g<<24>>24!=100){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}h=yk+9|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ui>>2]=Dk?c[Hk>>2]|0:Hk;c[Ui+4>>2]=Ek;c[Ui+8>>2]=Ik;c[Ui+12>>2]=Mk;c[Ui+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ui>>2];c[Lk+4>>2]=c[Ui+4>>2];c[Lk+8>>2]=c[Ui+8>>2];c[Lk+12>>2]=c[Ui+12>>2];c[Lk+16>>2]=c[Ui+16>>2];Sx(b,Lk,49,301);aa=Nk;return}case 117:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Vi>>2]=Dk?c[Hk>>2]|0:Hk;c[Vi+4>>2]=Ek;c[Vi+8>>2]=Ik;c[Vi+12>>2]=Mk;c[Vi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Vi>>2];c[Lk+4>>2]=c[Vi+4>>2];c[Lk+8>>2]=c[Vi+8>>2];c[Lk+12>>2]=c[Vi+12>>2];c[Lk+16>>2]=c[Vi+16>>2];Sx(b,Lk,49,302);aa=Nk;return}default:{xk=277;break n}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[de>>2]=Dk?c[Hk>>2]|0:Hk;c[de+4>>2]=Ek;c[de+8>>2]=Ik;c[de+12>>2]=Mk;c[de+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[de>>2];c[Lk+4>>2]=c[de+4>>2];c[Lk+8>>2]=c[de+8>>2];c[Lk+12>>2]=c[de+12>>2];c[Lk+16>>2]=c[de+16>>2];Sx(b,Lk,49,300);aa=Nk;return}case 101:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 113:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ob>>2]=Dk?c[Hk>>2]|0:Hk;c[Ob+4>>2]=Ek;c[Ob+8>>2]=Ik;c[Ob+12>>2]=Mk;c[Ob+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ob>>2];c[Lk+4>>2]=c[Ob+4>>2];c[Lk+8>>2]=c[Ob+8>>2];c[Lk+12>>2]=c[Ob+12>>2];c[Lk+16>>2]=c[Ob+16>>2];Sx(b,Lk,58,244);aa=Nk;return}case 120:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Li>>2]=Dk?c[Hk>>2]|0:Hk;c[Li+4>>2]=Ek;c[Li+8>>2]=Ik;c[Li+12>>2]=Mk;c[Li+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Li>>2];c[Lk+4>>2]=c[Li+4>>2];c[Lk+8>>2]=c[Li+8>>2];c[Lk+12>>2]=c[Li+12>>2];c[Lk+16>>2]=c[Li+16>>2];Sx(b,Lk,92,219);aa=Nk;return}case 117:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Mi>>2]=Dk?c[Hk>>2]|0:Hk;c[Mi+4>>2]=Ek;c[Mi+8>>2]=Ik;c[Mi+12>>2]=Mk;c[Mi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Mi>>2];c[Lk+4>>2]=c[Mi+4>>2];c[Lk+8>>2]=c[Mi+8>>2];c[Lk+12>>2]=c[Mi+12>>2];c[Lk+16>>2]=c[Mi+16>>2];Sx(b,Lk,92,220);aa=Nk;return}default:{xk=277;break n}}}case 103:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Le>>2]=Dk?c[Hk>>2]|0:Hk;c[Le+4>>2]=Ek;c[Le+8>>2]=Ik;c[Le+12>>2]=Mk;c[Le+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Le>>2];c[Lk+4>>2]=c[Le+4>>2];c[Lk+8>>2]=c[Le+8>>2];c[Lk+12>>2]=c[Le+12>>2];c[Lk+16>>2]=c[Le+16>>2];Sx(b,Lk,58,252);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Me>>2]=Dk?c[Hk>>2]|0:Hk;c[Me+4>>2]=Ek;c[Me+8>>2]=Ik;c[Me+12>>2]=Mk;c[Me+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Me>>2];c[Lk+4>>2]=c[Me+4>>2];c[Lk+8>>2]=c[Me+8>>2];c[Lk+12>>2]=c[Me+12>>2];c[Lk+16>>2]=c[Me+16>>2];Sx(b,Lk,58,253);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ne>>2]=Dk?c[Hk>>2]|0:Hk;c[Ne+4>>2]=Ek;c[Ne+8>>2]=Ik;c[Ne+12>>2]=Mk;c[Ne+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ne>>2];c[Lk+4>>2]=c[Ne+4>>2];c[Lk+8>>2]=c[Ne+8>>2];c[Lk+12>>2]=c[Ne+12>>2];c[Lk+16>>2]=c[Ne+16>>2];Sx(b,Lk,58,248);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Oe>>2]=Dk?c[Hk>>2]|0:Hk;c[Oe+4>>2]=Ek;c[Oe+8>>2]=Ik;c[Oe+12>>2]=Mk;c[Oe+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Oe>>2];c[Lk+4>>2]=c[Oe+4>>2];c[Lk+8>>2]=c[Oe+8>>2];c[Lk+12>>2]=c[Oe+12>>2];c[Lk+16>>2]=c[Oe+16>>2];Sx(b,Lk,58,249);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 108:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Pe>>2]=Dk?c[Hk>>2]|0:Hk;c[Pe+4>>2]=Ek;c[Pe+8>>2]=Ik;c[Pe+12>>2]=Mk;c[Pe+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Pe>>2];c[Lk+4>>2]=c[Pe+4>>2];c[Lk+8>>2]=c[Pe+8>>2];c[Lk+12>>2]=c[Pe+12>>2];c[Lk+16>>2]=c[Pe+16>>2];Sx(b,Lk,58,250);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Qe>>2]=Dk?c[Hk>>2]|0:Hk;c[Qe+4>>2]=Ek;c[Qe+8>>2]=Ik;c[Qe+12>>2]=Mk;c[Qe+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Qe>>2];c[Lk+4>>2]=c[Qe+4>>2];c[Lk+8>>2]=c[Qe+8>>2];c[Lk+12>>2]=c[Qe+12>>2];c[Lk+16>>2]=c[Qe+16>>2];Sx(b,Lk,58,251);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Re>>2]=Dk?c[Hk>>2]|0:Hk;c[Re+4>>2]=Ek;c[Re+8>>2]=Ik;c[Re+12>>2]=Mk;c[Re+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Re>>2];c[Lk+4>>2]=c[Re+4>>2];c[Lk+8>>2]=c[Re+8>>2];c[Lk+12>>2]=c[Re+12>>2];c[Lk+16>>2]=c[Re+16>>2];Sx(b,Lk,58,246);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Se>>2]=Dk?c[Hk>>2]|0:Hk;c[Se+4>>2]=Ek;c[Se+8>>2]=Ik;c[Se+12>>2]=Mk;c[Se+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Se>>2];c[Lk+4>>2]=c[Se+4>>2];c[Lk+8>>2]=c[Se+8>>2];c[Lk+12>>2]=c[Se+12>>2];c[Lk+16>>2]=c[Se+16>>2];Sx(b,Lk,58,247);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 109:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[hd>>2]=Dk?c[Hk>>2]|0:Hk;c[hd+4>>2]=Ek;c[hd+8>>2]=Ik;c[hd+12>>2]=Mk;c[hd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[hd>>2];c[Lk+4>>2]=c[hd+4>>2];c[Lk+8>>2]=c[hd+8>>2];c[Lk+12>>2]=c[hd+12>>2];c[Lk+16>>2]=c[hd+16>>2];Sx(b,Lk,49,306);aa=Nk;return}case 110:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+8|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<103)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=103)if((g&255)<127){xk=272;break n}else break;g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ee>>2]=Dk?c[Hk>>2]|0:Hk;c[ee+4>>2]=Ek;c[ee+8>>2]=Ik;c[ee+12>>2]=Mk;c[ee+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ee>>2];c[Lk+4>>2]=c[ee+4>>2];c[Lk+8>>2]=c[ee+8>>2];c[Lk+12>>2]=c[ee+12>>2];c[Lk+16>>2]=c[ee+16>>2];Sx(b,Lk,99,294);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Jc>>2]=Dk?c[Hk>>2]|0:Hk;c[Jc+4>>2]=Ek;c[Jc+8>>2]=Ik;c[Jc+12>>2]=Mk;c[Jc+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Jc>>2];c[Lk+4>>2]=c[Jc+4>>2];c[Lk+8>>2]=c[Jc+8>>2];c[Lk+12>>2]=c[Jc+12>>2];c[Lk+16>>2]=c[Jc+16>>2];Sx(b,Lk,58,245);aa=Nk;return}case 114:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Mh>>2]=Dk?c[Hk>>2]|0:Hk;c[Mh+4>>2]=Ek;c[Mh+8>>2]=Ik;c[Mh+12>>2]=Mk;c[Mh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Mh>>2];c[Lk+4>>2]=c[Mh+4>>2];c[Lk+8>>2]=c[Mh+8>>2];c[Lk+12>>2]=c[Mh+12>>2];c[Lk+16>>2]=c[Mh+16>>2];Sx(b,Lk,92,221);aa=Nk;return}case 115:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<112){if(g<<24>>24!=104){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[id>>2]=Dk?c[Hk>>2]|0:Hk;c[id+4>>2]=Ek;c[id+8>>2]=Ik;c[id+12>>2]=Mk;c[id+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[id>>2];c[Lk+4>>2]=c[id+4>>2];c[Lk+8>>2]=c[id+8>>2];c[Lk+12>>2]=c[id+12>>2];c[Lk+16>>2]=c[id+16>>2];Sx(b,Lk,49,297);aa=Nk;return}case 114:break;default:{xk=277;break n}}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Cf>>2]=Dk?c[Hk>>2]|0:Hk;c[Cf+4>>2]=Ek;c[Cf+8>>2]=Ik;c[Cf+12>>2]=Mk;c[Cf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Cf>>2];c[Lk+4>>2]=c[Cf+4>>2];c[Lk+8>>2]=c[Cf+8>>2];c[Lk+12>>2]=c[Cf+12>>2];c[Lk+16>>2]=c[Cf+16>>2];Sx(b,Lk,49,298);aa=Nk;return}case 117:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Df>>2]=Dk?c[Hk>>2]|0:Hk;c[Df+4>>2]=Ek;c[Df+8>>2]=Ik;c[Df+12>>2]=Mk;c[Df+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Df>>2];c[Lk+4>>2]=c[Df+4>>2];c[Lk+8>>2]=c[Df+8>>2];c[Lk+12>>2]=c[Df+12>>2];c[Lk+16>>2]=c[Df+16>>2];Sx(b,Lk,49,299);aa=Nk;return}default:{xk=277;break n}}}switch(g<<24>>24){case 112:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ef>>2]=Dk?c[Hk>>2]|0:Hk;c[Ef+4>>2]=Ek;c[Ef+8>>2]=Ik;c[Ef+12>>2]=Mk;c[Ef+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ef>>2];c[Lk+4>>2]=c[Ef+4>>2];c[Lk+8>>2]=c[Ef+8>>2];c[Lk+12>>2]=c[Ef+12>>2];c[Lk+16>>2]=c[Ef+16>>2];Sx(b,Lk,99,218);aa=Nk;return}case 117:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}h=yk+9|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<95)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=95)if((g&255)<127){xk=272;break n}else break;g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Wi>>2]=Dk?c[Hk>>2]|0:Hk;c[Wi+4>>2]=Ek;c[Wi+8>>2]=Ik;c[Wi+12>>2]=Mk;c[Wi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Wi>>2];c[Lk+4>>2]=c[Wi+4>>2];c[Lk+8>>2]=c[Wi+8>>2];c[Lk+12>>2]=c[Wi+12>>2];c[Lk+16>>2]=c[Wi+16>>2];Sx(b,Lk,49,304);aa=Nk;return}case 117:{g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xi>>2]=Dk?c[Hk>>2]|0:Hk;c[Xi+4>>2]=Ek;c[Xi+8>>2]=Ik;c[Xi+12>>2]=Mk;c[Xi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Xi>>2];c[Lk+4>>2]=c[Xi+4>>2];c[Lk+8>>2]=c[Xi+8>>2];c[Lk+12>>2]=c[Xi+12>>2];c[Lk+16>>2]=c[Xi+16>>2];Sx(b,Lk,49,305);aa=Nk;return}default:{xk=277;break n}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[fe>>2]=Dk?c[Hk>>2]|0:Hk;c[fe+4>>2]=Ek;c[fe+8>>2]=Ik;c[fe+12>>2]=Mk;c[fe+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[fe>>2];c[Lk+4>>2]=c[fe+4>>2];c[Lk+8>>2]=c[fe+8>>2];c[Lk+12>>2]=c[fe+12>>2];c[Lk+16>>2]=c[fe+16>>2];Sx(b,Lk,49,303);aa=Nk;return}default:{xk=277;break n}}}switch(g<<24>>24){case 51:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}h=yk+3|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<46)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=60){if(g<<24>>24!=120)if((g&255)<127){xk=272;break n}else break;g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<108){if(g<<24>>24!=100){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ne>>2]=Dk?c[Hk>>2]|0:Hk;c[ne+4>>2]=Ek;c[ne+8>>2]=Ik;c[ne+12>>2]=Mk;c[ne+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ne>>2];c[Lk+4>>2]=c[ne+4>>2];c[Lk+8>>2]=c[ne+8>>2];c[Lk+12>>2]=c[ne+12>>2];c[Lk+16>>2]=c[ne+16>>2];Sx(b,Lk,49,313);aa=Nk;return}switch(g<<24>>24){case 108:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Gg>>2]=Dk?c[Hk>>2]|0:Hk;c[Gg+4>>2]=Ek;c[Gg+8>>2]=Ik;c[Gg+12>>2]=Mk;c[Gg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Gg>>2];c[Lk+4>>2]=c[Gg+4>>2];c[Lk+8>>2]=c[Gg+8>>2];c[Lk+12>>2]=c[Gg+12>>2];c[Lk+16>>2]=c[Gg+16>>2];Sx(b,Lk,99,309);aa=Nk;return}case 110:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Hg>>2]=Dk?c[Hk>>2]|0:Hk;c[Hg+4>>2]=Ek;c[Hg+8>>2]=Ik;c[Hg+12>>2]=Mk;c[Hg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Hg>>2];c[Lk+4>>2]=c[Hg+4>>2];c[Lk+8>>2]=c[Hg+8>>2];c[Lk+12>>2]=c[Hg+12>>2];c[Lk+16>>2]=c[Hg+16>>2];Sx(b,Lk,99,308);aa=Nk;return}default:{xk=277;break n}}}case 101:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 113:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Uc>>2]=Dk?c[Hk>>2]|0:Hk;c[Uc+4>>2]=Ek;c[Uc+8>>2]=Ik;c[Uc+12>>2]=Mk;c[Uc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Uc>>2];c[Lk+4>>2]=c[Uc+4>>2];c[Lk+8>>2]=c[Uc+8>>2];c[Lk+12>>2]=c[Uc+12>>2];c[Lk+16>>2]=c[Uc+16>>2];Sx(b,Lk,58,254);aa=Nk;return}case 120:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Zh>>2]=Dk?c[Hk>>2]|0:Hk;c[Zh+4>>2]=Ek;c[Zh+8>>2]=Ik;c[Zh+12>>2]=Mk;c[Zh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Zh>>2];c[Lk+4>>2]=c[Zh+4>>2];c[Lk+8>>2]=c[Zh+8>>2];c[Lk+12>>2]=c[Zh+12>>2];c[Lk+16>>2]=c[Zh+16>>2];Sx(b,Lk,92,223);aa=Nk;return}case 103:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[mf>>2]=Dk?c[Hk>>2]|0:Hk;c[mf+4>>2]=Ek;c[mf+8>>2]=Ik;c[mf+12>>2]=Mk;c[mf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[mf>>2];c[Lk+4>>2]=c[mf+4>>2];c[Lk+8>>2]=c[mf+8>>2];c[Lk+12>>2]=c[mf+12>>2];c[Lk+16>>2]=c[mf+16>>2];Sx(b,Lk,58,262);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[nf>>2]=Dk?c[Hk>>2]|0:Hk;c[nf+4>>2]=Ek;c[nf+8>>2]=Ik;c[nf+12>>2]=Mk;c[nf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[nf>>2];c[Lk+4>>2]=c[nf+4>>2];c[Lk+8>>2]=c[nf+8>>2];c[Lk+12>>2]=c[nf+12>>2];c[Lk+16>>2]=c[nf+16>>2];Sx(b,Lk,58,263);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[of>>2]=Dk?c[Hk>>2]|0:Hk;c[of+4>>2]=Ek;c[of+8>>2]=Ik;c[of+12>>2]=Mk;c[of+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[of>>2];c[Lk+4>>2]=c[of+4>>2];c[Lk+8>>2]=c[of+8>>2];c[Lk+12>>2]=c[of+12>>2];c[Lk+16>>2]=c[of+16>>2];Sx(b,Lk,58,258);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[pf>>2]=Dk?c[Hk>>2]|0:Hk;c[pf+4>>2]=Ek;c[pf+8>>2]=Ik;c[pf+12>>2]=Mk;c[pf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[pf>>2];c[Lk+4>>2]=c[pf+4>>2];c[Lk+8>>2]=c[pf+8>>2];c[Lk+12>>2]=c[pf+12>>2];c[Lk+16>>2]=c[pf+16>>2];Sx(b,Lk,58,259);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 108:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[qf>>2]=Dk?c[Hk>>2]|0:Hk;c[qf+4>>2]=Ek;c[qf+8>>2]=Ik;c[qf+12>>2]=Mk;c[qf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[qf>>2];c[Lk+4>>2]=c[qf+4>>2];c[Lk+8>>2]=c[qf+8>>2];c[Lk+12>>2]=c[qf+12>>2];c[Lk+16>>2]=c[qf+16>>2];Sx(b,Lk,58,260);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[rf>>2]=Dk?c[Hk>>2]|0:Hk;c[rf+4>>2]=Ek;c[rf+8>>2]=Ik;c[rf+12>>2]=Mk;c[rf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[rf>>2];c[Lk+4>>2]=c[rf+4>>2];c[Lk+8>>2]=c[rf+8>>2];c[Lk+12>>2]=c[rf+12>>2];c[Lk+16>>2]=c[rf+16>>2];Sx(b,Lk,58,261);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[sf>>2]=Dk?c[Hk>>2]|0:Hk;c[sf+4>>2]=Ek;c[sf+8>>2]=Ik;c[sf+12>>2]=Mk;c[sf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[sf>>2];c[Lk+4>>2]=c[sf+4>>2];c[Lk+8>>2]=c[sf+8>>2];c[Lk+12>>2]=c[sf+12>>2];c[Lk+16>>2]=c[sf+16>>2];Sx(b,Lk,58,256);aa=Nk;return}case 117:{g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[tf>>2]=Dk?c[Hk>>2]|0:Hk;c[tf+4>>2]=Ek;c[tf+8>>2]=Ik;c[tf+12>>2]=Mk;c[tf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[tf>>2];c[Lk+4>>2]=c[tf+4>>2];c[Lk+8>>2]=c[tf+8>>2];c[Lk+12>>2]=c[tf+12>>2];c[Lk+16>>2]=c[tf+16>>2];Sx(b,Lk,58,257);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 109:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[oe>>2]=Dk?c[Hk>>2]|0:Hk;c[oe+4>>2]=Ek;c[oe+8>>2]=Ik;c[oe+12>>2]=Mk;c[oe+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[oe>>2];c[Lk+4>>2]=c[oe+4>>2];c[Lk+8>>2]=c[oe+8>>2];c[Lk+12>>2]=c[oe+12>>2];c[Lk+16>>2]=c[oe+16>>2];Sx(b,Lk,49,315);aa=Nk;return}case 110:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+8|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<103)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=103)if((g&255)<127){xk=272;break n}else break;g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[df>>2]=Dk?c[Hk>>2]|0:Hk;c[df+4>>2]=Ek;c[df+8>>2]=Ik;c[df+12>>2]=Mk;c[df+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[df>>2];c[Lk+4>>2]=c[df+4>>2];c[Lk+8>>2]=c[df+8>>2];c[Lk+12>>2]=c[df+12>>2];c[Lk+16>>2]=c[df+16>>2];Sx(b,Lk,99,307);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Dd>>2]=Dk?c[Hk>>2]|0:Hk;c[Dd+4>>2]=Ek;c[Dd+8>>2]=Ik;c[Dd+12>>2]=Mk;c[Dd+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Dd>>2];c[Lk+4>>2]=c[Dd+4>>2];c[Lk+8>>2]=c[Dd+8>>2];c[Lk+12>>2]=c[Dd+12>>2];c[Lk+16>>2]=c[Dd+16>>2];Sx(b,Lk,58,255);aa=Nk;return}case 114:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[_h>>2]=Dk?c[Hk>>2]|0:Hk;c[_h+4>>2]=Ek;c[_h+8>>2]=Ik;c[_h+12>>2]=Mk;c[_h+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[_h>>2];c[Lk+4>>2]=c[_h+4>>2];c[Lk+8>>2]=c[_h+8>>2];c[Lk+12>>2]=c[_h+12>>2];c[Lk+16>>2]=c[_h+16>>2];Sx(b,Lk,92,224);aa=Nk;return}case 115:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=112){switch(g<<24>>24){case 112:break;case 117:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[qe>>2]=Dk?c[Hk>>2]|0:Hk;c[qe+4>>2]=Ek;c[qe+8>>2]=Ik;c[qe+12>>2]=Mk;c[qe+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[qe>>2];c[Lk+4>>2]=c[qe+4>>2];c[Lk+8>>2]=c[qe+8>>2];c[Lk+12>>2]=c[qe+12>>2];c[Lk+16>>2]=c[qe+16>>2];Sx(b,Lk,49,314);aa=Nk;return}default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Qf>>2]=Dk?c[Hk>>2]|0:Hk;c[Qf+4>>2]=Ek;c[Qf+8>>2]=Ik;c[Qf+12>>2]=Mk;c[Qf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Qf>>2];c[Lk+4>>2]=c[Qf+4>>2];c[Lk+8>>2]=c[Qf+8>>2];c[Lk+12>>2]=c[Qf+12>>2];c[Lk+16>>2]=c[Qf+16>>2];Sx(b,Lk,99,222);aa=Nk;return}if(g<<24>>24!=104){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[pe>>2]=Dk?c[Hk>>2]|0:Hk;c[pe+4>>2]=Ek;c[pe+8>>2]=Ik;c[pe+12>>2]=Mk;c[pe+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[pe>>2];c[Lk+4>>2]=c[pe+4>>2];c[Lk+8>>2]=c[pe+8>>2];c[Lk+12>>2]=c[pe+12>>2];c[Lk+16>>2]=c[pe+16>>2];Sx(b,Lk,49,310);aa=Nk;return}case 114:break;default:{xk=277;break n}}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Of>>2]=Dk?c[Hk>>2]|0:Hk;c[Of+4>>2]=Ek;c[Of+8>>2]=Ik;c[Of+12>>2]=Mk;c[Of+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Of>>2];c[Lk+4>>2]=c[Of+4>>2];c[Lk+8>>2]=c[Of+8>>2];c[Lk+12>>2]=c[Of+12>>2];c[Lk+16>>2]=c[Of+16>>2];Sx(b,Lk,49,311);aa=Nk;return}case 117:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Pf>>2]=Dk?c[Hk>>2]|0:Hk;c[Pf+4>>2]=Ek;c[Pf+8>>2]=Ik;c[Pf+12>>2]=Mk;c[Pf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Pf>>2];c[Lk+4>>2]=c[Pf+4>>2];c[Lk+8>>2]=c[Pf+8>>2];c[Lk+12>>2]=c[Pf+12>>2];c[Lk+16>>2]=c[Pf+16>>2];Sx(b,Lk,49,312);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+23|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Pj>>2]=Dk?c[Hk>>2]|0:Hk;c[Pj+4>>2]=Ek;c[Pj+8>>2]=Ik;c[Pj+12>>2]=Mk;c[Pj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Pj>>2];c[Lk+4>>2]=c[Pj+4>>2];c[Lk+8>>2]=c[Pj+8>>2];c[Lk+12>>2]=c[Pj+12>>2];c[Lk+16>>2]=c[Pj+16>>2];Sx(b,Lk,99,342);aa=Nk;return}case 117:{g=yk+23|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Qj>>2]=Dk?c[Hk>>2]|0:Hk;c[Qj+4>>2]=Ek;c[Qj+8>>2]=Ik;c[Qj+12>>2]=Mk;c[Qj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Qj>>2];c[Lk+4>>2]=c[Qj+4>>2];c[Lk+8>>2]=c[Qj+8>>2];c[Lk+12>>2]=c[Qj+12>>2];c[Lk+16>>2]=c[Qj+16>>2];Sx(b,Lk,99,343);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}if((g&255)>=47)if((g&255)<59){xk=272;break n}else break;g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;do switch(g<<24>>24){case 97:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<110){if(g<<24>>24!=100){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[kc>>2]=Dk?c[Hk>>2]|0:Hk;c[kc+4>>2]=Ek;c[kc+8>>2]=Ik;c[kc+12>>2]=Mk;c[kc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[kc>>2];c[Lk+4>>2]=c[kc+4>>2];c[Lk+8>>2]=c[kc+8>>2];c[Lk+12>>2]=c[kc+12>>2];c[Lk+16>>2]=c[kc+16>>2];Sx(b,Lk,49,93);aa=Nk;return}switch(g<<24>>24){case 110:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[lc>>2]=Dk?c[Hk>>2]|0:Hk;c[lc+4>>2]=Ek;c[lc+8>>2]=Ik;c[lc+12>>2]=Mk;c[lc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[lc>>2];c[Lk+4>>2]=c[lc+4>>2];c[Lk+8>>2]=c[lc+8>>2];c[Lk+12>>2]=c[lc+12>>2];c[Lk+16>>2]=c[lc+16>>2];Sx(b,Lk,49,100);aa=Nk;return}case 116:break;default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=115){switch(g<<24>>24){case 115:break;case 119:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Qg>>2]=Dk?c[Hk>>2]|0:Hk;c[Qg+4>>2]=Ek;c[Qg+8>>2]=Ik;c[Qg+12>>2]=Mk;c[Qg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Qg>>2];c[Lk+4>>2]=c[Qg+4>>2];c[Lk+8>>2]=c[Qg+8>>2];c[Lk+12>>2]=c[Qg+12>>2];c[Lk+16>>2]=c[Qg+16>>2];Sx(b,Lk,47,351);aa=Nk;return}default:{xk=277;break n}}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+16|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<49)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=57)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if((g&255)<50){g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[hi>>2]=Dk?c[Hk>>2]|0:Hk;c[hi+4>>2]=Ek;c[hi+8>>2]=Ik;c[hi+12>>2]=Mk;c[hi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[hi>>2];c[Lk+4>>2]=c[hi+4>>2];c[Lk+8>>2]=c[hi+8>>2];c[Lk+12>>2]=c[hi+12>>2];c[Lk+16>>2]=c[hi+16>>2];Sx(b,Lk,46,363);aa=Nk;return}else{if((g&255)<56){xk=272;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ph>>2]=Dk?c[Hk>>2]|0:Hk;c[Ph+4>>2]=Ek;c[Ph+8>>2]=Ik;c[Ph+12>>2]=Mk;c[Ph+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ph>>2];c[Lk+4>>2]=c[Ph+4>>2];c[Lk+8>>2]=c[Ph+8>>2];c[Lk+12>>2]=c[Ph+12>>2];c[Lk+16>>2]=c[Ph+16>>2];Sx(b,Lk,46,362);aa=Nk;return}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[sh>>2]=Dk?c[Hk>>2]|0:Hk;c[sh+4>>2]=Ek;c[sh+8>>2]=Ik;c[sh+12>>2]=Mk;c[sh+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[sh>>2];c[Lk+4>>2]=c[sh+4>>2];c[Lk+8>>2]=c[sh+8>>2];c[Lk+12>>2]=c[sh+12>>2];c[Lk+16>>2]=c[sh+16>>2];Sx(b,Lk,46,360);aa=Nk;return}if(g<<24>>24==108){g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}h=yk+15|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<49)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=57)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if((g&255)<50){g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ri>>2]=Dk?c[Hk>>2]|0:Hk;c[Ri+4>>2]=Ek;c[Ri+8>>2]=Ik;c[Ri+12>>2]=Mk;c[Ri+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ri>>2];c[Lk+4>>2]=c[Ri+4>>2];c[Lk+8>>2]=c[Ri+8>>2];c[Lk+12>>2]=c[Ri+12>>2];c[Lk+16>>2]=c[Ri+16>>2];Sx(b,Lk,43,356);aa=Nk;return}else{if((g&255)<56){xk=272;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[gi>>2]=Dk?c[Hk>>2]|0:Hk;c[gi+4>>2]=Ek;c[gi+8>>2]=Ik;c[gi+12>>2]=Mk;c[gi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[gi>>2];c[Lk+4>>2]=c[gi+4>>2];c[Lk+8>>2]=c[gi+8>>2];c[Lk+12>>2]=c[gi+12>>2];c[Lk+16>>2]=c[gi+16>>2];Sx(b,Lk,43,355);aa=Nk;return}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[jh>>2]=Dk?c[Hk>>2]|0:Hk;c[jh+4>>2]=Ek;c[jh+8>>2]=Ik;c[jh+12>>2]=Mk;c[jh+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[jh>>2];c[Lk+4>>2]=c[jh+4>>2];c[Lk+8>>2]=c[jh+8>>2];c[Lk+12>>2]=c[jh+12>>2];c[Lk+16>>2]=c[jh+16>>2];Sx(b,Lk,43,353);aa=Nk;return}if((g&255)<114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=119){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<49){if(g<<24>>24!=46){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 100:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Vh>>2]=Dk?c[Hk>>2]|0:Hk;c[Vh+4>>2]=Ek;c[Vh+8>>2]=Ik;c[Vh+12>>2]=Mk;c[Vh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Vh>>2];c[Lk+4>>2]=c[Vh+4>>2];c[Lk+8>>2]=c[Vh+8>>2];c[Lk+12>>2]=c[Vh+12>>2];c[Lk+16>>2]=c[Vh+16>>2];Sx(b,Lk,44,367);aa=Nk;return}case 110:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Wh>>2]=Dk?c[Hk>>2]|0:Hk;c[Wh+4>>2]=Ek;c[Wh+8>>2]=Ik;c[Wh+12>>2]=Mk;c[Wh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Wh>>2];c[Lk+4>>2]=c[Wh+4>>2];c[Lk+8>>2]=c[Wh+8>>2];c[Lk+12>>2]=c[Wh+12>>2];c[Lk+16>>2]=c[Wh+16>>2];Sx(b,Lk,44,381);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[yj>>2]=Dk?c[Hk>>2]|0:Hk;c[yj+4>>2]=Ek;c[yj+8>>2]=Ik;c[yj+12>>2]=Mk;c[yj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[yj>>2];c[Lk+4>>2]=c[yj+4>>2];c[Lk+8>>2]=c[yj+8>>2];c[Lk+12>>2]=c[yj+12>>2];c[Lk+16>>2]=c[yj+16>>2];Sx(b,Lk,45,409);aa=Nk;return}case 111:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Kh>>2]=Dk?c[Hk>>2]|0:Hk;c[Kh+4>>2]=Ek;c[Kh+8>>2]=Ik;c[Kh+12>>2]=Mk;c[Kh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Kh>>2];c[Lk+4>>2]=c[Kh+4>>2];c[Lk+8>>2]=c[Kh+8>>2];c[Lk+12>>2]=c[Kh+12>>2];c[Lk+16>>2]=c[Kh+16>>2];Sx(b,Lk,44,388);aa=Nk;return}case 115:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xh>>2]=Dk?c[Hk>>2]|0:Hk;c[Xh+4>>2]=Ek;c[Xh+8>>2]=Ik;c[Xh+12>>2]=Mk;c[Xh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Xh>>2];c[Lk+4>>2]=c[Xh+4>>2];c[Lk+8>>2]=c[Xh+8>>2];c[Lk+12>>2]=c[Xh+12>>2];c[Lk+16>>2]=c[Xh+16>>2];Sx(b,Lk,44,374);aa=Nk;return}case 120:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 99:break;case 111:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Yh>>2]=Dk?c[Hk>>2]|0:Hk;c[Yh+4>>2]=Ek;c[Yh+8>>2]=Ik;c[Yh+12>>2]=Mk;c[Yh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Yh>>2];c[Lk+4>>2]=c[Yh+4>>2];c[Lk+8>>2]=c[Yh+8>>2];c[Lk+12>>2]=c[Yh+12>>2];c[Lk+16>>2]=c[Yh+16>>2];Sx(b,Lk,44,395);aa=Nk;return}default:{xk=277;break n}}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[pi>>2]=Dk?c[Hk>>2]|0:Hk;c[pi+4>>2]=Ek;c[pi+8>>2]=Ik;c[pi+12>>2]=Mk;c[pi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[pi>>2];c[Lk+4>>2]=c[pi+4>>2];c[Lk+8>>2]=c[pi+8>>2];c[Lk+12>>2]=c[pi+12>>2];c[Lk+16>>2]=c[pi+16>>2];Sx(b,Lk,44,402);aa=Nk;return}default:{xk=277;break n}}}switch(g<<24>>24){case 49:break;case 56:{g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 100:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[kj>>2]=Dk?c[Hk>>2]|0:Hk;c[kj+4>>2]=Ek;c[kj+8>>2]=Ik;c[kj+12>>2]=Mk;c[kj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[kj>>2];c[Lk+4>>2]=c[kj+4>>2];c[Lk+8>>2]=c[kj+8>>2];c[Lk+12>>2]=c[kj+12>>2];c[Lk+16>>2]=c[kj+16>>2];Sx(b,Lk,44,369);aa=Nk;return}case 110:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[lj>>2]=Dk?c[Hk>>2]|0:Hk;c[lj+4>>2]=Ek;c[lj+8>>2]=Ik;c[lj+12>>2]=Mk;c[lj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[lj>>2];c[Lk+4>>2]=c[lj+4>>2];c[Lk+8>>2]=c[lj+8>>2];c[Lk+12>>2]=c[lj+12>>2];c[Lk+16>>2]=c[lj+16>>2];Sx(b,Lk,44,383);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+24|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+25|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Vj>>2]=Dk?c[Hk>>2]|0:Hk;c[Vj+4>>2]=Ek;c[Vj+8>>2]=Ik;c[Vj+12>>2]=Mk;c[Vj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Vj>>2];c[Lk+4>>2]=c[Vj+4>>2];c[Lk+8>>2]=c[Vj+8>>2];c[Lk+12>>2]=c[Vj+12>>2];c[Lk+16>>2]=c[Vj+16>>2];Sx(b,Lk,45,411);aa=Nk;return}case 111:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Yi>>2]=Dk?c[Hk>>2]|0:Hk;c[Yi+4>>2]=Ek;c[Yi+8>>2]=Ik;c[Yi+12>>2]=Mk;c[Yi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Yi>>2];c[Lk+4>>2]=c[Yi+4>>2];c[Lk+8>>2]=c[Yi+8>>2];c[Lk+12>>2]=c[Yi+12>>2];c[Lk+16>>2]=c[Yi+16>>2];Sx(b,Lk,44,390);aa=Nk;return}case 115:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[mj>>2]=Dk?c[Hk>>2]|0:Hk;c[mj+4>>2]=Ek;c[mj+8>>2]=Ik;c[mj+12>>2]=Mk;c[mj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[mj>>2];c[Lk+4>>2]=c[mj+4>>2];c[Lk+8>>2]=c[mj+8>>2];c[Lk+12>>2]=c[mj+12>>2];c[Lk+16>>2]=c[mj+16>>2];Sx(b,Lk,44,376);aa=Nk;return}case 120:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 99:break;case 111:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[nj>>2]=Dk?c[Hk>>2]|0:Hk;c[nj+4>>2]=Ek;c[nj+8>>2]=Ik;c[nj+12>>2]=Mk;c[nj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[nj>>2];c[Lk+4>>2]=c[nj+4>>2];c[Lk+8>>2]=c[nj+8>>2];c[Lk+12>>2]=c[nj+12>>2];c[Lk+16>>2]=c[nj+16>>2];Sx(b,Lk,44,397);aa=Nk;return}default:{xk=277;break n}}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Dj>>2]=Dk?c[Hk>>2]|0:Hk;c[Dj+4>>2]=Ek;c[Dj+8>>2]=Ik;c[Dj+12>>2]=Mk;c[Dj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Dj>>2];c[Lk+4>>2]=c[Dj+4>>2];c[Lk+8>>2]=c[Dj+8>>2];c[Lk+12>>2]=c[Dj+12>>2];c[Lk+16>>2]=c[Dj+16>>2];Sx(b,Lk,44,404);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 100:{g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[zj>>2]=Dk?c[Hk>>2]|0:Hk;c[zj+4>>2]=Ek;c[zj+8>>2]=Ik;c[zj+12>>2]=Mk;c[zj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[zj>>2];c[Lk+4>>2]=c[zj+4>>2];c[Lk+8>>2]=c[zj+8>>2];c[Lk+12>>2]=c[zj+12>>2];c[Lk+16>>2]=c[zj+16>>2];Sx(b,Lk,44,370);aa=Nk;return}case 110:{g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Aj>>2]=Dk?c[Hk>>2]|0:Hk;c[Aj+4>>2]=Ek;c[Aj+8>>2]=Ik;c[Aj+12>>2]=Mk;c[Aj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Aj>>2];c[Lk+4>>2]=c[Aj+4>>2];c[Lk+8>>2]=c[Aj+8>>2];c[Lk+12>>2]=c[Aj+12>>2];c[Lk+16>>2]=c[Aj+16>>2];Sx(b,Lk,44,384);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+24|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+25|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+26|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xj>>2]=Dk?c[Hk>>2]|0:Hk;c[Xj+4>>2]=Ek;c[Xj+8>>2]=Ik;c[Xj+12>>2]=Mk;c[Xj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Xj>>2];c[Lk+4>>2]=c[Xj+4>>2];c[Lk+8>>2]=c[Xj+8>>2];c[Lk+12>>2]=c[Xj+12>>2];c[Lk+16>>2]=c[Xj+16>>2];Sx(b,Lk,45,412);aa=Nk;return}case 111:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[jj>>2]=Dk?c[Hk>>2]|0:Hk;c[jj+4>>2]=Ek;c[jj+8>>2]=Ik;c[jj+12>>2]=Mk;c[jj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[jj>>2];c[Lk+4>>2]=c[jj+4>>2];c[Lk+8>>2]=c[jj+8>>2];c[Lk+12>>2]=c[jj+12>>2];c[Lk+16>>2]=c[jj+16>>2];Sx(b,Lk,44,391);aa=Nk;return}case 115:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Bj>>2]=Dk?c[Hk>>2]|0:Hk;c[Bj+4>>2]=Ek;c[Bj+8>>2]=Ik;c[Bj+12>>2]=Mk;c[Bj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Bj>>2];c[Lk+4>>2]=c[Bj+4>>2];c[Lk+8>>2]=c[Bj+8>>2];c[Lk+12>>2]=c[Bj+12>>2];c[Lk+16>>2]=c[Bj+16>>2];Sx(b,Lk,44,377);aa=Nk;return}case 120:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 99:break;case 111:{g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Cj>>2]=Dk?c[Hk>>2]|0:Hk;c[Cj+4>>2]=Ek;c[Cj+8>>2]=Ik;c[Cj+12>>2]=Mk;c[Cj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Cj>>2];c[Lk+4>>2]=c[Cj+4>>2];c[Lk+8>>2]=c[Cj+8>>2];c[Lk+12>>2]=c[Cj+12>>2];c[Lk+16>>2]=c[Cj+16>>2];Sx(b,Lk,44,398);aa=Nk;return}default:{xk=277;break n}}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Oj>>2]=Dk?c[Hk>>2]|0:Hk;c[Oj+4>>2]=Ek;c[Oj+8>>2]=Ik;c[Oj+12>>2]=Mk;c[Oj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Oj>>2];c[Lk+4>>2]=c[Oj+4>>2];c[Lk+8>>2]=c[Oj+8>>2];c[Lk+12>>2]=c[Oj+12>>2];c[Lk+16>>2]=c[Oj+16>>2];Sx(b,Lk,44,405);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<111){if(g<<24>>24!=108){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=122){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[mc>>2]=Dk?c[Hk>>2]|0:Hk;c[mc+4>>2]=Ek;c[mc+8>>2]=Ik;c[mc+12>>2]=Mk;c[mc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[mc>>2];c[Lk+4>>2]=c[mc+4>>2];c[Lk+8>>2]=c[mc+8>>2];c[Lk+12>>2]=c[mc+12>>2];c[Lk+16>>2]=c[mc+16>>2];Sx(b,Lk,99,90);aa=Nk;return}switch(g<<24>>24){case 111:break;case 116:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=122){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[nc>>2]=Dk?c[Hk>>2]|0:Hk;c[nc+4>>2]=Ek;c[nc+8>>2]=Ik;c[nc+12>>2]=Mk;c[nc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[nc>>2];c[Lk+4>>2]=c[nc+4>>2];c[Lk+8>>2]=c[nc+8>>2];c[Lk+12>>2]=c[nc+12>>2];c[Lk+16>>2]=c[nc+16>>2];Sx(b,Lk,99,91);aa=Nk;return}default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ge>>2]=Dk?c[Hk>>2]|0:Hk;c[ge+4>>2]=Ek;c[ge+8>>2]=Ik;c[ge+12>>2]=Mk;c[ge+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ge>>2];c[Lk+4>>2]=c[ge+4>>2];c[Lk+8>>2]=c[ge+8>>2];c[Lk+12>>2]=c[ge+12>>2];c[Lk+16>>2]=c[ge+16>>2];Sx(b,Lk,59,52);aa=Nk;return}case 100:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[he>>2]=Dk?c[Hk>>2]|0:Hk;c[he+4>>2]=Ek;c[he+8>>2]=Ik;c[he+12>>2]=Mk;c[he+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[he>>2];c[Lk+4>>2]=c[he+4>>2];c[Lk+8>>2]=c[he+8>>2];c[Lk+12>>2]=c[he+12>>2];c[Lk+16>>2]=c[he+16>>2];Sx(b,Lk,49,96);aa=Nk;return}case 117:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ie>>2]=Dk?c[Hk>>2]|0:Hk;c[ie+4>>2]=Ek;c[ie+8>>2]=Ik;c[ie+12>>2]=Mk;c[ie+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ie>>2];c[Lk+4>>2]=c[ie+4>>2];c[Lk+8>>2]=c[ie+8>>2];c[Lk+12>>2]=c[ie+12>>2];c[Lk+16>>2]=c[ie+16>>2];Sx(b,Lk,49,97);aa=Nk;return}default:{xk=277;break n}}}case 101:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 113:{h=yk+6|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<122)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=122)if((g&255)<127){xk=272;break n}else break;g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[pd>>2]=Dk?c[Hk>>2]|0:Hk;c[pd+4>>2]=Ek;c[pd+8>>2]=Ik;c[pd+12>>2]=Mk;c[pd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[pd>>2];c[Lk+4>>2]=c[pd+4>>2];c[Lk+8>>2]=c[pd+8>>2];c[Lk+12>>2]=c[pd+12>>2];c[Lk+16>>2]=c[pd+16>>2];Sx(b,Lk,60,56);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Vb>>2]=Dk?c[Hk>>2]|0:Hk;c[Vb+4>>2]=Ek;c[Vb+8>>2]=Ik;c[Vb+12>>2]=Mk;c[Vb+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Vb>>2];c[Lk+4>>2]=c[Vb+4>>2];c[Lk+8>>2]=c[Vb+8>>2];c[Lk+12>>2]=c[Vb+12>>2];c[Lk+16>>2]=c[Vb+16>>2];Sx(b,Lk,58,57);aa=Nk;return}case 120:break;default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 49:break;case 56:{g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[tg>>2]=Dk?c[Hk>>2]|0:Hk;c[tg+4>>2]=Ek;c[tg+8>>2]=Ik;c[tg+12>>2]=Mk;c[tg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[tg>>2];c[Lk+4>>2]=c[tg+4>>2];c[Lk+8>>2]=c[tg+8>>2];c[Lk+12>>2]=c[tg+12>>2];c[Lk+16>>2]=c[tg+16>>2];Sx(b,Lk,99,179);aa=Nk;return}default:{xk=277;break n}}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Fg>>2]=Dk?c[Hk>>2]|0:Hk;c[Fg+4>>2]=Ek;c[Fg+8>>2]=Ik;c[Fg+12>>2]=Mk;c[Fg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Fg>>2];c[Lk+4>>2]=c[Fg+4>>2];c[Lk+8>>2]=c[Fg+8>>2];c[Lk+12>>2]=c[Fg+12>>2];c[Lk+16>>2]=c[Fg+16>>2];Sx(b,Lk,99,180);aa=Nk;return}case 103:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Kc>>2]=Dk?c[Hk>>2]|0:Hk;c[Kc+4>>2]=Ek;c[Kc+8>>2]=Ik;c[Kc+12>>2]=Mk;c[Kc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Kc>>2];c[Lk+4>>2]=c[Kc+4>>2];c[Lk+8>>2]=c[Kc+8>>2];c[Lk+12>>2]=c[Kc+12>>2];c[Lk+16>>2]=c[Kc+16>>2];Sx(b,Lk,58,65);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Lc>>2]=Dk?c[Hk>>2]|0:Hk;c[Lc+4>>2]=Ek;c[Lc+8>>2]=Ik;c[Lc+12>>2]=Mk;c[Lc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Lc>>2];c[Lk+4>>2]=c[Lc+4>>2];c[Lk+8>>2]=c[Lc+8>>2];c[Lk+12>>2]=c[Lc+12>>2];c[Lk+16>>2]=c[Lc+16>>2];Sx(b,Lk,58,66);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Mc>>2]=Dk?c[Hk>>2]|0:Hk;c[Mc+4>>2]=Ek;c[Mc+8>>2]=Ik;c[Mc+12>>2]=Mk;c[Mc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Mc>>2];c[Lk+4>>2]=c[Mc+4>>2];c[Lk+8>>2]=c[Mc+8>>2];c[Lk+12>>2]=c[Mc+12>>2];c[Lk+16>>2]=c[Mc+16>>2];Sx(b,Lk,58,61);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Nc>>2]=Dk?c[Hk>>2]|0:Hk;c[Nc+4>>2]=Ek;c[Nc+8>>2]=Ik;c[Nc+12>>2]=Mk;c[Nc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Nc>>2];c[Lk+4>>2]=c[Nc+4>>2];c[Lk+8>>2]=c[Nc+8>>2];c[Lk+12>>2]=c[Nc+12>>2];c[Lk+16>>2]=c[Nc+16>>2];Sx(b,Lk,58,62);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 108:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<111){if(g<<24>>24!=101){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Oc>>2]=Dk?c[Hk>>2]|0:Hk;c[Oc+4>>2]=Ek;c[Oc+8>>2]=Ik;c[Oc+12>>2]=Mk;c[Oc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Oc>>2];c[Lk+4>>2]=c[Oc+4>>2];c[Lk+8>>2]=c[Oc+8>>2];c[Lk+12>>2]=c[Oc+12>>2];c[Lk+16>>2]=c[Oc+16>>2];Sx(b,Lk,58,63);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Pc>>2]=Dk?c[Hk>>2]|0:Hk;c[Pc+4>>2]=Ek;c[Pc+8>>2]=Ik;c[Pc+12>>2]=Mk;c[Pc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Pc>>2];c[Lk+4>>2]=c[Pc+4>>2];c[Lk+8>>2]=c[Pc+8>>2];c[Lk+12>>2]=c[Pc+12>>2];c[Lk+16>>2]=c[Pc+16>>2];Sx(b,Lk,58,64);aa=Nk;return}default:{xk=277;break n}}}switch(g<<24>>24){case 111:break;case 116:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Qc>>2]=Dk?c[Hk>>2]|0:Hk;c[Qc+4>>2]=Ek;c[Qc+8>>2]=Ik;c[Qc+12>>2]=Mk;c[Qc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Qc>>2];c[Lk+4>>2]=c[Qc+4>>2];c[Lk+8>>2]=c[Qc+8>>2];c[Lk+12>>2]=c[Qc+12>>2];c[Lk+16>>2]=c[Qc+16>>2];Sx(b,Lk,58,59);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Rc>>2]=Dk?c[Hk>>2]|0:Hk;c[Rc+4>>2]=Ek;c[Rc+8>>2]=Ik;c[Rc+12>>2]=Mk;c[Rc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Rc>>2];c[Lk+4>>2]=c[Rc+4>>2];c[Lk+8>>2]=c[Rc+8>>2];c[Lk+12>>2]=c[Rc+12>>2];c[Lk+16>>2]=c[Rc+16>>2];Sx(b,Lk,58,60);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}h=yk+8|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<49)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=57)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if((g&255)<50){g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[mg>>2]=Dk?c[Hk>>2]|0:Hk;c[mg+4>>2]=Ek;c[mg+8>>2]=Ik;c[mg+12>>2]=Mk;c[mg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[mg>>2];c[Lk+4>>2]=c[mg+4>>2];c[Lk+8>>2]=c[mg+8>>2];c[Lk+12>>2]=c[mg+12>>2];c[Lk+16>>2]=c[mg+16>>2];Sx(b,Lk,67,33);aa=Nk;return}case 117:{g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ng>>2]=Dk?c[Hk>>2]|0:Hk;c[ng+4>>2]=Ek;c[ng+8>>2]=Ik;c[ng+12>>2]=Mk;c[ng+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ng>>2];c[Lk+4>>2]=c[ng+4>>2];c[Lk+8>>2]=c[ng+8>>2];c[Lk+12>>2]=c[ng+12>>2];c[Lk+16>>2]=c[ng+16>>2];Sx(b,Lk,67,34);aa=Nk;return}default:{xk=277;break n}}}else{if((g&255)<56){xk=272;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[$f>>2]=Dk?c[Hk>>2]|0:Hk;c[$f+4>>2]=Ek;c[$f+8>>2]=Ik;c[$f+12>>2]=Mk;c[$f+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[$f>>2];c[Lk+4>>2]=c[$f+4>>2];c[Lk+8>>2]=c[$f+8>>2];c[Lk+12>>2]=c[$f+12>>2];c[Lk+16>>2]=c[$f+16>>2];Sx(b,Lk,67,31);aa=Nk;return}case 117:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ag>>2]=Dk?c[Hk>>2]|0:Hk;c[ag+4>>2]=Ek;c[ag+8>>2]=Ik;c[ag+12>>2]=Mk;c[ag+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ag>>2];c[Lk+4>>2]=c[ag+4>>2];c[Lk+8>>2]=c[ag+8>>2];c[Lk+12>>2]=c[ag+12>>2];c[Lk+16>>2]=c[ag+16>>2];Sx(b,Lk,67,32);aa=Nk;return}default:{xk=277;break n}}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Cd>>2]=Dk?c[Hk>>2]|0:Hk;c[Cd+4>>2]=Ek;c[Cd+8>>2]=Ik;c[Cd+12>>2]=Mk;c[Cd+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Cd>>2];c[Lk+4>>2]=c[Cd+4>>2];c[Lk+8>>2]=c[Cd+8>>2];c[Lk+12>>2]=c[Cd+12>>2];c[Lk+16>>2]=c[Cd+16>>2];Sx(b,Lk,67,27);aa=Nk;return}case 109:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[oc>>2]=Dk?c[Hk>>2]|0:Hk;c[oc+4>>2]=Ek;c[oc+8>>2]=Ik;c[oc+12>>2]=Mk;c[oc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[oc>>2];c[Lk+4>>2]=c[oc+4>>2];c[Lk+8>>2]=c[oc+8>>2];c[Lk+12>>2]=c[oc+12>>2];c[Lk+16>>2]=c[oc+16>>2];Sx(b,Lk,49,95);aa=Nk;return}case 110:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Eb>>2]=Dk?c[Hk>>2]|0:Hk;c[Eb+4>>2]=Ek;c[Eb+8>>2]=Ik;c[Eb+12>>2]=Mk;c[Eb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Eb>>2];c[Lk+4>>2]=c[Eb+4>>2];c[Lk+8>>2]=c[Eb+8>>2];c[Lk+12>>2]=c[Eb+12>>2];c[Lk+16>>2]=c[Eb+16>>2];Sx(b,Lk,58,58);aa=Nk;return}case 111:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Fb>>2]=Dk?c[Hk>>2]|0:Hk;c[Fb+4>>2]=Ek;c[Fb+8>>2]=Ik;c[Fb+12>>2]=Mk;c[Fb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Fb>>2];c[Lk+4>>2]=c[Fb+4>>2];c[Lk+8>>2]=c[Fb+8>>2];c[Lk+12>>2]=c[Fb+12>>2];c[Lk+16>>2]=c[Fb+16>>2];Sx(b,Lk,49,101);aa=Nk;return}case 112:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[lf>>2]=Dk?c[Hk>>2]|0:Hk;c[lf+4>>2]=Ek;c[lf+8>>2]=Ik;c[lf+12>>2]=Mk;c[lf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[lf>>2];c[Lk+4>>2]=c[lf+4>>2];c[Lk+8>>2]=c[lf+8>>2];c[Lk+12>>2]=c[lf+12>>2];c[Lk+16>>2]=c[lf+16>>2];Sx(b,Lk,99,92);aa=Nk;return}case 114:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:break;case 111:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Sc>>2]=Dk?c[Hk>>2]|0:Hk;c[Sc+4>>2]=Ek;c[Sc+8>>2]=Ik;c[Sc+12>>2]=Mk;c[Sc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Sc>>2];c[Lk+4>>2]=c[Sc+4>>2];c[Lk+8>>2]=c[Sc+8>>2];c[Lk+12>>2]=c[Sc+12>>2];c[Lk+16>>2]=c[Sc+16>>2];Sx(b,Lk,49,106);aa=Nk;return}case 114:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Tc>>2]=Dk?c[Hk>>2]|0:Hk;c[Tc+4>>2]=Ek;c[Tc+8>>2]=Ik;c[Tc+12>>2]=Mk;c[Tc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Tc>>2];c[Lk+4>>2]=c[Tc+4>>2];c[Lk+8>>2]=c[Tc+8>>2];c[Lk+12>>2]=c[Tc+12>>2];c[Lk+16>>2]=c[Tc+16>>2];Sx(b,Lk,49,107);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 105:break;case 109:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[je>>2]=Dk?c[Hk>>2]|0:Hk;c[je+4>>2]=Ek;c[je+8>>2]=Ik;c[je+12>>2]=Mk;c[je+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[je>>2];c[Lk+4>>2]=c[je+4>>2];c[Lk+8>>2]=c[je+8>>2];c[Lk+12>>2]=c[je+12>>2];c[Lk+16>>2]=c[je+16>>2];Sx(b,Lk,49,98);aa=Nk;return}case 117:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ke>>2]=Dk?c[Hk>>2]|0:Hk;c[ke+4>>2]=Ek;c[ke+8>>2]=Ik;c[ke+12>>2]=Mk;c[ke+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ke>>2];c[Lk+4>>2]=c[ke+4>>2];c[Lk+8>>2]=c[ke+8>>2];c[Lk+12>>2]=c[ke+12>>2];c[Lk+16>>2]=c[ke+16>>2];Sx(b,Lk,49,99);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 47:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[qi>>2]=Dk?c[Hk>>2]|0:Hk;c[qi+4>>2]=Ek;c[qi+8>>2]=Ik;c[qi+12>>2]=Mk;c[qi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[qi>>2];c[Lk+4>>2]=c[qi+4>>2];c[Lk+8>>2]=c[qi+8>>2];c[Lk+12>>2]=c[qi+12>>2];c[Lk+16>>2]=c[qi+16>>2];Sx(b,Lk,60,175);aa=Nk;return}case 95:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ri>>2]=Dk?c[Hk>>2]|0:Hk;c[ri+4>>2]=Ek;c[ri+8>>2]=Ik;c[ri+12>>2]=Mk;c[ri+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ri>>2];c[Lk+4>>2]=c[ri+4>>2];c[Lk+8>>2]=c[ri+8>>2];c[Lk+12>>2]=c[ri+12>>2];c[Lk+16>>2]=c[ri+16>>2];Sx(b,Lk,60,175);aa=Nk;return}default:{xk=277;break n}}}case 115:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<116){if(g<<24>>24!=104){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:{g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[pc>>2]=Dk?c[Hk>>2]|0:Hk;c[pc+4>>2]=Ek;c[pc+8>>2]=Ik;c[pc+12>>2]=Mk;c[pc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[pc>>2];c[Lk+4>>2]=c[pc+4>>2];c[Lk+8>>2]=c[pc+8>>2];c[Lk+12>>2]=c[pc+12>>2];c[Lk+16>>2]=c[pc+16>>2];Sx(b,Lk,49,103);aa=Nk;return}case 114:break;default:{xk=277;break n}}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[le>>2]=Dk?c[Hk>>2]|0:Hk;c[le+4>>2]=Ek;c[le+8>>2]=Ik;c[le+12>>2]=Mk;c[le+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[le>>2];c[Lk+4>>2]=c[le+4>>2];c[Lk+8>>2]=c[le+8>>2];c[Lk+12>>2]=c[le+12>>2];c[Lk+16>>2]=c[le+16>>2];Sx(b,Lk,49,104);aa=Nk;return}case 117:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[me>>2]=Dk?c[Hk>>2]|0:Hk;c[me+4>>2]=Ek;c[me+8>>2]=Ik;c[me+12>>2]=Mk;c[me+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[me>>2];c[Lk+4>>2]=c[me+4>>2];c[Lk+8>>2]=c[me+8>>2];c[Lk+12>>2]=c[me+12>>2];c[Lk+16>>2]=c[me+16>>2];Sx(b,Lk,49,105);aa=Nk;return}default:{xk=277;break n}}}if(g<<24>>24!=116){if((g&255)>=118){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[qc>>2]=Dk?c[Hk>>2]|0:Hk;c[qc+4>>2]=Ek;c[qc+8>>2]=Ik;c[qc+12>>2]=Mk;c[qc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[qc>>2];c[Lk+4>>2]=c[qc+4>>2];c[Lk+8>>2]=c[qc+8>>2];c[Lk+12>>2]=c[qc+12>>2];c[Lk+16>>2]=c[qc+16>>2];Sx(b,Lk,49,94);aa=Nk;return}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+9|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<49)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=57)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if((g&255)<50){g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[bg>>2]=Dk?c[Hk>>2]|0:Hk;c[bg+4>>2]=Ek;c[bg+8>>2]=Ik;c[bg+12>>2]=Mk;c[bg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[bg>>2];c[Lk+4>>2]=c[bg+4>>2];c[Lk+8>>2]=c[bg+8>>2];c[Lk+12>>2]=c[bg+12>>2];c[Lk+16>>2]=c[bg+16>>2];Sx(b,Lk,94,46);aa=Nk;return}else{if((g&255)<56){xk=272;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Kf>>2]=Dk?c[Hk>>2]|0:Hk;c[Kf+4>>2]=Ek;c[Kf+8>>2]=Ik;c[Kf+12>>2]=Mk;c[Kf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Kf>>2];c[Lk+4>>2]=c[Kf+4>>2];c[Lk+8>>2]=c[Kf+8>>2];c[Lk+12>>2]=c[Kf+12>>2];c[Lk+16>>2]=c[Kf+16>>2];Sx(b,Lk,94,45);aa=Nk;return}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[cf>>2]=Dk?c[Hk>>2]|0:Hk;c[cf+4>>2]=Ek;c[cf+8>>2]=Ik;c[cf+12>>2]=Mk;c[cf+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[cf>>2];c[Lk+4>>2]=c[cf+4>>2];c[Lk+8>>2]=c[cf+8>>2];c[Lk+12>>2]=c[cf+12>>2];c[Lk+16>>2]=c[cf+16>>2];Sx(b,Lk,94,41);aa=Nk;return}case 116:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<115){if(g<<24>>24!=102){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Rg>>2]=Dk?c[Hk>>2]|0:Hk;c[Rg+4>>2]=Ek;c[Rg+8>>2]=Ik;c[Rg+12>>2]=Mk;c[Rg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Rg>>2];c[Lk+4>>2]=c[Rg+4>>2];c[Lk+8>>2]=c[Rg+8>>2];c[Lk+12>>2]=c[Rg+12>>2];c[Lk+16>>2]=c[Rg+16>>2];Sx(b,Lk,60,155);aa=Nk;return}case 117:{g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Sg>>2]=Dk?c[Hk>>2]|0:Hk;c[Sg+4>>2]=Ek;c[Sg+8>>2]=Ik;c[Sg+12>>2]=Mk;c[Sg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Sg>>2];c[Lk+4>>2]=c[Sg+4>>2];c[Lk+8>>2]=c[Sg+8>>2];c[Lk+12>>2]=c[Sg+12>>2];c[Lk+16>>2]=c[Sg+16>>2];Sx(b,Lk,60,156);aa=Nk;return}default:{xk=277;break n}}}case 54:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Tg>>2]=Dk?c[Hk>>2]|0:Hk;c[Tg+4>>2]=Ek;c[Tg+8>>2]=Ik;c[Tg+12>>2]=Mk;c[Tg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Tg>>2];c[Lk+4>>2]=c[Tg+4>>2];c[Lk+8>>2]=c[Tg+8>>2];c[Lk+12>>2]=c[Tg+12>>2];c[Lk+16>>2]=c[Tg+16>>2];Sx(b,Lk,60,157);aa=Nk;return}case 117:{g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ug>>2]=Dk?c[Hk>>2]|0:Hk;c[Ug+4>>2]=Ek;c[Ug+8>>2]=Ik;c[Ug+12>>2]=Mk;c[Ug+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ug>>2];c[Lk+4>>2]=c[Ug+4>>2];c[Lk+8>>2]=c[Ug+8>>2];c[Lk+12>>2]=c[Ug+12>>2];c[Lk+16>>2]=c[Ug+16>>2];Sx(b,Lk,60,158);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}switch(g<<24>>24){case 115:break;case 117:{g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 47:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xg>>2]=Dk?c[Hk>>2]|0:Hk;c[Xg+4>>2]=Ek;c[Xg+8>>2]=Ik;c[Xg+12>>2]=Mk;c[Xg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Xg>>2];c[Lk+4>>2]=c[Xg+4>>2];c[Lk+8>>2]=c[Xg+8>>2];c[Lk+12>>2]=c[Xg+12>>2];c[Lk+16>>2]=c[Xg+16>>2];Sx(b,Lk,60,156);aa=Nk;return}case 54:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Yg>>2]=Dk?c[Hk>>2]|0:Hk;c[Yg+4>>2]=Ek;c[Yg+8>>2]=Ik;c[Yg+12>>2]=Mk;c[Yg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Yg>>2];c[Lk+4>>2]=c[Yg+4>>2];c[Lk+8>>2]=c[Yg+8>>2];c[Lk+12>>2]=c[Yg+12>>2];c[Lk+16>>2]=c[Yg+16>>2];Sx(b,Lk,60,158);aa=Nk;return}default:{xk=277;break n}}}case 58:break;default:{xk=277;break n}}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[yi>>2]=Dk?c[Hk>>2]|0:Hk;c[yi+4>>2]=Ek;c[yi+8>>2]=Ik;c[yi+12>>2]=Mk;c[yi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[yi>>2];c[Lk+4>>2]=c[yi+4>>2];c[Lk+8>>2]=c[yi+8>>2];c[Lk+12>>2]=c[yi+12>>2];c[Lk+16>>2]=c[yi+16>>2];Sx(b,Lk,60,190);aa=Nk;return}case 54:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[zi>>2]=Dk?c[Hk>>2]|0:Hk;c[zi+4>>2]=Ek;c[zi+8>>2]=Ik;c[zi+12>>2]=Mk;c[zi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[zi>>2];c[Lk+4>>2]=c[zi+4>>2];c[Lk+8>>2]=c[zi+8>>2];c[Lk+12>>2]=c[zi+12>>2];c[Lk+16>>2]=c[zi+16>>2];Sx(b,Lk,60,192);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<58){if(g<<24>>24!=47){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Vg>>2]=Dk?c[Hk>>2]|0:Hk;c[Vg+4>>2]=Ek;c[Vg+8>>2]=Ik;c[Vg+12>>2]=Mk;c[Vg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Vg>>2];c[Lk+4>>2]=c[Vg+4>>2];c[Lk+8>>2]=c[Vg+8>>2];c[Lk+12>>2]=c[Vg+12>>2];c[Lk+16>>2]=c[Vg+16>>2];Sx(b,Lk,60,155);aa=Nk;return}case 54:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Wg>>2]=Dk?c[Hk>>2]|0:Hk;c[Wg+4>>2]=Ek;c[Wg+8>>2]=Ik;c[Wg+12>>2]=Mk;c[Wg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Wg>>2];c[Lk+4>>2]=c[Wg+4>>2];c[Lk+8>>2]=c[Wg+8>>2];c[Lk+12>>2]=c[Wg+12>>2];c[Lk+16>>2]=c[Wg+16>>2];Sx(b,Lk,60,157);aa=Nk;return}default:{xk=277;break n}}}switch(g<<24>>24){case 58:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[si>>2]=Dk?c[Hk>>2]|0:Hk;c[si+4>>2]=Ek;c[si+8>>2]=Ik;c[si+12>>2]=Mk;c[si+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[si>>2];c[Lk+4>>2]=c[si+4>>2];c[Lk+8>>2]=c[si+8>>2];c[Lk+12>>2]=c[si+12>>2];c[Lk+16>>2]=c[si+16>>2];Sx(b,Lk,60,189);aa=Nk;return}case 54:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ti>>2]=Dk?c[Hk>>2]|0:Hk;c[ti+4>>2]=Ek;c[ti+8>>2]=Ik;c[ti+12>>2]=Mk;c[ti+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ti>>2];c[Lk+4>>2]=c[ti+4>>2];c[Lk+8>>2]=c[ti+8>>2];c[Lk+12>>2]=c[ti+12>>2];c[Lk+16>>2]=c[ti+16>>2];Sx(b,Lk,60,191);aa=Nk;return}default:{xk=277;break n}}}case 97:break;default:{xk=277;break n}}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ui>>2]=Dk?c[Hk>>2]|0:Hk;c[ui+4>>2]=Ek;c[ui+8>>2]=Ik;c[ui+12>>2]=Mk;c[ui+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ui>>2];c[Lk+4>>2]=c[ui+4>>2];c[Lk+8>>2]=c[ui+8>>2];c[Lk+12>>2]=c[ui+12>>2];c[Lk+16>>2]=c[ui+16>>2];Sx(b,Lk,60,189);aa=Nk;return}case 117:{g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[vi>>2]=Dk?c[Hk>>2]|0:Hk;c[vi+4>>2]=Ek;c[vi+8>>2]=Ik;c[vi+12>>2]=Mk;c[vi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[vi>>2];c[Lk+4>>2]=c[vi+4>>2];c[Lk+8>>2]=c[vi+8>>2];c[Lk+12>>2]=c[vi+12>>2];c[Lk+16>>2]=c[vi+16>>2];Sx(b,Lk,60,190);aa=Nk;return}default:{xk=277;break n}}}case 54:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[wi>>2]=Dk?c[Hk>>2]|0:Hk;c[wi+4>>2]=Ek;c[wi+8>>2]=Ik;c[wi+12>>2]=Mk;c[wi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[wi>>2];c[Lk+4>>2]=c[wi+4>>2];c[Lk+8>>2]=c[wi+8>>2];c[Lk+12>>2]=c[wi+12>>2];c[Lk+16>>2]=c[wi+16>>2];Sx(b,Lk,60,191);aa=Nk;return}case 117:{g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[xi>>2]=Dk?c[Hk>>2]|0:Hk;c[xi+4>>2]=Ek;c[xi+8>>2]=Ik;c[xi+12>>2]=Mk;c[xi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[xi>>2];c[Lk+4>>2]=c[xi+4>>2];c[Lk+8>>2]=c[xi+8>>2];c[Lk+12>>2]=c[xi+12>>2];c[Lk+16>>2]=c[xi+16>>2];Sx(b,Lk,60,192);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 119:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 47:{g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[jg>>2]=Dk?c[Hk>>2]|0:Hk;c[jg+4>>2]=Ek;c[jg+8>>2]=Ik;c[jg+12>>2]=Mk;c[jg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[jg>>2];c[Lk+4>>2]=c[jg+4>>2];c[Lk+8>>2]=c[jg+8>>2];c[Lk+12>>2]=c[jg+12>>2];c[Lk+16>>2]=c[jg+16>>2];Sx(b,Lk,60,154);aa=Nk;return}case 95:{g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[kg>>2]=Dk?c[Hk>>2]|0:Hk;c[kg+4>>2]=Ek;c[kg+8>>2]=Ik;c[kg+12>>2]=Mk;c[kg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[kg>>2];c[Lk+4>>2]=c[kg+4>>2];c[Lk+8>>2]=c[kg+8>>2];c[Lk+12>>2]=c[kg+12>>2];c[Lk+16>>2]=c[kg+16>>2];Sx(b,Lk,60,154);aa=Nk;return}default:{xk=277;break n}}}case 120:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[rc>>2]=Dk?c[Hk>>2]|0:Hk;c[rc+4>>2]=Ek;c[rc+8>>2]=Ik;c[rc+12>>2]=Mk;c[rc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[rc>>2];c[Lk+4>>2]=c[rc+4>>2];c[Lk+8>>2]=c[rc+8>>2];c[Lk+12>>2]=c[rc+12>>2];c[Lk+16>>2]=c[rc+16>>2];Sx(b,Lk,49,102);aa=Nk;return}default:{xk=277;break n}}while(0)}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Oa>>2]=Dk?c[Hk>>2]|0:Hk;c[Oa+4>>2]=Ek;c[Oa+8>>2]=Ik;c[Oa+12>>2]=Mk;c[Oa+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Oa>>2];c[Lk+4>>2]=c[Oa+4>>2];c[Lk+8>>2]=c[Oa+8>>2];c[Lk+12>>2]=c[Oa+12>>2];c[Lk+16>>2]=c[Oa+16>>2];Qx(b,Lk,106,-1);aa=Nk;return}case 54:break;default:{xk=277;break n}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==52){h=yk+3|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<46)if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;else if((g&-2)<<24>>24==40)break;else{xk=272;break n}else{if((g&255)>=60){if(g<<24>>24!=120)if((g&255)<127){xk=272;break n}else break;g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<108){if(g<<24>>24!=100){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ye>>2]=Dk?c[Hk>>2]|0:Hk;c[ye+4>>2]=Ek;c[ye+8>>2]=Ik;c[ye+12>>2]=Mk;c[ye+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ye>>2];c[Lk+4>>2]=c[ye+4>>2];c[Lk+8>>2]=c[ye+8>>2];c[Lk+12>>2]=c[ye+12>>2];c[Lk+16>>2]=c[ye+16>>2];Sx(b,Lk,49,322);aa=Nk;return}switch(g<<24>>24){case 108:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Kg>>2]=Dk?c[Hk>>2]|0:Hk;c[Kg+4>>2]=Ek;c[Kg+8>>2]=Ik;c[Kg+12>>2]=Mk;c[Kg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Kg>>2];c[Lk+4>>2]=c[Kg+4>>2];c[Lk+8>>2]=c[Kg+8>>2];c[Lk+12>>2]=c[Kg+12>>2];c[Lk+16>>2]=c[Kg+16>>2];Sx(b,Lk,99,318);aa=Nk;return}case 110:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Lg>>2]=Dk?c[Hk>>2]|0:Hk;c[Lg+4>>2]=Ek;c[Lg+8>>2]=Ik;c[Lg+12>>2]=Mk;c[Lg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Lg>>2];c[Lk+4>>2]=c[Lg+4>>2];c[Lk+8>>2]=c[Lg+8>>2];c[Lk+12>>2]=c[Lg+12>>2];c[Lk+16>>2]=c[Lg+16>>2];Sx(b,Lk,99,317);aa=Nk;return}default:{xk=277;break n}}}case 101:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[di>>2]=Dk?c[Hk>>2]|0:Hk;c[di+4>>2]=Ek;c[di+8>>2]=Ik;c[di+12>>2]=Mk;c[di+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[di>>2];c[Lk+4>>2]=c[di+4>>2];c[Lk+8>>2]=c[di+8>>2];c[Lk+12>>2]=c[di+12>>2];c[Lk+16>>2]=c[di+16>>2];Sx(b,Lk,92,226);aa=Nk;return}case 110:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ze>>2]=Dk?c[Hk>>2]|0:Hk;c[ze+4>>2]=Ek;c[ze+8>>2]=Ik;c[ze+12>>2]=Mk;c[ze+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ze>>2];c[Lk+4>>2]=c[ze+4>>2];c[Lk+8>>2]=c[ze+8>>2];c[Lk+12>>2]=c[ze+12>>2];c[Lk+16>>2]=c[ze+16>>2];Sx(b,Lk,99,316);aa=Nk;return}case 114:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ei>>2]=Dk?c[Hk>>2]|0:Hk;c[ei+4>>2]=Ek;c[ei+8>>2]=Ik;c[ei+12>>2]=Mk;c[ei+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ei>>2];c[Lk+4>>2]=c[ei+4>>2];c[Lk+8>>2]=c[ei+8>>2];c[Lk+12>>2]=c[ei+12>>2];c[Lk+16>>2]=c[ei+16>>2];Sx(b,Lk,92,227);aa=Nk;return}case 115:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=112){switch(g<<24>>24){case 112:break;case 117:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Be>>2]=Dk?c[Hk>>2]|0:Hk;c[Be+4>>2]=Ek;c[Be+8>>2]=Ik;c[Be+12>>2]=Mk;c[Be+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Be>>2];c[Lk+4>>2]=c[Be+4>>2];c[Lk+8>>2]=c[Be+8>>2];c[Lk+12>>2]=c[Be+12>>2];c[Lk+16>>2]=c[Be+16>>2];Sx(b,Lk,49,323);aa=Nk;return}default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Tf>>2]=Dk?c[Hk>>2]|0:Hk;c[Tf+4>>2]=Ek;c[Tf+8>>2]=Ik;c[Tf+12>>2]=Mk;c[Tf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Tf>>2];c[Lk+4>>2]=c[Tf+4>>2];c[Lk+8>>2]=c[Tf+8>>2];c[Lk+12>>2]=c[Tf+12>>2];c[Lk+16>>2]=c[Tf+16>>2];Sx(b,Lk,99,225);aa=Nk;return}if(g<<24>>24!=104){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ae>>2]=Dk?c[Hk>>2]|0:Hk;c[Ae+4>>2]=Ek;c[Ae+8>>2]=Ik;c[Ae+12>>2]=Mk;c[Ae+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ae>>2];c[Lk+4>>2]=c[Ae+4>>2];c[Lk+8>>2]=c[Ae+8>>2];c[Lk+12>>2]=c[Ae+12>>2];c[Lk+16>>2]=c[Ae+16>>2];Sx(b,Lk,49,319);aa=Nk;return}case 114:break;default:{xk=277;break n}}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Rf>>2]=Dk?c[Hk>>2]|0:Hk;c[Rf+4>>2]=Ek;c[Rf+8>>2]=Ik;c[Rf+12>>2]=Mk;c[Rf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Rf>>2];c[Lk+4>>2]=c[Rf+4>>2];c[Lk+8>>2]=c[Rf+8>>2];c[Lk+12>>2]=c[Rf+12>>2];c[Lk+16>>2]=c[Rf+16>>2];Sx(b,Lk,49,320);aa=Nk;return}case 117:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Sf>>2]=Dk?c[Hk>>2]|0:Hk;c[Sf+4>>2]=Ek;c[Sf+8>>2]=Ik;c[Sf+12>>2]=Mk;c[Sf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Sf>>2];c[Lk+4>>2]=c[Sf+4>>2];c[Lk+8>>2]=c[Sf+8>>2];c[Lk+12>>2]=c[Sf+12>>2];c[Lk+16>>2]=c[Sf+16>>2];Sx(b,Lk,49,321);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+23|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Tj>>2]=Dk?c[Hk>>2]|0:Hk;c[Tj+4>>2]=Ek;c[Tj+8>>2]=Ik;c[Tj+12>>2]=Mk;c[Tj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Tj>>2];c[Lk+4>>2]=c[Tj+4>>2];c[Lk+8>>2]=c[Tj+8>>2];c[Lk+12>>2]=c[Tj+12>>2];c[Lk+16>>2]=c[Tj+16>>2];Sx(b,Lk,99,344);aa=Nk;return}case 117:{g=yk+23|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Uj>>2]=Dk?c[Hk>>2]|0:Hk;c[Uj+4>>2]=Ek;c[Uj+8>>2]=Ik;c[Uj+12>>2]=Mk;c[Uj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Uj>>2];c[Lk+4>>2]=c[Uj+4>>2];c[Lk+8>>2]=c[Uj+8>>2];c[Lk+12>>2]=c[Uj+12>>2];c[Lk+16>>2]=c[Uj+16>>2];Sx(b,Lk,99,345);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}if((g&255)>=47)if((g&255)<59){xk=272;break n}else break;g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;do switch(g<<24>>24){case 97:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<110){if(g<<24>>24!=100){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[sc>>2]=Dk?c[Hk>>2]|0:Hk;c[sc+4>>2]=Ek;c[sc+8>>2]=Ik;c[sc+12>>2]=Mk;c[sc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[sc>>2];c[Lk+4>>2]=c[sc+4>>2];c[Lk+8>>2]=c[sc+8>>2];c[Lk+12>>2]=c[sc+12>>2];c[Lk+16>>2]=c[sc+16>>2];Sx(b,Lk,49,111);aa=Nk;return}switch(g<<24>>24){case 110:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[tc>>2]=Dk?c[Hk>>2]|0:Hk;c[tc+4>>2]=Ek;c[tc+8>>2]=Ik;c[tc+12>>2]=Mk;c[tc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[tc>>2];c[Lk+4>>2]=c[tc+4>>2];c[Lk+8>>2]=c[tc+8>>2];c[Lk+12>>2]=c[tc+12>>2];c[Lk+16>>2]=c[tc+16>>2];Sx(b,Lk,49,118);aa=Nk;return}case 116:break;default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)>=115){switch(g<<24>>24){case 115:break;case 119:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Zg>>2]=Dk?c[Hk>>2]|0:Hk;c[Zg+4>>2]=Ek;c[Zg+8>>2]=Ik;c[Zg+12>>2]=Mk;c[Zg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Zg>>2];c[Lk+4>>2]=c[Zg+4>>2];c[Lk+8>>2]=c[Zg+8>>2];c[Lk+12>>2]=c[Zg+12>>2];c[Lk+16>>2]=c[Zg+16>>2];Sx(b,Lk,47,352);aa=Nk;return}default:{xk=277;break n}}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+16|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)>=50){if((g&255)>=57)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24==51){g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ki>>2]=Dk?c[Hk>>2]|0:Hk;c[ki+4>>2]=Ek;c[ki+8>>2]=Ik;c[ki+12>>2]=Mk;c[ki+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ki>>2];c[Lk+4>>2]=c[ki+4>>2];c[Lk+8>>2]=c[ki+8>>2];c[Lk+12>>2]=c[ki+12>>2];c[Lk+16>>2]=c[ki+16>>2];Sx(b,Lk,46,366);aa=Nk;return}else{if((g&255)<56){xk=272;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Qh>>2]=Dk?c[Hk>>2]|0:Hk;c[Qh+4>>2]=Ek;c[Qh+8>>2]=Ik;c[Qh+12>>2]=Mk;c[Qh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Qh>>2];c[Lk+4>>2]=c[Qh+4>>2];c[Lk+8>>2]=c[Qh+8>>2];c[Lk+12>>2]=c[Qh+12>>2];c[Lk+16>>2]=c[Qh+16>>2];Sx(b,Lk,46,364);aa=Nk;return}}else{if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;if((g&255)<40){xk=272;break n}if((g&255)<42)break;if((g&255)<49){xk=272;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ji>>2]=Dk?c[Hk>>2]|0:Hk;c[ji+4>>2]=Ek;c[ji+8>>2]=Ik;c[ji+12>>2]=Mk;c[ji+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ji>>2];c[Lk+4>>2]=c[ji+4>>2];c[Lk+8>>2]=c[ji+8>>2];c[Lk+12>>2]=c[ji+12>>2];c[Lk+16>>2]=c[ji+16>>2];Sx(b,Lk,46,365);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[th>>2]=Dk?c[Hk>>2]|0:Hk;c[th+4>>2]=Ek;c[th+8>>2]=Ik;c[th+12>>2]=Mk;c[th+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[th>>2];c[Lk+4>>2]=c[th+4>>2];c[Lk+8>>2]=c[th+8>>2];c[Lk+12>>2]=c[th+12>>2];c[Lk+16>>2]=c[th+16>>2];Sx(b,Lk,46,361);aa=Nk;return}if(g<<24>>24==108){g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}h=yk+15|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)>=50){if((g&255)>=57)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24==51){g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ti>>2]=Dk?c[Hk>>2]|0:Hk;c[Ti+4>>2]=Ek;c[Ti+8>>2]=Ik;c[Ti+12>>2]=Mk;c[Ti+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ti>>2];c[Lk+4>>2]=c[Ti+4>>2];c[Lk+8>>2]=c[Ti+8>>2];c[Lk+12>>2]=c[Ti+12>>2];c[Lk+16>>2]=c[Ti+16>>2];Sx(b,Lk,43,359);aa=Nk;return}else{if((g&255)<56){xk=272;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ii>>2]=Dk?c[Hk>>2]|0:Hk;c[ii+4>>2]=Ek;c[ii+8>>2]=Ik;c[ii+12>>2]=Mk;c[ii+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ii>>2];c[Lk+4>>2]=c[ii+4>>2];c[Lk+8>>2]=c[ii+8>>2];c[Lk+12>>2]=c[ii+12>>2];c[Lk+16>>2]=c[ii+16>>2];Sx(b,Lk,43,357);aa=Nk;return}}else{if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;if((g&255)<40){xk=272;break n}if((g&255)<42)break;if((g&255)<49){xk=272;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Si>>2]=Dk?c[Hk>>2]|0:Hk;c[Si+4>>2]=Ek;c[Si+8>>2]=Ik;c[Si+12>>2]=Mk;c[Si+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Si>>2];c[Lk+4>>2]=c[Si+4>>2];c[Lk+8>>2]=c[Si+8>>2];c[Lk+12>>2]=c[Si+12>>2];c[Lk+16>>2]=c[Si+16>>2];Sx(b,Lk,43,358);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[kh>>2]=Dk?c[Hk>>2]|0:Hk;c[kh+4>>2]=Ek;c[kh+8>>2]=Ik;c[kh+12>>2]=Mk;c[kh+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[kh>>2];c[Lk+4>>2]=c[kh+4>>2];c[Lk+8>>2]=c[kh+8>>2];c[Lk+12>>2]=c[kh+12>>2];c[Lk+16>>2]=c[kh+16>>2];Sx(b,Lk,43,354);aa=Nk;return}if((g&255)<114){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=119){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 46:{g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 100:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[$h>>2]=Dk?c[Hk>>2]|0:Hk;c[$h+4>>2]=Ek;c[$h+8>>2]=Ik;c[$h+12>>2]=Mk;c[$h+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[$h>>2];c[Lk+4>>2]=c[$h+4>>2];c[Lk+8>>2]=c[$h+8>>2];c[Lk+12>>2]=c[$h+12>>2];c[Lk+16>>2]=c[$h+16>>2];Sx(b,Lk,44,368);aa=Nk;return}case 110:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ai>>2]=Dk?c[Hk>>2]|0:Hk;c[ai+4>>2]=Ek;c[ai+8>>2]=Ik;c[ai+12>>2]=Mk;c[ai+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ai>>2];c[Lk+4>>2]=c[ai+4>>2];c[Lk+8>>2]=c[ai+8>>2];c[Lk+12>>2]=c[ai+12>>2];c[Lk+16>>2]=c[ai+16>>2];Sx(b,Lk,44,382);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ej>>2]=Dk?c[Hk>>2]|0:Hk;c[Ej+4>>2]=Ek;c[Ej+8>>2]=Ik;c[Ej+12>>2]=Mk;c[Ej+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ej>>2];c[Lk+4>>2]=c[Ej+4>>2];c[Lk+8>>2]=c[Ej+8>>2];c[Lk+12>>2]=c[Ej+12>>2];c[Lk+16>>2]=c[Ej+16>>2];Sx(b,Lk,45,410);aa=Nk;return}case 111:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Lh>>2]=Dk?c[Hk>>2]|0:Hk;c[Lh+4>>2]=Ek;c[Lh+8>>2]=Ik;c[Lh+12>>2]=Mk;c[Lh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Lh>>2];c[Lk+4>>2]=c[Lh+4>>2];c[Lk+8>>2]=c[Lh+8>>2];c[Lk+12>>2]=c[Lh+12>>2];c[Lk+16>>2]=c[Lh+16>>2];Sx(b,Lk,44,389);aa=Nk;return}case 115:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[bi>>2]=Dk?c[Hk>>2]|0:Hk;c[bi+4>>2]=Ek;c[bi+8>>2]=Ik;c[bi+12>>2]=Mk;c[bi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[bi>>2];c[Lk+4>>2]=c[bi+4>>2];c[Lk+8>>2]=c[bi+8>>2];c[Lk+12>>2]=c[bi+12>>2];c[Lk+16>>2]=c[bi+16>>2];Sx(b,Lk,44,375);aa=Nk;return}case 120:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 99:break;case 111:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ci>>2]=Dk?c[Hk>>2]|0:Hk;c[ci+4>>2]=Ek;c[ci+8>>2]=Ik;c[ci+12>>2]=Mk;c[ci+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ci>>2];c[Lk+4>>2]=c[ci+4>>2];c[Lk+8>>2]=c[ci+8>>2];c[Lk+12>>2]=c[ci+12>>2];c[Lk+16>>2]=c[ci+16>>2];Sx(b,Lk,44,396);aa=Nk;return}default:{xk=277;break n}}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ai>>2]=Dk?c[Hk>>2]|0:Hk;c[Ai+4>>2]=Ek;c[Ai+8>>2]=Ik;c[Ai+12>>2]=Mk;c[Ai+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ai>>2];c[Lk+4>>2]=c[Ai+4>>2];c[Lk+8>>2]=c[Ai+8>>2];c[Lk+12>>2]=c[Ai+12>>2];c[Lk+16>>2]=c[Ai+16>>2];Sx(b,Lk,44,403);aa=Nk;return}default:{xk=277;break n}}}case 49:{g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 100:{g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Fj>>2]=Dk?c[Hk>>2]|0:Hk;c[Fj+4>>2]=Ek;c[Fj+8>>2]=Ik;c[Fj+12>>2]=Mk;c[Fj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Fj>>2];c[Lk+4>>2]=c[Fj+4>>2];c[Lk+8>>2]=c[Fj+8>>2];c[Lk+12>>2]=c[Fj+12>>2];c[Lk+16>>2]=c[Fj+16>>2];Sx(b,Lk,44,372);aa=Nk;return}case 110:{g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Gj>>2]=Dk?c[Hk>>2]|0:Hk;c[Gj+4>>2]=Ek;c[Gj+8>>2]=Ik;c[Gj+12>>2]=Mk;c[Gj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Gj>>2];c[Lk+4>>2]=c[Gj+4>>2];c[Lk+8>>2]=c[Gj+8>>2];c[Lk+12>>2]=c[Gj+12>>2];c[Lk+16>>2]=c[Gj+16>>2];Sx(b,Lk,44,386);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+24|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+25|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+26|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Yj>>2]=Dk?c[Hk>>2]|0:Hk;c[Yj+4>>2]=Ek;c[Yj+8>>2]=Ik;c[Yj+12>>2]=Mk;c[Yj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Yj>>2];c[Lk+4>>2]=c[Yj+4>>2];c[Lk+8>>2]=c[Yj+8>>2];c[Lk+12>>2]=c[Yj+12>>2];c[Lk+16>>2]=c[Yj+16>>2];Sx(b,Lk,45,414);aa=Nk;return}case 111:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[oj>>2]=Dk?c[Hk>>2]|0:Hk;c[oj+4>>2]=Ek;c[oj+8>>2]=Ik;c[oj+12>>2]=Mk;c[oj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[oj>>2];c[Lk+4>>2]=c[oj+4>>2];c[Lk+8>>2]=c[oj+8>>2];c[Lk+12>>2]=c[oj+12>>2];c[Lk+16>>2]=c[oj+16>>2];Sx(b,Lk,44,393);aa=Nk;return}case 115:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Hj>>2]=Dk?c[Hk>>2]|0:Hk;c[Hj+4>>2]=Ek;c[Hj+8>>2]=Ik;c[Hj+12>>2]=Mk;c[Hj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Hj>>2];c[Lk+4>>2]=c[Hj+4>>2];c[Lk+8>>2]=c[Hj+8>>2];c[Lk+12>>2]=c[Hj+12>>2];c[Lk+16>>2]=c[Hj+16>>2];Sx(b,Lk,44,379);aa=Nk;return}case 120:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 99:break;case 111:{g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ij>>2]=Dk?c[Hk>>2]|0:Hk;c[Ij+4>>2]=Ek;c[Ij+8>>2]=Ik;c[Ij+12>>2]=Mk;c[Ij+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ij>>2];c[Lk+4>>2]=c[Ij+4>>2];c[Lk+8>>2]=c[Ij+8>>2];c[Lk+12>>2]=c[Ij+12>>2];c[Lk+16>>2]=c[Ij+16>>2];Sx(b,Lk,44,400);aa=Nk;return}default:{xk=277;break n}}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Rj>>2]=Dk?c[Hk>>2]|0:Hk;c[Rj+4>>2]=Ek;c[Rj+8>>2]=Ik;c[Rj+12>>2]=Mk;c[Rj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Rj>>2];c[Lk+4>>2]=c[Rj+4>>2];c[Lk+8>>2]=c[Rj+8>>2];c[Lk+12>>2]=c[Rj+12>>2];c[Lk+16>>2]=c[Rj+16>>2];Sx(b,Lk,44,407);aa=Nk;return}default:{xk=277;break n}}}case 51:{g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 100:{g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Jj>>2]=Dk?c[Hk>>2]|0:Hk;c[Jj+4>>2]=Ek;c[Jj+8>>2]=Ik;c[Jj+12>>2]=Mk;c[Jj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Jj>>2];c[Lk+4>>2]=c[Jj+4>>2];c[Lk+8>>2]=c[Jj+8>>2];c[Lk+12>>2]=c[Jj+12>>2];c[Lk+16>>2]=c[Jj+16>>2];Sx(b,Lk,44,373);aa=Nk;return}case 110:{g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Kj>>2]=Dk?c[Hk>>2]|0:Hk;c[Kj+4>>2]=Ek;c[Kj+8>>2]=Ik;c[Kj+12>>2]=Mk;c[Kj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Kj>>2];c[Lk+4>>2]=c[Kj+4>>2];c[Lk+8>>2]=c[Kj+8>>2];c[Lk+12>>2]=c[Kj+12>>2];c[Lk+16>>2]=c[Kj+16>>2];Sx(b,Lk,44,387);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+24|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+25|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+26|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Zj>>2]=Dk?c[Hk>>2]|0:Hk;c[Zj+4>>2]=Ek;c[Zj+8>>2]=Ik;c[Zj+12>>2]=Mk;c[Zj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Zj>>2];c[Lk+4>>2]=c[Zj+4>>2];c[Lk+8>>2]=c[Zj+8>>2];c[Lk+12>>2]=c[Zj+12>>2];c[Lk+16>>2]=c[Zj+16>>2];Sx(b,Lk,45,415);aa=Nk;return}case 111:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[pj>>2]=Dk?c[Hk>>2]|0:Hk;c[pj+4>>2]=Ek;c[pj+8>>2]=Ik;c[pj+12>>2]=Mk;c[pj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[pj>>2];c[Lk+4>>2]=c[pj+4>>2];c[Lk+8>>2]=c[pj+8>>2];c[Lk+12>>2]=c[pj+12>>2];c[Lk+16>>2]=c[pj+16>>2];Sx(b,Lk,44,394);aa=Nk;return}case 115:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Lj>>2]=Dk?c[Hk>>2]|0:Hk;c[Lj+4>>2]=Ek;c[Lj+8>>2]=Ik;c[Lj+12>>2]=Mk;c[Lj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Lj>>2];c[Lk+4>>2]=c[Lj+4>>2];c[Lk+8>>2]=c[Lj+8>>2];c[Lk+12>>2]=c[Lj+12>>2];c[Lk+16>>2]=c[Lj+16>>2];Sx(b,Lk,44,380);aa=Nk;return}case 120:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 99:break;case 111:{g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Mj>>2]=Dk?c[Hk>>2]|0:Hk;c[Mj+4>>2]=Ek;c[Mj+8>>2]=Ik;c[Mj+12>>2]=Mk;c[Mj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Mj>>2];c[Lk+4>>2]=c[Mj+4>>2];c[Lk+8>>2]=c[Mj+8>>2];c[Lk+12>>2]=c[Mj+12>>2];c[Lk+16>>2]=c[Mj+16>>2];Sx(b,Lk,44,401);aa=Nk;return}default:{xk=277;break n}}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Sj>>2]=Dk?c[Hk>>2]|0:Hk;c[Sj+4>>2]=Ek;c[Sj+8>>2]=Ik;c[Sj+12>>2]=Mk;c[Sj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Sj>>2];c[Lk+4>>2]=c[Sj+4>>2];c[Lk+8>>2]=c[Sj+8>>2];c[Lk+12>>2]=c[Sj+12>>2];c[Lk+16>>2]=c[Sj+16>>2];Sx(b,Lk,44,408);aa=Nk;return}default:{xk=277;break n}}}case 56:{g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 100:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[qj>>2]=Dk?c[Hk>>2]|0:Hk;c[qj+4>>2]=Ek;c[qj+8>>2]=Ik;c[qj+12>>2]=Mk;c[qj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[qj>>2];c[Lk+4>>2]=c[qj+4>>2];c[Lk+8>>2]=c[qj+8>>2];c[Lk+12>>2]=c[qj+12>>2];c[Lk+16>>2]=c[qj+16>>2];Sx(b,Lk,44,371);aa=Nk;return}case 110:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[rj>>2]=Dk?c[Hk>>2]|0:Hk;c[rj+4>>2]=Ek;c[rj+8>>2]=Ik;c[rj+12>>2]=Mk;c[rj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[rj>>2];c[Lk+4>>2]=c[rj+4>>2];c[Lk+8>>2]=c[rj+8>>2];c[Lk+12>>2]=c[rj+12>>2];c[Lk+16>>2]=c[rj+16>>2];Sx(b,Lk,44,385);aa=Nk;return}default:{xk=277;break n}}}case 99:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=109){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+23|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+24|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+25|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Wj>>2]=Dk?c[Hk>>2]|0:Hk;c[Wj+4>>2]=Ek;c[Wj+8>>2]=Ik;c[Wj+12>>2]=Mk;c[Wj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Wj>>2];c[Lk+4>>2]=c[Wj+4>>2];c[Lk+8>>2]=c[Wj+8>>2];c[Lk+12>>2]=c[Wj+12>>2];c[Lk+16>>2]=c[Wj+16>>2];Sx(b,Lk,45,413);aa=Nk;return}case 111:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Zi>>2]=Dk?c[Hk>>2]|0:Hk;c[Zi+4>>2]=Ek;c[Zi+8>>2]=Ik;c[Zi+12>>2]=Mk;c[Zi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Zi>>2];c[Lk+4>>2]=c[Zi+4>>2];c[Lk+8>>2]=c[Zi+8>>2];c[Lk+12>>2]=c[Zi+12>>2];c[Lk+16>>2]=c[Zi+16>>2];Sx(b,Lk,44,392);aa=Nk;return}case 115:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[sj>>2]=Dk?c[Hk>>2]|0:Hk;c[sj+4>>2]=Ek;c[sj+8>>2]=Ik;c[sj+12>>2]=Mk;c[sj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[sj>>2];c[Lk+4>>2]=c[sj+4>>2];c[Lk+8>>2]=c[sj+8>>2];c[Lk+12>>2]=c[sj+12>>2];c[Lk+16>>2]=c[sj+16>>2];Sx(b,Lk,44,378);aa=Nk;return}case 120:{g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 99:break;case 111:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[tj>>2]=Dk?c[Hk>>2]|0:Hk;c[tj+4>>2]=Ek;c[tj+8>>2]=Ik;c[tj+12>>2]=Mk;c[tj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[tj>>2];c[Lk+4>>2]=c[tj+4>>2];c[Lk+8>>2]=c[tj+8>>2];c[Lk+12>>2]=c[tj+12>>2];c[Lk+16>>2]=c[tj+16>>2];Sx(b,Lk,44,399);aa=Nk;return}default:{xk=277;break n}}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=103){xk=277;break n}g=yk+20|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+21|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+22|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Nj>>2]=Dk?c[Hk>>2]|0:Hk;c[Nj+4>>2]=Ek;c[Nj+8>>2]=Ik;c[Nj+12>>2]=Mk;c[Nj+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Nj>>2];c[Lk+4>>2]=c[Nj+4>>2];c[Lk+8>>2]=c[Nj+8>>2];c[Lk+12>>2]=c[Nj+12>>2];c[Lk+16>>2]=c[Nj+16>>2];Sx(b,Lk,44,406);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 99:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<111){if(g<<24>>24!=108){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=122){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[uc>>2]=Dk?c[Hk>>2]|0:Hk;c[uc+4>>2]=Ek;c[uc+8>>2]=Ik;c[uc+12>>2]=Mk;c[uc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[uc>>2];c[Lk+4>>2]=c[uc+4>>2];c[Lk+8>>2]=c[uc+8>>2];c[Lk+12>>2]=c[uc+12>>2];c[Lk+16>>2]=c[uc+16>>2];Sx(b,Lk,99,108);aa=Nk;return}switch(g<<24>>24){case 111:break;case 116:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=122){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[vc>>2]=Dk?c[Hk>>2]|0:Hk;c[vc+4>>2]=Ek;c[vc+8>>2]=Ik;c[vc+12>>2]=Mk;c[vc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[vc>>2];c[Lk+4>>2]=c[vc+4>>2];c[Lk+8>>2]=c[vc+8>>2];c[Lk+12>>2]=c[vc+12>>2];c[Lk+16>>2]=c[vc+16>>2];Sx(b,Lk,99,109);aa=Nk;return}default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[re>>2]=Dk?c[Hk>>2]|0:Hk;c[re+4>>2]=Ek;c[re+8>>2]=Ik;c[re+12>>2]=Mk;c[re+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[re>>2];c[Lk+4>>2]=c[re+4>>2];c[Lk+8>>2]=c[re+8>>2];c[Lk+12>>2]=c[re+12>>2];c[Lk+16>>2]=c[re+16>>2];Sx(b,Lk,59,53);aa=Nk;return}case 100:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=118){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[se>>2]=Dk?c[Hk>>2]|0:Hk;c[se+4>>2]=Ek;c[se+8>>2]=Ik;c[se+12>>2]=Mk;c[se+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[se>>2];c[Lk+4>>2]=c[se+4>>2];c[Lk+8>>2]=c[se+8>>2];c[Lk+12>>2]=c[se+12>>2];c[Lk+16>>2]=c[se+16>>2];Sx(b,Lk,49,114);aa=Nk;return}case 117:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[te>>2]=Dk?c[Hk>>2]|0:Hk;c[te+4>>2]=Ek;c[te+8>>2]=Ik;c[te+12>>2]=Mk;c[te+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[te>>2];c[Lk+4>>2]=c[te+4>>2];c[Lk+8>>2]=c[te+8>>2];c[Lk+12>>2]=c[te+12>>2];c[Lk+16>>2]=c[te+16>>2];Sx(b,Lk,49,115);aa=Nk;return}default:{xk=277;break n}}}case 101:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 113:{h=yk+6|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)<122)if(g<<24>>24==59)break;else{xk=272;break n}if(g<<24>>24!=122)if((g&255)<127){xk=272;break n}else break;g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[qd>>2]=Dk?c[Hk>>2]|0:Hk;c[qd+4>>2]=Ek;c[qd+8>>2]=Ik;c[qd+12>>2]=Mk;c[qd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[qd>>2];c[Lk+4>>2]=c[qd+4>>2];c[Lk+8>>2]=c[qd+8>>2];c[Lk+12>>2]=c[qd+12>>2];c[Lk+16>>2]=c[qd+16>>2];Sx(b,Lk,60,67);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Wb>>2]=Dk?c[Hk>>2]|0:Hk;c[Wb+4>>2]=Ek;c[Wb+8>>2]=Ik;c[Wb+12>>2]=Mk;c[Wb+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Wb>>2];c[Lk+4>>2]=c[Wb+4>>2];c[Lk+8>>2]=c[Wb+8>>2];c[Lk+12>>2]=c[Wb+12>>2];c[Lk+16>>2]=c[Wb+16>>2];Sx(b,Lk,58,68);aa=Nk;return}case 120:break;default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<52){if(g<<24>>24==49){g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ig>>2]=Dk?c[Hk>>2]|0:Hk;c[Ig+4>>2]=Ek;c[Ig+8>>2]=Ik;c[Ig+12>>2]=Mk;c[Ig+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ig>>2];c[Lk+4>>2]=c[Ig+4>>2];c[Lk+8>>2]=c[Ig+8>>2];c[Lk+12>>2]=c[Ig+12>>2];c[Lk+16>>2]=c[Ig+16>>2];Sx(b,Lk,99,182);aa=Nk;return}if((g&255)<51){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Jg>>2]=Dk?c[Hk>>2]|0:Hk;c[Jg+4>>2]=Ek;c[Jg+8>>2]=Ik;c[Jg+12>>2]=Mk;c[Jg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Jg>>2];c[Lk+4>>2]=c[Jg+4>>2];c[Lk+8>>2]=c[Jg+8>>2];c[Lk+12>>2]=c[Jg+12>>2];c[Lk+16>>2]=c[Jg+16>>2];Sx(b,Lk,99,183);aa=Nk;return}if((g&255)<57){if(g<<24>>24!=56){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ug>>2]=Dk?c[Hk>>2]|0:Hk;c[ug+4>>2]=Ek;c[ug+8>>2]=Ik;c[ug+12>>2]=Mk;c[ug+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ug>>2];c[Lk+4>>2]=c[ug+4>>2];c[Lk+8>>2]=c[ug+8>>2];c[Lk+12>>2]=c[ug+12>>2];c[Lk+16>>2]=c[ug+16>>2];Sx(b,Lk,99,181);aa=Nk;return}if(g<<24>>24!=95){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<115){if(g<<24>>24!=105){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+16|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[lh>>2]=Dk?c[Hk>>2]|0:Hk;c[lh+4>>2]=Ek;c[lh+8>>2]=Ik;c[lh+12>>2]=Mk;c[lh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[lh>>2];c[Lk+4>>2]=c[lh+4>>2];c[Lk+8>>2]=c[lh+8>>2];c[Lk+12>>2]=c[lh+12>>2];c[Lk+16>>2]=c[lh+16>>2];Sx(b,Lk,60,159);aa=Nk;return}case 117:{g=yk+16|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[mh>>2]=Dk?c[Hk>>2]|0:Hk;c[mh+4>>2]=Ek;c[mh+8>>2]=Ik;c[mh+12>>2]=Mk;c[mh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[mh>>2];c[Lk+4>>2]=c[mh+4>>2];c[Lk+8>>2]=c[mh+8>>2];c[Lk+12>>2]=c[mh+12>>2];c[Lk+16>>2]=c[mh+16>>2];Sx(b,Lk,60,160);aa=Nk;return}default:{xk=277;break n}}}switch(g<<24>>24){case 115:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[nh>>2]=Dk?c[Hk>>2]|0:Hk;c[nh+4>>2]=Ek;c[nh+8>>2]=Ik;c[nh+12>>2]=Mk;c[nh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[nh>>2];c[Lk+4>>2]=c[nh+4>>2];c[Lk+8>>2]=c[nh+8>>2];c[Lk+12>>2]=c[nh+12>>2];c[Lk+16>>2]=c[nh+16>>2];Sx(b,Lk,60,159);aa=Nk;return}case 117:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=51){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[oh>>2]=Dk?c[Hk>>2]|0:Hk;c[oh+4>>2]=Ek;c[oh+8>>2]=Ik;c[oh+12>>2]=Mk;c[oh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[oh>>2];c[Lk+4>>2]=c[oh+4>>2];c[Lk+8>>2]=c[oh+8>>2];c[Lk+12>>2]=c[oh+12>>2];c[Lk+16>>2]=c[oh+16>>2];Sx(b,Lk,60,160);aa=Nk;return}default:{xk=277;break n}}}case 103:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Vc>>2]=Dk?c[Hk>>2]|0:Hk;c[Vc+4>>2]=Ek;c[Vc+8>>2]=Ik;c[Vc+12>>2]=Mk;c[Vc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Vc>>2];c[Lk+4>>2]=c[Vc+4>>2];c[Lk+8>>2]=c[Vc+8>>2];c[Lk+12>>2]=c[Vc+12>>2];c[Lk+16>>2]=c[Vc+16>>2];Sx(b,Lk,58,76);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Wc>>2]=Dk?c[Hk>>2]|0:Hk;c[Wc+4>>2]=Ek;c[Wc+8>>2]=Ik;c[Wc+12>>2]=Mk;c[Wc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Wc>>2];c[Lk+4>>2]=c[Wc+4>>2];c[Lk+8>>2]=c[Wc+8>>2];c[Lk+12>>2]=c[Wc+12>>2];c[Lk+16>>2]=c[Wc+16>>2];Sx(b,Lk,58,77);aa=Nk;return}default:{xk=277;break n}}}case 116:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Xc>>2]=Dk?c[Hk>>2]|0:Hk;c[Xc+4>>2]=Ek;c[Xc+8>>2]=Ik;c[Xc+12>>2]=Mk;c[Xc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Xc>>2];c[Lk+4>>2]=c[Xc+4>>2];c[Lk+8>>2]=c[Xc+8>>2];c[Lk+12>>2]=c[Xc+12>>2];c[Lk+16>>2]=c[Xc+16>>2];Sx(b,Lk,58,72);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Yc>>2]=Dk?c[Hk>>2]|0:Hk;c[Yc+4>>2]=Ek;c[Yc+8>>2]=Ik;c[Yc+12>>2]=Mk;c[Yc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Yc>>2];c[Lk+4>>2]=c[Yc+4>>2];c[Lk+8>>2]=c[Yc+8>>2];c[Lk+12>>2]=c[Yc+12>>2];c[Lk+16>>2]=c[Yc+16>>2];Sx(b,Lk,58,73);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 108:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<111){if(g<<24>>24!=101){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Zc>>2]=Dk?c[Hk>>2]|0:Hk;c[Zc+4>>2]=Ek;c[Zc+8>>2]=Ik;c[Zc+12>>2]=Mk;c[Zc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Zc>>2];c[Lk+4>>2]=c[Zc+4>>2];c[Lk+8>>2]=c[Zc+8>>2];c[Lk+12>>2]=c[Zc+12>>2];c[Lk+16>>2]=c[Zc+16>>2];Sx(b,Lk,58,74);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[_c>>2]=Dk?c[Hk>>2]|0:Hk;c[_c+4>>2]=Ek;c[_c+8>>2]=Ik;c[_c+12>>2]=Mk;c[_c+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[_c>>2];c[Lk+4>>2]=c[_c+4>>2];c[Lk+8>>2]=c[_c+8>>2];c[Lk+12>>2]=c[_c+12>>2];c[Lk+16>>2]=c[_c+16>>2];Sx(b,Lk,58,75);aa=Nk;return}default:{xk=277;break n}}}switch(g<<24>>24){case 111:break;case 116:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[$c>>2]=Dk?c[Hk>>2]|0:Hk;c[$c+4>>2]=Ek;c[$c+8>>2]=Ik;c[$c+12>>2]=Mk;c[$c+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[$c>>2];c[Lk+4>>2]=c[$c+4>>2];c[Lk+8>>2]=c[$c+8>>2];c[Lk+12>>2]=c[$c+12>>2];c[Lk+16>>2]=c[$c+16>>2];Sx(b,Lk,58,70);aa=Nk;return}case 117:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ad>>2]=Dk?c[Hk>>2]|0:Hk;c[ad+4>>2]=Ek;c[ad+8>>2]=Ik;c[ad+12>>2]=Mk;c[ad+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ad>>2];c[Lk+4>>2]=c[ad+4>>2];c[Lk+8>>2]=c[ad+8>>2];c[Lk+12>>2]=c[ad+12>>2];c[Lk+16>>2]=c[ad+16>>2];Sx(b,Lk,58,71);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}h=yk+8|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<50){if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;if((g&255)<40){xk=272;break n}if((g&255)>=42){if((g&255)<49){xk=272;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[og>>2]=Dk?c[Hk>>2]|0:Hk;c[og+4>>2]=Ek;c[og+8>>2]=Ik;c[og+12>>2]=Mk;c[og+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[og>>2];c[Lk+4>>2]=c[og+4>>2];c[Lk+8>>2]=c[og+8>>2];c[Lk+12>>2]=c[og+12>>2];c[Lk+16>>2]=c[og+16>>2];Sx(b,Lk,67,37);aa=Nk;return}case 117:{g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[pg>>2]=Dk?c[Hk>>2]|0:Hk;c[pg+4>>2]=Ek;c[pg+8>>2]=Ik;c[pg+12>>2]=Mk;c[pg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[pg>>2];c[Lk+4>>2]=c[pg+4>>2];c[Lk+8>>2]=c[pg+8>>2];c[Lk+12>>2]=c[pg+12>>2];c[Lk+16>>2]=c[pg+16>>2];Sx(b,Lk,67,38);aa=Nk;return}default:{xk=277;break n}}}}else{if((g&255)>=57)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24==51){g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[qg>>2]=Dk?c[Hk>>2]|0:Hk;c[qg+4>>2]=Ek;c[qg+8>>2]=Ik;c[qg+12>>2]=Mk;c[qg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[qg>>2];c[Lk+4>>2]=c[qg+4>>2];c[Lk+8>>2]=c[qg+8>>2];c[Lk+12>>2]=c[qg+12>>2];c[Lk+16>>2]=c[qg+16>>2];Sx(b,Lk,67,39);aa=Nk;return}case 117:{g=yk+12|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[rg>>2]=Dk?c[Hk>>2]|0:Hk;c[rg+4>>2]=Ek;c[rg+8>>2]=Ik;c[rg+12>>2]=Mk;c[rg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[rg>>2];c[Lk+4>>2]=c[rg+4>>2];c[Lk+8>>2]=c[rg+8>>2];c[Lk+12>>2]=c[rg+12>>2];c[Lk+16>>2]=c[rg+16>>2];Sx(b,Lk,67,40);aa=Nk;return}default:{xk=277;break n}}}else{if((g&255)<56){xk=272;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[cg>>2]=Dk?c[Hk>>2]|0:Hk;c[cg+4>>2]=Ek;c[cg+8>>2]=Ik;c[cg+12>>2]=Mk;c[cg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[cg>>2];c[Lk+4>>2]=c[cg+4>>2];c[Lk+8>>2]=c[cg+8>>2];c[Lk+12>>2]=c[cg+12>>2];c[Lk+16>>2]=c[cg+16>>2];Sx(b,Lk,67,35);aa=Nk;return}case 117:{g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[dg>>2]=Dk?c[Hk>>2]|0:Hk;c[dg+4>>2]=Ek;c[dg+8>>2]=Ik;c[dg+12>>2]=Mk;c[dg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[dg>>2];c[Lk+4>>2]=c[dg+4>>2];c[Lk+8>>2]=c[dg+8>>2];c[Lk+12>>2]=c[dg+12>>2];c[Lk+16>>2]=c[dg+16>>2];Sx(b,Lk,67,36);aa=Nk;return}default:{xk=277;break n}}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ed>>2]=Dk?c[Hk>>2]|0:Hk;c[Ed+4>>2]=Ek;c[Ed+8>>2]=Ik;c[Ed+12>>2]=Mk;c[Ed+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Ed>>2];c[Lk+4>>2]=c[Ed+4>>2];c[Lk+8>>2]=c[Ed+8>>2];c[Lk+12>>2]=c[Ed+12>>2];c[Lk+16>>2]=c[Ed+16>>2];Sx(b,Lk,67,28);aa=Nk;return}case 109:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[wc>>2]=Dk?c[Hk>>2]|0:Hk;c[wc+4>>2]=Ek;c[wc+8>>2]=Ik;c[wc+12>>2]=Mk;c[wc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[wc>>2];c[Lk+4>>2]=c[wc+4>>2];c[Lk+8>>2]=c[wc+8>>2];c[Lk+12>>2]=c[wc+12>>2];c[Lk+16>>2]=c[wc+16>>2];Sx(b,Lk,49,113);aa=Nk;return}case 110:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Gb>>2]=Dk?c[Hk>>2]|0:Hk;c[Gb+4>>2]=Ek;c[Gb+8>>2]=Ik;c[Gb+12>>2]=Mk;c[Gb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Gb>>2];c[Lk+4>>2]=c[Gb+4>>2];c[Lk+8>>2]=c[Gb+8>>2];c[Lk+12>>2]=c[Gb+12>>2];c[Lk+16>>2]=c[Gb+16>>2];Sx(b,Lk,58,69);aa=Nk;return}case 111:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Hb>>2]=Dk?c[Hk>>2]|0:Hk;c[Hb+4>>2]=Ek;c[Hb+8>>2]=Ik;c[Hb+12>>2]=Mk;c[Hb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Hb>>2];c[Lk+4>>2]=c[Hb+4>>2];c[Lk+8>>2]=c[Hb+8>>2];c[Lk+12>>2]=c[Hb+12>>2];c[Lk+16>>2]=c[Hb+16>>2];Sx(b,Lk,49,119);aa=Nk;return}case 112:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[uf>>2]=Dk?c[Hk>>2]|0:Hk;c[uf+4>>2]=Ek;c[uf+8>>2]=Ik;c[uf+12>>2]=Mk;c[uf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[uf>>2];c[Lk+4>>2]=c[uf+4>>2];c[Lk+8>>2]=c[uf+8>>2];c[Lk+12>>2]=c[uf+12>>2];c[Lk+16>>2]=c[uf+16>>2];Sx(b,Lk,99,110);aa=Nk;return}case 114:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:break;case 111:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[bd>>2]=Dk?c[Hk>>2]|0:Hk;c[bd+4>>2]=Ek;c[bd+8>>2]=Ik;c[bd+12>>2]=Mk;c[bd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[bd>>2];c[Lk+4>>2]=c[bd+4>>2];c[Lk+8>>2]=c[bd+8>>2];c[Lk+12>>2]=c[bd+12>>2];c[Lk+16>>2]=c[bd+16>>2];Sx(b,Lk,49,124);aa=Nk;return}case 114:{g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[cd>>2]=Dk?c[Hk>>2]|0:Hk;c[cd+4>>2]=Ek;c[cd+8>>2]=Ik;c[cd+12>>2]=Mk;c[cd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[cd>>2];c[Lk+4>>2]=c[cd+4>>2];c[Lk+8>>2]=c[cd+8>>2];c[Lk+12>>2]=c[cd+12>>2];c[Lk+16>>2]=c[cd+16>>2];Sx(b,Lk,49,125);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 105:break;case 109:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ue>>2]=Dk?c[Hk>>2]|0:Hk;c[ue+4>>2]=Ek;c[ue+8>>2]=Ik;c[ue+12>>2]=Mk;c[ue+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ue>>2];c[Lk+4>>2]=c[ue+4>>2];c[Lk+8>>2]=c[ue+8>>2];c[Lk+12>>2]=c[ue+12>>2];c[Lk+16>>2]=c[ue+16>>2];Sx(b,Lk,49,116);aa=Nk;return}case 117:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ve>>2]=Dk?c[Hk>>2]|0:Hk;c[ve+4>>2]=Ek;c[ve+8>>2]=Ik;c[ve+12>>2]=Mk;c[ve+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ve>>2];c[Lk+4>>2]=c[ve+4>>2];c[Lk+8>>2]=c[ve+8>>2];c[Lk+12>>2]=c[ve+12>>2];c[Lk+16>>2]=c[ve+16>>2];Sx(b,Lk,49,117);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 47:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Bi>>2]=Dk?c[Hk>>2]|0:Hk;c[Bi+4>>2]=Ek;c[Bi+8>>2]=Ik;c[Bi+12>>2]=Mk;c[Bi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Bi>>2];c[Lk+4>>2]=c[Bi+4>>2];c[Lk+8>>2]=c[Bi+8>>2];c[Lk+12>>2]=c[Bi+12>>2];c[Lk+16>>2]=c[Bi+16>>2];Sx(b,Lk,60,176);aa=Nk;return}case 95:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ci>>2]=Dk?c[Hk>>2]|0:Hk;c[Ci+4>>2]=Ek;c[Ci+8>>2]=Ik;c[Ci+12>>2]=Mk;c[Ci+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ci>>2];c[Lk+4>>2]=c[Ci+4>>2];c[Lk+8>>2]=c[Ci+8>>2];c[Lk+12>>2]=c[Ci+12>>2];c[Lk+16>>2]=c[Ci+16>>2];Sx(b,Lk,60,176);aa=Nk;return}default:{xk=277;break n}}}case 115:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<116){if(g<<24>>24!=104){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 108:{g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[xc>>2]=Dk?c[Hk>>2]|0:Hk;c[xc+4>>2]=Ek;c[xc+8>>2]=Ik;c[xc+12>>2]=Mk;c[xc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[xc>>2];c[Lk+4>>2]=c[xc+4>>2];c[Lk+8>>2]=c[xc+8>>2];c[Lk+12>>2]=c[xc+12>>2];c[Lk+16>>2]=c[xc+16>>2];Sx(b,Lk,49,121);aa=Nk;return}case 114:break;default:{xk=277;break n}}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[we>>2]=Dk?c[Hk>>2]|0:Hk;c[we+4>>2]=Ek;c[we+8>>2]=Ik;c[we+12>>2]=Mk;c[we+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[we>>2];c[Lk+4>>2]=c[we+4>>2];c[Lk+8>>2]=c[we+8>>2];c[Lk+12>>2]=c[we+12>>2];c[Lk+16>>2]=c[we+16>>2];Sx(b,Lk,49,122);aa=Nk;return}case 117:{g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[xe>>2]=Dk?c[Hk>>2]|0:Hk;c[xe+4>>2]=Ek;c[xe+8>>2]=Ik;c[xe+12>>2]=Mk;c[xe+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[xe>>2];c[Lk+4>>2]=c[xe+4>>2];c[Lk+8>>2]=c[xe+8>>2];c[Lk+12>>2]=c[xe+12>>2];c[Lk+16>>2]=c[xe+16>>2];Sx(b,Lk,49,123);aa=Nk;return}default:{xk=277;break n}}}if(g<<24>>24!=116){if((g&255)>=118){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[yc>>2]=Dk?c[Hk>>2]|0:Hk;c[yc+4>>2]=Ek;c[yc+8>>2]=Ik;c[yc+12>>2]=Mk;c[yc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[yc>>2];c[Lk+4>>2]=c[yc+4>>2];c[Lk+8>>2]=c[yc+8>>2];c[Lk+12>>2]=c[yc+12>>2];c[Lk+16>>2]=c[yc+16>>2];Sx(b,Lk,49,112);aa=Nk;return}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+9|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)>=50){if((g&255)>=57)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24==51){g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[fg>>2]=Dk?c[Hk>>2]|0:Hk;c[fg+4>>2]=Ek;c[fg+8>>2]=Ik;c[fg+12>>2]=Mk;c[fg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[fg>>2];c[Lk+4>>2]=c[fg+4>>2];c[Lk+8>>2]=c[fg+8>>2];c[Lk+12>>2]=c[fg+12>>2];c[Lk+16>>2]=c[fg+16>>2];Sx(b,Lk,94,49);aa=Nk;return}else{if((g&255)<56){xk=272;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Lf>>2]=Dk?c[Hk>>2]|0:Hk;c[Lf+4>>2]=Ek;c[Lf+8>>2]=Ik;c[Lf+12>>2]=Mk;c[Lf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Lf>>2];c[Lk+4>>2]=c[Lf+4>>2];c[Lk+8>>2]=c[Lf+8>>2];c[Lk+12>>2]=c[Lf+12>>2];c[Lk+16>>2]=c[Lf+16>>2];Sx(b,Lk,94,47);aa=Nk;return}}else{if((g&255)<35)if(g<<24>>24==33){xk=272;break n}else break;if((g&255)<40){xk=272;break n}if((g&255)<42)break;if((g&255)<49){xk=272;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[eg>>2]=Dk?c[Hk>>2]|0:Hk;c[eg+4>>2]=Ek;c[eg+8>>2]=Ik;c[eg+12>>2]=Mk;c[eg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[eg>>2];c[Lk+4>>2]=c[eg+4>>2];c[Lk+8>>2]=c[eg+8>>2];c[Lk+12>>2]=c[eg+12>>2];c[Lk+16>>2]=c[eg+16>>2];Sx(b,Lk,94,48);aa=Nk;return}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ef>>2]=Dk?c[Hk>>2]|0:Hk;c[ef+4>>2]=Ek;c[ef+8>>2]=Ik;c[ef+12>>2]=Mk;c[ef+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[ef>>2];c[Lk+4>>2]=c[ef+4>>2];c[Lk+8>>2]=c[ef+8>>2];c[Lk+12>>2]=c[ef+12>>2];c[Lk+16>>2]=c[ef+16>>2];Sx(b,Lk,94,42);aa=Nk;return}case 116:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<115){if(g<<24>>24!=102){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[_g>>2]=Dk?c[Hk>>2]|0:Hk;c[_g+4>>2]=Ek;c[_g+8>>2]=Ik;c[_g+12>>2]=Mk;c[_g+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[_g>>2];c[Lk+4>>2]=c[_g+4>>2];c[Lk+8>>2]=c[_g+8>>2];c[Lk+12>>2]=c[_g+12>>2];c[Lk+16>>2]=c[_g+16>>2];Sx(b,Lk,60,161);aa=Nk;return}case 117:{g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[$g>>2]=Dk?c[Hk>>2]|0:Hk;c[$g+4>>2]=Ek;c[$g+8>>2]=Ik;c[$g+12>>2]=Mk;c[$g+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[$g>>2];c[Lk+4>>2]=c[$g+4>>2];c[Lk+8>>2]=c[$g+8>>2];c[Lk+12>>2]=c[$g+12>>2];c[Lk+16>>2]=c[$g+16>>2];Sx(b,Lk,60,162);aa=Nk;return}default:{xk=277;break n}}}case 54:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ah>>2]=Dk?c[Hk>>2]|0:Hk;c[ah+4>>2]=Ek;c[ah+8>>2]=Ik;c[ah+12>>2]=Mk;c[ah+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ah>>2];c[Lk+4>>2]=c[ah+4>>2];c[Lk+8>>2]=c[ah+8>>2];c[Lk+12>>2]=c[ah+12>>2];c[Lk+16>>2]=c[ah+16>>2];Sx(b,Lk,60,163);aa=Nk;return}case 117:{g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[bh>>2]=Dk?c[Hk>>2]|0:Hk;c[bh+4>>2]=Ek;c[bh+8>>2]=Ik;c[bh+12>>2]=Mk;c[bh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[bh>>2];c[Lk+4>>2]=c[bh+4>>2];c[Lk+8>>2]=c[bh+8>>2];c[Lk+12>>2]=c[bh+12>>2];c[Lk+16>>2]=c[bh+16>>2];Sx(b,Lk,60,164);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}switch(g<<24>>24){case 115:break;case 117:{g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 47:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[eh>>2]=Dk?c[Hk>>2]|0:Hk;c[eh+4>>2]=Ek;c[eh+8>>2]=Ik;c[eh+12>>2]=Mk;c[eh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[eh>>2];c[Lk+4>>2]=c[eh+4>>2];c[Lk+8>>2]=c[eh+8>>2];c[Lk+12>>2]=c[eh+12>>2];c[Lk+16>>2]=c[eh+16>>2];Sx(b,Lk,60,162);aa=Nk;return}case 54:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[fh>>2]=Dk?c[Hk>>2]|0:Hk;c[fh+4>>2]=Ek;c[fh+8>>2]=Ik;c[fh+12>>2]=Mk;c[fh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[fh>>2];c[Lk+4>>2]=c[fh+4>>2];c[Lk+8>>2]=c[fh+8>>2];c[Lk+12>>2]=c[fh+12>>2];c[Lk+16>>2]=c[fh+16>>2];Sx(b,Lk,60,164);aa=Nk;return}default:{xk=277;break n}}}case 58:break;default:{xk=277;break n}}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ji>>2]=Dk?c[Hk>>2]|0:Hk;c[Ji+4>>2]=Ek;c[Ji+8>>2]=Ik;c[Ji+12>>2]=Mk;c[Ji+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ji>>2];c[Lk+4>>2]=c[Ji+4>>2];c[Lk+8>>2]=c[Ji+8>>2];c[Lk+12>>2]=c[Ji+12>>2];c[Lk+16>>2]=c[Ji+16>>2];Sx(b,Lk,60,194);aa=Nk;return}case 54:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ki>>2]=Dk?c[Hk>>2]|0:Hk;c[Ki+4>>2]=Ek;c[Ki+8>>2]=Ik;c[Ki+12>>2]=Mk;c[Ki+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ki>>2];c[Lk+4>>2]=c[Ki+4>>2];c[Lk+8>>2]=c[Ki+8>>2];c[Lk+12>>2]=c[Ki+12>>2];c[Lk+16>>2]=c[Ki+16>>2];Sx(b,Lk,60,196);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if((g&255)<58){if(g<<24>>24!=47){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ch>>2]=Dk?c[Hk>>2]|0:Hk;c[ch+4>>2]=Ek;c[ch+8>>2]=Ik;c[ch+12>>2]=Mk;c[ch+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ch>>2];c[Lk+4>>2]=c[ch+4>>2];c[Lk+8>>2]=c[ch+8>>2];c[Lk+12>>2]=c[ch+12>>2];c[Lk+16>>2]=c[ch+16>>2];Sx(b,Lk,60,161);aa=Nk;return}case 54:{g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[dh>>2]=Dk?c[Hk>>2]|0:Hk;c[dh+4>>2]=Ek;c[dh+8>>2]=Ik;c[dh+12>>2]=Mk;c[dh+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[dh>>2];c[Lk+4>>2]=c[dh+4>>2];c[Lk+8>>2]=c[dh+8>>2];c[Lk+12>>2]=c[dh+12>>2];c[Lk+16>>2]=c[dh+16>>2];Sx(b,Lk,60,163);aa=Nk;return}default:{xk=277;break n}}}switch(g<<24>>24){case 58:{g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=47){xk=277;break n}g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Di>>2]=Dk?c[Hk>>2]|0:Hk;c[Di+4>>2]=Ek;c[Di+8>>2]=Ik;c[Di+12>>2]=Mk;c[Di+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Di>>2];c[Lk+4>>2]=c[Di+4>>2];c[Lk+8>>2]=c[Di+8>>2];c[Lk+12>>2]=c[Di+12>>2];c[Lk+16>>2]=c[Di+16>>2];Sx(b,Lk,60,193);aa=Nk;return}case 54:{g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ei>>2]=Dk?c[Hk>>2]|0:Hk;c[Ei+4>>2]=Ek;c[Ei+8>>2]=Ik;c[Ei+12>>2]=Mk;c[Ei+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ei>>2];c[Lk+4>>2]=c[Ei+4>>2];c[Lk+8>>2]=c[Ei+8>>2];c[Lk+12>>2]=c[Ei+12>>2];c[Lk+16>>2]=c[Ei+16>>2];Sx(b,Lk,60,195);aa=Nk;return}default:{xk=277;break n}}}case 97:break;default:{xk=277;break n}}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+15|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 51:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=50){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Fi>>2]=Dk?c[Hk>>2]|0:Hk;c[Fi+4>>2]=Ek;c[Fi+8>>2]=Ik;c[Fi+12>>2]=Mk;c[Fi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Fi>>2];c[Lk+4>>2]=c[Fi+4>>2];c[Lk+8>>2]=c[Fi+8>>2];c[Lk+12>>2]=c[Fi+12>>2];c[Lk+16>>2]=c[Fi+16>>2];Sx(b,Lk,60,193);aa=Nk;return}case 117:{g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Gi>>2]=Dk?c[Hk>>2]|0:Hk;c[Gi+4>>2]=Ek;c[Gi+8>>2]=Ik;c[Gi+12>>2]=Mk;c[Gi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Gi>>2];c[Lk+4>>2]=c[Gi+4>>2];c[Lk+8>>2]=c[Gi+8>>2];c[Lk+12>>2]=c[Gi+12>>2];c[Lk+16>>2]=c[Gi+16>>2];Sx(b,Lk,60,194);aa=Nk;return}default:{xk=277;break n}}}case 54:{g=yk+16|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=52){xk=277;break n}g=yk+17|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+18|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 115:{g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Hi>>2]=Dk?c[Hk>>2]|0:Hk;c[Hi+4>>2]=Ek;c[Hi+8>>2]=Ik;c[Hi+12>>2]=Mk;c[Hi+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Hi>>2];c[Lk+4>>2]=c[Hi+4>>2];c[Lk+8>>2]=c[Hi+8>>2];c[Lk+12>>2]=c[Hi+12>>2];c[Lk+16>>2]=c[Hi+16>>2];Sx(b,Lk,60,195);aa=Nk;return}case 117:{g=yk+19|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ii>>2]=Dk?c[Hk>>2]|0:Hk;c[Ii+4>>2]=Ek;c[Ii+8>>2]=Ik;c[Ii+12>>2]=Mk;c[Ii+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ii>>2];c[Lk+4>>2]=c[Ii+4>>2];c[Lk+8>>2]=c[Ii+8>>2];c[Lk+12>>2]=c[Ii+12>>2];c[Lk+16>>2]=c[Ii+16>>2];Sx(b,Lk,60,196);aa=Nk;return}default:{xk=277;break n}}}default:{xk=277;break n}}}case 120:{g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[zc>>2]=Dk?c[Hk>>2]|0:Hk;c[zc+4>>2]=Ek;c[zc+8>>2]=Ik;c[zc+12>>2]=Mk;c[zc+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[zc>>2];c[Lk+4>>2]=c[zc+4>>2];c[Lk+8>>2]=c[zc+8>>2];c[Lk+12>>2]=c[zc+12>>2];c[Lk+16>>2]=c[zc+16>>2];Sx(b,Lk,49,120);aa=Nk;return}default:{xk=277;break n}}while(0)}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Pa>>2]=Dk?c[Hk>>2]|0:Hk;c[Pa+4>>2]=Ek;c[Pa+8>>2]=Ik;c[Pa+12>>2]=Mk;c[Pa+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[Pa>>2];c[Lk+4>>2]=c[Pa+4>>2];c[Lk+8>>2]=c[Pa+8>>2];c[Lk+12>>2]=c[Pa+12>>2];c[Lk+16>>2]=c[Pa+16>>2];Qx(b,Lk,106,-2);aa=Nk;return}else xk=277;break}case 241:{if((j&255)<117){g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}h=yk+5|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)>=59)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24!=46){xk=272;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;Qk=(g&255)+-99|0;switch(Qk>>>1|Qk<<31|0){case 0:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[vf>>2]=Dk?c[Hk>>2]|0:Hk;c[vf+4>>2]=Ek;c[vf+8>>2]=Ik;c[vf+12>>2]=Mk;c[vf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[vf>>2];c[Lk+4>>2]=c[vf+4>>2];c[Lk+8>>2]=c[vf+8>>2];c[Lk+12>>2]=c[vf+12>>2];c[Lk+16>>2]=c[vf+16>>2];Sx(b,Lk,75,203);aa=Nk;return}case 2:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ie>>2]=Dk?c[Hk>>2]|0:Hk;c[Ie+4>>2]=Ek;c[Ie+8>>2]=Ik;c[Ie+12>>2]=Mk;c[Ie+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ie>>2];c[Lk+4>>2]=c[Ie+4>>2];c[Lk+8>>2]=c[Ie+8>>2];c[Lk+12>>2]=c[Ie+12>>2];c[Lk+16>>2]=c[Ie+16>>2];Sx(b,Lk,78,204);aa=Nk;return}case 114:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=119){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[wf>>2]=Dk?c[Hk>>2]|0:Hk;c[wf+4>>2]=Ek;c[wf+8>>2]=Ik;c[wf+12>>2]=Mk;c[wf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[wf>>2];c[Lk+4>>2]=c[wf+4>>2];c[Lk+8>>2]=c[wf+8>>2];c[Lk+12>>2]=c[wf+12>>2];c[Lk+16>>2]=c[wf+16>>2];Sx(b,Lk,80,206);aa=Nk;return}case 3:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[xf>>2]=Dk?c[Hk>>2]|0:Hk;c[xf+4>>2]=Ek;c[xf+8>>2]=Ik;c[xf+12>>2]=Mk;c[xf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[xf>>2];c[Lk+4>>2]=c[xf+4>>2];c[Lk+8>>2]=c[xf+8>>2];c[Lk+12>>2]=c[xf+12>>2];c[Lk+16>>2]=c[xf+16>>2];Sx(b,Lk,77,201);aa=Nk;return}case 8:{g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Je>>2]=Dk?c[Hk>>2]|0:Hk;c[Je+4>>2]=Ek;c[Je+8>>2]=Ik;c[Je+12>>2]=Mk;c[Je+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Je>>2];c[Lk+4>>2]=c[Je+4>>2];c[Lk+8>>2]=c[Je+8>>2];c[Lk+12>>2]=c[Je+12>>2];c[Lk+16>>2]=c[Je+16>>2];Sx(b,Lk,79,205);aa=Nk;return}case 105:break;default:{xk=277;break n}}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=122){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[yf>>2]=Dk?c[Hk>>2]|0:Hk;c[yf+4>>2]=Ek;c[yf+8>>2]=Ik;c[yf+12>>2]=Mk;c[yf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[yf>>2];c[Lk+4>>2]=c[yf+4>>2];c[Lk+8>>2]=c[yf+8>>2];c[Lk+12>>2]=c[yf+12>>2];c[Lk+16>>2]=c[yf+16>>2];Sx(b,Lk,81,207);aa=Nk;return}default:{xk=277;break n}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ib>>2]=Dk?c[Hk>>2]|0:Hk;c[ib+4>>2]=Ek;c[ib+8>>2]=Ik;c[ib+12>>2]=Mk;c[ib+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[ib>>2];c[Lk+4>>2]=c[ib+4>>2];c[Lk+8>>2]=c[ib+8>>2];c[Lk+12>>2]=c[ib+12>>2];c[Lk+16>>2]=c[ib+16>>2];Px(b,Lk,37);aa=Nk;return}case 101:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=95){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[md>>2]=Dk?c[Hk>>2]|0:Hk;c[md+4>>2]=Ek;c[md+8>>2]=Ik;c[md+12>>2]=Mk;c[md+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[md>>2];c[Lk+4>>2]=c[md+4>>2];c[Lk+8>>2]=c[md+8>>2];c[Lk+12>>2]=c[md+12>>2];c[Lk+16>>2]=c[md+16>>2];Sx(b,Lk,95,24);aa=Nk;return}case 104:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 101:{g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ua>>2]=Dk?c[Hk>>2]|0:Hk;c[Ua+4>>2]=Ek;c[Ua+8>>2]=Ik;c[Ua+12>>2]=Mk;c[Ua+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ua>>2];c[Lk+4>>2]=c[Ua+4>>2];c[Lk+8>>2]=c[Ua+8>>2];c[Lk+12>>2]=c[Ua+12>>2];c[Lk+16>>2]=c[Ua+16>>2];Px(b,Lk,38);aa=Nk;return}case 114:break;default:{xk=277;break n}}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=119){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[fb>>2]=Dk?c[Hk>>2]|0:Hk;c[fb+4>>2]=Ek;c[fb+8>>2]=Ik;c[fb+12>>2]=Mk;c[fb+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[fb>>2];c[Lk+4>>2]=c[fb+4>>2];c[Lk+8>>2]=c[fb+8>>2];c[Lk+12>>2]=c[fb+12>>2];c[Lk+16>>2]=c[fb+16>>2];Sx(b,Lk,97,8);aa=Nk;return}case 114:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=121){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ka>>2]=Dk?c[Hk>>2]|0:Hk;c[Ka+4>>2]=Ek;c[Ka+8>>2]=Ik;c[Ka+12>>2]=Mk;c[Ka+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ka>>2];c[Lk+4>>2]=c[Ka+4>>2];c[Lk+8>>2]=c[Ka+8>>2];c[Lk+12>>2]=c[Ka+12>>2];c[Lk+16>>2]=c[Ka+16>>2];Sx(b,Lk,98,6);aa=Nk;return}case 121:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=112){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Va>>2]=Dk?c[Hk>>2]|0:Hk;c[Va+4>>2]=Ek;c[Va+8>>2]=Ik;c[Va+12>>2]=Mk;c[Va+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Va>>2];c[Lk+4>>2]=c[Va+4>>2];c[Lk+8>>2]=c[Va+8>>2];c[Lk+12>>2]=c[Va+12>>2];c[Lk+16>>2]=c[Va+16>>2];Px(b,Lk,39);aa=Nk;return}default:{xk=277;break n}}}g=yk+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if(j<<24>>24==117){if(g<<24>>24!=110){xk=277;break}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=98){xk=277;break}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break}g=yk+11|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Jf>>2]=Dk?c[Hk>>2]|0:Hk;c[Jf+4>>2]=Ek;c[Jf+8>>2]=Ik;c[Jf+12>>2]=Mk;c[Jf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Jf>>2];c[Lk+4>>2]=c[Jf+4>>2];c[Lk+8>>2]=c[Jf+8>>2];c[Lk+12>>2]=c[Jf+12>>2];c[Lk+16>>2]=c[Jf+16>>2];Sx(b,Lk,100,0);aa=Nk;return}switch(g<<24>>24){case 49:break;case 56:{g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=120){xk=277;break n}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=49){xk=277;break n}g=yk+4|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=54){xk=277;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=46){xk=277;break n}g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=104){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=117){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=102){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[lg>>2]=Dk?c[Hk>>2]|0:Hk;c[lg+4>>2]=Ek;c[lg+8>>2]=Ik;c[lg+12>>2]=Mk;c[lg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[lg>>2];c[Lk+4>>2]=c[lg+4>>2];c[Lk+8>>2]=c[lg+8>>2];c[Lk+12>>2]=c[lg+12>>2];c[Lk+16>>2]=c[lg+16>>2];Sx(b,Lk,93,213);aa=Nk;return}default:{xk=277;break n}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==50){g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==56){h=yk+4|0;c[Ak>>2]=h;g=a[h>>0]|0;do if((g&255)<42)if((g&255)<34)if(g<<24>>24==33){xk=272;break n}else break;else if(g<<24>>24!=34&(g&255)<40){xk=272;break n}else break;else{if((g&255)>=59)if(g<<24>>24!=59&(g&255)<127){xk=272;break n}else break;if(g<<24>>24!=46){xk=272;break n}g=yk+5|0;c[Ak>>2]=g;g=a[g>>0]|0;switch(g<<24>>24){case 97:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[ed>>2]=Dk?c[Hk>>2]|0:Hk;c[ed+4>>2]=Ek;c[ed+8>>2]=Ik;c[ed+12>>2]=Mk;c[ed+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[ed>>2];c[Lk+4>>2]=c[ed+4>>2];c[Lk+8>>2]=c[ed+8>>2];c[Lk+12>>2]=c[ed+12>>2];c[Lk+16>>2]=c[ed+16>>2];Sx(b,Lk,49,277);aa=Nk;return}case 98:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=105){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=108){xk=277;break n}g=yk+11|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+12|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=99){xk=277;break n}g=yk+13|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+14|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Mg>>2]=Dk?c[Hk>>2]|0:Hk;c[Mg+4>>2]=Ek;c[Mg+8>>2]=Ik;c[Mg+12>>2]=Mk;c[Mg+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Mg>>2];c[Lk+4>>2]=c[Mg+4>>2];c[Lk+8>>2]=c[Mg+8>>2];c[Lk+12>>2]=c[Mg+12>>2];c[Lk+16>>2]=c[Mg+16>>2];Sx(b,Lk,96,280);aa=Nk;return}case 99:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=115){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[zf>>2]=Dk?c[Hk>>2]|0:Hk;c[zf+4>>2]=Ek;c[zf+8>>2]=Ik;c[zf+12>>2]=Mk;c[zf+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[zf>>2];c[Lk+4>>2]=c[zf+4>>2];c[Lk+8>>2]=c[zf+8>>2];c[Lk+12>>2]=c[zf+12>>2];c[Lk+16>>2]=c[zf+16>>2];Sx(b,Lk,59,212);aa=Nk;return}case 108:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=97){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=100){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ke>>2]=Dk?c[Hk>>2]|0:Hk;c[Ke+4>>2]=Ek;c[Ke+8>>2]=Ik;c[Ke+12>>2]=Mk;c[Ke+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ke>>2];c[Lk+4>>2]=c[Ke+4>>2];c[Lk+8>>2]=c[Ke+8>>2];c[Lk+12>>2]=c[Ke+12>>2];c[Lk+16>>2]=c[Ke+16>>2];Sx(b,Lk,67,210);aa=Nk;return}case 110:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[fd>>2]=Dk?c[Hk>>2]|0:Hk;c[fd+4>>2]=Ek;c[fd+8>>2]=Ik;c[fd+12>>2]=Mk;c[fd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[fd>>2];c[Lk+4>>2]=c[fd+4>>2];c[Lk+8>>2]=c[fd+8>>2];c[Lk+12>>2]=c[fd+12>>2];c[Lk+16>>2]=c[fd+16>>2];Sx(b,Lk,99,276);aa=Nk;return}case 111:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Ac>>2]=Dk?c[Hk>>2]|0:Hk;c[Ac+4>>2]=Ek;c[Ac+8>>2]=Ik;c[Ac+12>>2]=Mk;c[Ac+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Ac>>2];c[Lk+4>>2]=c[Ac+4>>2];c[Lk+8>>2]=c[Ac+8>>2];c[Lk+12>>2]=c[Ac+12>>2];c[Lk+16>>2]=c[Ac+16>>2];Sx(b,Lk,49,278);aa=Nk;return}case 115:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=116){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+9|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=101){xk=277;break n}g=yk+10|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[Af>>2]=Dk?c[Hk>>2]|0:Hk;c[Af+4>>2]=Ek;c[Af+8>>2]=Ik;c[Af+12>>2]=Mk;c[Af+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[Af>>2];c[Lk+4>>2]=c[Af+4>>2];c[Lk+8>>2]=c[Af+8>>2];c[Lk+12>>2]=c[Af+12>>2];c[Lk+16>>2]=c[Af+16>>2];Sx(b,Lk,94,211);aa=Nk;return}case 120:{g=yk+6|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=111){xk=277;break n}g=yk+7|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=114){xk=277;break n}g=yk+8|0;c[Ak>>2]=g;if(a[16304+(d[g>>0]|0)>>0]&8){xk=272;break n}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[gd>>2]=Dk?c[Hk>>2]|0:Hk;c[gd+4>>2]=Ek;c[gd+8>>2]=Ik;c[gd+12>>2]=Mk;c[gd+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[gd>>2];c[Lk+4>>2]=c[gd+4>>2];c[Lk+8>>2]=c[gd+8>>2];c[Lk+12>>2]=c[gd+12>>2];c[Lk+16>>2]=c[gd+16>>2];Sx(b,Lk,49,279);aa=Nk;return}default:{xk=277;break n}}}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[_a>>2]=Dk?c[Hk>>2]|0:Hk;c[_a+4>>2]=Ek;c[_a+8>>2]=Ik;c[_a+12>>2]=Mk;c[_a+16>>2]=1-Ok+Pk-Qk+h;c[Lk>>2]=c[_a>>2];c[Lk+4>>2]=c[_a+4>>2];c[Lk+8>>2]=c[_a+8>>2];c[Lk+12>>2]=c[_a+12>>2];c[Lk+16>>2]=c[_a+16>>2];Qx(b,Lk,106,-5);aa=Nk;return}else xk=277}else xk=277;break}case 256:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[u>>2]=Dk?c[Hk>>2]|0:Hk;c[u+4>>2]=Mk;c[u+8>>2]=Ok;c[u+12>>2]=Pk;c[u+16>>2]=Qk;c[Lk>>2]=c[u>>2];c[Lk+4>>2]=c[u+4>>2];c[Lk+8>>2]=c[u+8>>2];c[Lk+12>>2]=c[u+12>>2];c[Lk+16>>2]=c[u+16>>2];Px(b,Lk,14);aa=Nk;return}case 271:{xk=272;break}case 292:{i=yk+1|0;c[Ak>>2]=i;h=a[i>>0]|0;g=i;do if((h&255)<40)if(h<<24>>24!=33){if((h&255)<35){xk=279;break n}}else h=33;else if((h&255)<59)if((h&255)<42){xk=279;break n}else break;else if(h<<24>>24!=59&(h&255)<127)break;else{xk=279;break n}while(0);do if(a[16304+(h&255)>>0]&64){g=i;while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1)break;g=c[Ak>>2]|0}h=a[g>>0]|0;if(!(a[16304+(h&255)>>0]&64)){xk=493;break}}if((xk|0)==493)break;Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[Sb>>2]=Dk?c[Hk>>2]|0:Hk;c[Sb+4>>2]=Mk;c[Sb+8>>2]=Ok;c[Sb+12>>2]=Pk;c[Sb+16>>2]=Qk;c[Lk>>2]=c[Sb>>2];c[Lk+4>>2]=c[Sb+4>>2];c[Lk+8>>2]=c[Sb+8>>2];c[Lk+12>>2]=c[Sb+12>>2];c[Lk+16>>2]=c[Sb+16>>2];Px(b,Lk,14);aa=Nk;return}while(0);if((h&255)>=42?(h&255)<45|(h+-60&255)<66:0){xk=272;break}Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[ph>>2]=Dk?c[Hk>>2]|0:Hk;c[ph+4>>2]=Ek;c[ph+8>>2]=Ok;c[ph+12>>2]=j+1-Pk+Qk-i;c[ph+16>>2]=1-Pk+Qk-i+g;i=j;j=g-j|0;c[Mk>>2]=0;c[Mk+4>>2]=0;c[Mk+8>>2]=0;if(j>>>0>4294967279)JA();if(j>>>0<11){g=Mk+11|0;a[g>>0]=j;if(!j)h=Mk;else{h=Mk;xk=501}}else{g=j+16&-16;h=FA(g)|0;c[Mk>>2]=h;c[Mk+8>>2]=g|-2147483648;c[Mk+4>>2]=j;g=Mk+11|0;xk=501}if((xk|0)==501)_B(h|0,i|0,j|0)|0;a[h+j>>0]=0;c[Lk>>2]=c[ph>>2];c[Lk+4>>2]=c[ph+4>>2];c[Lk+8>>2]=c[ph+8>>2];c[Lk+12>>2]=c[ph+12>>2];c[Lk+16>>2]=c[ph+16>>2];Rx(b,Lk,105,Mk);if((a[g>>0]|0)<0)HA(c[Mk>>2]|0);aa=Nk;return}case 301:{Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ik=c[Ik>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Mk=(c[Kk>>2]|0)+1-Ok+Pk-Qk|0;c[w>>2]=Dk?c[Hk>>2]|0:Hk;c[w+4>>2]=Ek;c[w+8>>2]=Ik;c[w+12>>2]=Mk;c[w+16>>2]=1-Ok+Pk-Qk+g;c[Lk>>2]=c[w>>2];c[Lk+4>>2]=c[w+4>>2];c[Lk+8>>2]=c[w+8>>2];c[Lk+12>>2]=c[w+12>>2];c[Lk+16>>2]=c[w+16>>2];Px(b,Lk,24);aa=Nk;return}case 410:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[z>>2]=Dk?c[Hk>>2]|0:Hk;c[z+4>>2]=Mk;c[z+8>>2]=Ok;c[z+12>>2]=Pk;c[z+16>>2]=Qk;c[Lk>>2]=c[z>>2];c[Lk+4>>2]=c[z+4>>2];c[Lk+8>>2]=c[z+8>>2];c[Lk+12>>2]=c[z+12>>2];c[Lk+16>>2]=c[z+16>>2];Px(b,Lk,14);aa=Nk;return}case 424:{Qk=g+1|0;c[Ak>>2]=Qk;j=a[Dk>>0]|0;Dk=j<<24>>24<0;Ek=Dk?c[Ek>>2]|0:j&255;Ik=c[Ik>>2]|0;j=c[Kk>>2]|0;Ok=c[Fk>>2]|0;Pk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[sb>>2]=Dk?c[Hk>>2]|0:Hk;c[sb+4>>2]=Ek;c[sb+8>>2]=Ik;c[sb+12>>2]=j+1-Ok+Pk-i;c[sb+16>>2]=1-Ok+Pk-i+Qk;i=j;j=Qk-j|0;c[Mk>>2]=0;c[Mk+4>>2]=0;c[Mk+8>>2]=0;if(j>>>0>4294967279)JA();if(j>>>0<11){g=Mk+11|0;a[g>>0]=j;if(!j)h=Mk;else{h=Mk;xk=429}}else{g=j+16&-16;h=FA(g)|0;c[Mk>>2]=h;c[Mk+8>>2]=g|-2147483648;c[Mk+4>>2]=j;g=Mk+11|0;xk=429}if((xk|0)==429)_B(h|0,i|0,j|0)|0;a[h+j>>0]=0;c[Lk>>2]=c[sb>>2];c[Lk+4>>2]=c[sb+4>>2];c[Lk+8>>2]=c[sb+8>>2];c[Lk+12>>2]=c[sb+12>>2];c[Lk+16>>2]=c[sb+16>>2];Rx(b,Lk,104,Mk);if((a[g>>0]|0)<0)HA(c[Mk>>2]|0);aa=Nk;return}case 436:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[B>>2]=Dk?c[Hk>>2]|0:Hk;c[B+4>>2]=Mk;c[B+8>>2]=Ok;c[B+12>>2]=Pk;c[B+16>>2]=Qk;c[Lk>>2]=c[B>>2];c[Lk+4>>2]=c[B+4>>2];c[Lk+8>>2]=c[B+8>>2];c[Lk+12>>2]=c[B+12>>2];c[Lk+16>>2]=c[B+16>>2];Px(b,Lk,14);aa=Nk;return}case 455:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[C>>2]=Dk?c[Hk>>2]|0:Hk;c[C+4>>2]=Mk;c[C+8>>2]=Ok;c[C+12>>2]=Pk;c[C+16>>2]=Qk;c[Lk>>2]=c[C>>2];c[Lk+4>>2]=c[C+4>>2];c[Lk+8>>2]=c[C+8>>2];c[Lk+12>>2]=c[C+12>>2];c[Lk+16>>2]=c[C+16>>2];Px(b,Lk,14);aa=Nk;return}case 461:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[D>>2]=Dk?c[Hk>>2]|0:Hk;c[D+4>>2]=Mk;c[D+8>>2]=Ok;c[D+12>>2]=Pk;c[D+16>>2]=Qk;c[Lk>>2]=c[D>>2];c[Lk+4>>2]=c[D+4>>2];c[Lk+8>>2]=c[D+8>>2];c[Lk+12>>2]=c[D+12>>2];c[Lk+16>>2]=c[D+16>>2];Px(b,Lk,14);aa=Nk;return}case 467:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[E>>2]=Dk?c[Hk>>2]|0:Hk;c[E+4>>2]=Mk;c[E+8>>2]=Ok;c[E+12>>2]=Pk;c[E+16>>2]=Qk;c[Lk>>2]=c[E>>2];c[Lk+4>>2]=c[E+4>>2];c[Lk+8>>2]=c[E+8>>2];c[Lk+12>>2]=c[E+12>>2];c[Lk+16>>2]=c[E+16>>2];Px(b,Lk,14);aa=Nk;return}case 473:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[F>>2]=Dk?c[Hk>>2]|0:Hk;c[F+4>>2]=Mk;c[F+8>>2]=Ok;c[F+12>>2]=Pk;c[F+16>>2]=Qk;c[Lk>>2]=c[F>>2];c[Lk+4>>2]=c[F+4>>2];c[Lk+8>>2]=c[F+8>>2];c[Lk+12>>2]=c[F+12>>2];c[Lk+16>>2]=c[F+16>>2];Px(b,Lk,14);aa=Nk;return}case 479:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[G>>2]=Dk?c[Hk>>2]|0:Hk;c[G+4>>2]=Mk;c[G+8>>2]=Ok;c[G+12>>2]=Pk;c[G+16>>2]=Qk;c[Lk>>2]=c[G>>2];c[Lk+4>>2]=c[G+4>>2];c[Lk+8>>2]=c[G+8>>2];c[Lk+12>>2]=c[G+12>>2];c[Lk+16>>2]=c[G+16>>2];Px(b,Lk,14);aa=Nk;return}case 485:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[H>>2]=Dk?c[Hk>>2]|0:Hk;c[H+4>>2]=Mk;c[H+8>>2]=Ok;c[H+12>>2]=Pk;c[H+16>>2]=Qk;c[Lk>>2]=c[H>>2];c[Lk+4>>2]=c[H+4>>2];c[Lk+8>>2]=c[H+8>>2];c[Lk+12>>2]=c[H+12>>2];c[Lk+16>>2]=c[H+16>>2];Px(b,Lk,14);aa=Nk;return}case 675:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[J>>2]=Dk?c[Hk>>2]|0:Hk;c[J+4>>2]=Mk;c[J+8>>2]=Ok;c[J+12>>2]=Pk;c[J+16>>2]=Qk;c[Lk>>2]=c[J>>2];c[Lk+4>>2]=c[J+4>>2];c[Lk+8>>2]=c[J+8>>2];c[Lk+12>>2]=c[J+12>>2];c[Lk+16>>2]=c[J+16>>2];Px(b,Lk,14);aa=Nk;return}}w:do if((xk|0)==303){h=yk+1|0;c[Ak>>2]=h;g=a[h>>0]|0;if((g&255)>=105){switch(g<<24>>24){case 105:break;case 110:{h=yk+2|0;c[Ak>>2]=h;g=a[h>>0]|0;if(g<<24>>24==97){xk=646;break w}else{xk=277;break w}}default:{xk=277;break w}}g=yk+2|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=110){xk=277;break}g=yk+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==102){g=3;xk=846;break}else{xk=277;break}}if((g&255)>=48){x:do if(g<<24>>24!=48)if((g&255)<58){g=h;xk=692}else{xk=277;break w}else{i=yk+2|0;c[Ak>>2]=i;h=a[i>>0]|0;g=i;if((h&255)<59)if((h&255)<42)if((h&255)<34)if(h<<24>>24==33){xk=272;break w}else{xk=524;break}else if(h<<24>>24!=34&(h&255)<40){xk=272;break w}else{xk=524;break}else if((h&255)<47)if(h<<24>>24==46){g=i;xk=556;break w}else{xk=272;break w}else if(h<<24>>24!=47&(h&255)<58){g=i;xk=692;break}else{xk=272;break w}if((h&255)<96){if((h&255)<69)if((h&255)>59){xk=272;break w}else{xk=524;break}if(h<<24>>24==69){g=i;xk=579;break w}if((h&255)<95){xk=272;break w}else{g=i;xk=682;break}}if((h&255)<120)if(h<<24>>24==101){g=i;xk=579;break w}else{xk=272;break w}if(h<<24>>24!=120)if((h&255)<127){xk=272;break w}else{xk=524;break}g=i;y:while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=697;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;do if((i&255)<58){if((i&255)<35){xk=700;break y}if((i&255)<40){xk=263;break y}if((i&255)<42){xk=279;break w}if((i&255)<48){xk=263;break y}}else if((i&255)<71){if(i<<24>>24==59){xk=279;break w}if((i&255)<65){xk=263;break y}else break}else{if((i&255)<97){xk=263;break y}if((i&255)<103)break;else{xk=710;break y}}while(0);g=h;z:while(1){h=g+1|0;c[Ak>>2]=h;g=h;if(((c[Bk>>2]|0)-g|0)<3){if((st(e,3)|0)==1){xk=911;break y}g=c[Ak>>2]|0;h=g}i=a[h>>0]|0;do if((i&255)<60){if((i&255)<42){xk=914;break y}if((i&255)<48){xk=918;break y}if((i&255)>=58){xk=921;break y}}else if((i&255)<96){if((i&255)>=80)break z;if((i+-65&255)<6)break;else{xk=262;break y}}else{if((i&255)>=112){xk=929;break y}if((i+-97&255)<6)break;else{xk=262;break y}}while(0);g=h}if(i<<24>>24==80){g=h;xk=969;break w}if((i&255)<95){xk=263;break}else g=h}switch(xk|0){case 262:{xk=272;break w}case 263:{xk=272;break w}case 697:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[gh>>2]=Dk?c[Hk>>2]|0:Hk;c[gh+4>>2]=Mk;c[gh+8>>2]=Ok;c[gh+12>>2]=Pk;c[gh+16>>2]=Qk;c[Lk>>2]=c[gh>>2];c[Lk+4>>2]=c[gh+4>>2];c[Lk+8>>2]=c[gh+8>>2];c[Lk+12>>2]=c[gh+12>>2];c[Lk+16>>2]=c[gh+16>>2];Px(b,Lk,14);aa=Nk;return}case 700:if(i<<24>>24==33){xk=272;break w}else{xk=279;break w}case 710:if((i&255)<127){xk=272;break w}else{xk=279;break w}case 911:{Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[ih>>2]=Dk?c[Hk>>2]|0:Hk;c[ih+4>>2]=Mk;c[ih+8>>2]=Ok;c[ih+12>>2]=Pk;c[ih+16>>2]=Qk;c[Lk>>2]=c[ih>>2];c[Lk+4>>2]=c[ih+4>>2];c[Lk+8>>2]=c[ih+8>>2];c[Lk+12>>2]=c[ih+12>>2];c[Lk+16>>2]=c[ih+16>>2];Px(b,Lk,14);aa=Nk;return}case 914:if((i&255)<34)if(i<<24>>24==33){xk=272;break w}else{xk=524;break x}else if(i<<24>>24!=34&(i&255)<40){xk=272;break w}else{xk=524;break x}case 918:if(i<<24>>24==46){g=h;xk=942;break w}else{xk=272;break w}case 921:if(i<<24>>24==58){xk=272;break w}else{xk=524;break x}case 929:{if(i<<24>>24==112){g=h;xk=969;break w}if((i&255)<127){xk=272;break w}else{xk=524;break x}}}}while(0);A:while(1)if((xk|0)==524){Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[ak>>2]=Dk?c[Hk>>2]|0:Hk;c[ak+4>>2]=Ek;c[ak+8>>2]=Ok;c[ak+12>>2]=j+1-Pk+Qk-i;c[ak+16>>2]=1-Pk+Qk-i+g;i=j;j=g-j|0;c[Lk>>2]=0;c[Lk+4>>2]=0;c[Lk+8>>2]=0;if(j>>>0>4294967279){xk=525;break}else{xk=526;break}}else if((xk|0)==682){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=685;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;if((i&255)<42){xk=687;break}if((i&255)>=59){xk=693;break}if((i&255)>47&i<<24>>24!=58){g=h;xk=692;continue}else{xk=272;break w}}else if((xk|0)==692){while(1){h=g+1|0;c[Ak>>2]=h;g=h;if(((c[Bk>>2]|0)-g|0)<3){if((st(e,3)|0)==1){xk=538;break A}g=c[Ak>>2]|0;h=g}i=a[h>>0]|0;if((i&255)>=58){xk=546;break}if((i&255)<40){xk=541;break}if((i&255)<46){xk=543;break}if(i<<24>>24==46){g=h;xk=556;break w}if((i&255)<48){xk=260;break A}else g=h}if((xk|0)==541)if(i<<24>>24!=33&(i&255)<35){xk=524;continue}else{xk=272;break w}else if((xk|0)==543)if((i&255)<42){xk=524;continue}else{xk=272;break w}else if((xk|0)==546){if((i&255)<95){if((i&255)>=60){xk=549;break}if(i<<24>>24==59){xk=524;continue}else{xk=272;break w}}if((i&255)<101)if((i&255)<96){g=h;xk=682;continue}else{xk=272;break w}if(i<<24>>24==101){g=h;xk=579;break w}if((i&255)<127){xk=272;break w}else{xk=524;continue}}}if((xk|0)==260){xk=272;break}else if((xk|0)==525)JA();else if((xk|0)==526){if(j>>>0<11){h=Lk+11|0;a[h>>0]=j;if(!j)g=Lk;else{g=Lk;xk=529}}else{h=j+16&-16;g=FA(h)|0;c[Lk>>2]=g;c[Lk+8>>2]=h|-2147483648;c[Lk+4>>2]=j;h=Lk+11|0;xk=529}if((xk|0)==529)_B(g|0,i|0,j|0)|0;a[g+j>>0]=0;c[Mk>>2]=0;g=Mk+4|0;LA(g,Lk);if((a[h>>0]|0)<0)HA(c[Lk>>2]|0);c[Lk>>2]=c[ak>>2];c[Lk+4>>2]=c[ak+4>>2];c[Lk+8>>2]=c[ak+8>>2];c[Lk+12>>2]=c[ak+12>>2];c[Lk+16>>2]=c[ak+16>>2];Tx(b,Lk,41,Mk);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);aa=Nk;return}else if((xk|0)==538){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[qh>>2]=Dk?c[Hk>>2]|0:Hk;c[qh+4>>2]=Mk;c[qh+8>>2]=Ok;c[qh+12>>2]=Pk;c[qh+16>>2]=Qk;c[Lk>>2]=c[qh>>2];c[Lk+4>>2]=c[qh+4>>2];c[Lk+8>>2]=c[qh+8>>2];c[Lk+12>>2]=c[qh+12>>2];c[Lk+16>>2]=c[qh+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==549)if(i<<24>>24==69){g=h;xk=579;break}else{xk=272;break}else if((xk|0)==685){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[rh>>2]=Dk?c[Hk>>2]|0:Hk;c[rh+4>>2]=Mk;c[rh+8>>2]=Ok;c[rh+12>>2]=Pk;c[rh+16>>2]=Qk;c[Lk>>2]=c[rh>>2];c[Lk+4>>2]=c[rh+4>>2];c[Lk+8>>2]=c[rh+8>>2];c[Lk+12>>2]=c[rh+12>>2];c[Lk+16>>2]=c[rh+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==687)if((i&255)<34)if(i<<24>>24==33){xk=272;break}else{xk=279;break}else if(i<<24>>24!=34&(i&255)<40){xk=272;break}else{xk=279;break}else if((xk|0)==693)if(i<<24>>24!=59&(i&255)<127){xk=272;break}else{xk=279;break}}else xk=277}while(0);B:do if((xk|0)==556){i=g+1|0;c[Ak>>2]=i;h=a[i>>0]|0;g=i;if((h&255)>=58)if((h&255)<70){if(h<<24>>24==59){xk=568;break}if((h&255)<69){xk=272;break}else{g=i;xk=579;break}}else{if(h<<24>>24==101){g=i;xk=579;break}if((h&255)<127){xk=272;break}else{xk=568;break}}if((h&255)<35)if(h<<24>>24==33){xk=272;break}else{xk=568;break}if((h&255)>=40)if((h&255)>=42)if((h&255)>=48){g=i;while(1){h=g+1|0;c[Ak>>2]=h;g=h;if(((c[Bk>>2]|0)-g|0)<2){if((st(e,2)|0)==1){xk=715;break}g=c[Ak>>2]|0;h=g}i=a[h>>0]|0;if((i&255)<59){if((i&255)<40){xk=718;break}if((i&255)<42){xk=568;break B}if((i+-48&255)<10)g=h;else{xk=259;break}}else{if((i&255)<95){xk=723;break}if((i&255)>=101){xk=727;break}if((i&255)>=96){xk=259;break}g=h+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=934;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;if((i&255)<42){xk=936;break}if((i&255)>=59){xk=941;break}if((i&255)>47&i<<24>>24!=58)g=h;else{xk=259;break}}}if((xk|0)==259){xk=272;break}else if((xk|0)==715){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[kk>>2]=Dk?c[Hk>>2]|0:Hk;c[kk+4>>2]=Mk;c[kk+8>>2]=Ok;c[kk+12>>2]=Pk;c[kk+16>>2]=Qk;c[Lk>>2]=c[kk>>2];c[Lk+4>>2]=c[kk+4>>2];c[Lk+8>>2]=c[kk+8>>2];c[Lk+12>>2]=c[kk+12>>2];c[Lk+16>>2]=c[kk+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==718)if(i<<24>>24!=33&(i&255)<35){xk=568;break}else{xk=272;break}else if((xk|0)==723){if((i&255)<60){xk=568;break}if(i<<24>>24==69){g=h;xk=579;break}else{xk=272;break}}else if((xk|0)==727){if(i<<24>>24==101){g=h;xk=579;break}if((i&255)<127){xk=272;break}else{xk=568;break}}else if((xk|0)==934){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[lk>>2]=Dk?c[Hk>>2]|0:Hk;c[lk+4>>2]=Mk;c[lk+8>>2]=Ok;c[lk+12>>2]=Pk;c[lk+16>>2]=Qk;c[Lk>>2]=c[lk>>2];c[Lk+4>>2]=c[lk+4>>2];c[Lk+8>>2]=c[lk+8>>2];c[Lk+12>>2]=c[lk+12>>2];c[Lk+16>>2]=c[lk+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==936)if((i&255)<34)if(i<<24>>24==33){xk=272;break}else{xk=279;break}else if(i<<24>>24!=34&(i&255)<40){xk=272;break}else{xk=279;break}else if((xk|0)==941)if(i<<24>>24!=59&(i&255)<127){xk=272;break}else{xk=279;break}}else xk=272;else xk=568;else xk=272}else if((xk|0)==646){g=h+1|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24==110){g=h+2|0;c[Ak>>2]=g;i=a[g>>0]|0;do if((i&255)<42)if((i&255)<34)if(i<<24>>24==33){xk=272;break B}else break;else if(i<<24>>24!=34&(i&255)<40){xk=272;break B}else break;else{if((i&255)>=59)if(i<<24>>24!=59&(i&255)<127){xk=272;break B}else break;if(i<<24>>24!=58){xk=272;break B}g=h+3|0;c[Ak>>2]=g;g=a[g>>0]|0;if(g<<24>>24!=48){xk=277;break B}g=h+4|0;c[Ak>>2]=g;h=a[g>>0]|0;if(h<<24>>24!=120){g=h;xk=277;break B}C:while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=1503;break}g=c[Ak>>2]|0}h=g;i=a[g>>0]|0;do if((i&255)<58){if((i&255)<35){xk=1506;break C}if((i&255)<40){xk=265;break C}if((i&255)<42){g=h;xk=279;break B}if((i&255)<48){xk=265;break C}}else if((i&255)<71){if(i<<24>>24==59){g=h;xk=279;break B}if((i&255)<65){xk=265;break C}else break}else{if((i&255)<97){xk=265;break C}if((i&255)<103)break;else{xk=1516;break C}}while(0);D:while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=1818;break C}g=c[Ak>>2]|0}h=a[g>>0]|0;do if((h&255)<59){if((h&255)<40){xk=1821;break C}if((h&255)<42){xk=872;break C}if((h+-48&255)>=10){xk=264;break C}}else if((h&255)<95){if((h&255)<60){xk=872;break C}if((h+-65&255)<6)break;else{xk=264;break C}}else{if((h&255)<97)break D;if((h&255)<103)break;else{xk=1832;break C}}while(0)}if(h<<24>>24==96){xk=265;break}}if((xk|0)==264){xk=272;break B}else if((xk|0)==265){xk=272;break B}else if((xk|0)==872)break;else if((xk|0)==1503){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[uj>>2]=Dk?c[Hk>>2]|0:Hk;c[uj+4>>2]=Mk;c[uj+8>>2]=Ok;c[uj+12>>2]=Pk;c[uj+16>>2]=Qk;c[Lk>>2]=c[uj>>2];c[Lk+4>>2]=c[uj+4>>2];c[Lk+8>>2]=c[uj+8>>2];c[Lk+12>>2]=c[uj+12>>2];c[Lk+16>>2]=c[uj+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==1506)if(i<<24>>24==33){xk=272;break B}else{g=h;xk=279;break B}else if((xk|0)==1516)if((i&255)<127){xk=272;break B}else{g=h;xk=279;break B}else if((xk|0)==1818){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[vj>>2]=Dk?c[Hk>>2]|0:Hk;c[vj+4>>2]=Mk;c[vj+8>>2]=Ok;c[vj+12>>2]=Pk;c[vj+16>>2]=Qk;c[Lk>>2]=c[vj>>2];c[Lk+4>>2]=c[vj+4>>2];c[Lk+8>>2]=c[vj+8>>2];c[Lk+12>>2]=c[vj+12>>2];c[Lk+16>>2]=c[vj+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==1821){if(h<<24>>24==33){xk=272;break B}if((h&255)<35)break;else{xk=272;break B}}else if((xk|0)==1832)if((h&255)<127){xk=272;break B}else break}while(0);Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[_j>>2]=Dk?c[Hk>>2]|0:Hk;c[_j+4>>2]=Ek;c[_j+8>>2]=Ok;c[_j+12>>2]=j+1-Pk+Qk-i;c[_j+16>>2]=1-Pk+Qk-i+g;i=j;j=g-j|0;c[Lk>>2]=0;c[Lk+4>>2]=0;c[Lk+8>>2]=0;if(j>>>0>4294967279)JA();if(j>>>0<11){h=Lk+11|0;a[h>>0]=j;if(!j)g=Lk;else{g=Lk;xk=878}}else{h=j+16&-16;g=FA(h)|0;c[Lk>>2]=g;c[Lk+8>>2]=h|-2147483648;c[Lk+4>>2]=j;h=Lk+11|0;xk=878}if((xk|0)==878)_B(g|0,i|0,j|0)|0;a[g+j>>0]=0;c[Mk>>2]=4;g=Mk+4|0;LA(g,Lk);if((a[h>>0]|0)<0)HA(c[Lk>>2]|0);c[Lk>>2]=c[_j>>2];c[Lk+4>>2]=c[_j+4>>2];c[Lk+8>>2]=c[_j+8>>2];c[Lk+12>>2]=c[_j+12>>2];c[Lk+16>>2]=c[_j+16>>2];Tx(b,Lk,40,Mk);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);aa=Nk;return}else xk=277}else if((xk|0)==846){Qk=yk+g+1|0;c[Ak>>2]=Qk;g=Qk;if(!(a[16304+(d[Qk>>0]|0)>>0]&8)){Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[hh>>2]=Dk?c[Hk>>2]|0:Hk;c[hh+4>>2]=Ek;c[hh+8>>2]=Ok;c[hh+12>>2]=j+1-Pk+Qk-i;c[hh+16>>2]=1-Pk+Qk-i+g;i=j;j=g-j|0;c[Lk>>2]=0;c[Lk+4>>2]=0;c[Lk+8>>2]=0;if(j>>>0>4294967279)JA();if(j>>>0<11){h=Lk+11|0;a[h>>0]=j;if(!j)g=Lk;else{g=Lk;xk=852}}else{h=j+16&-16;g=FA(h)|0;c[Lk>>2]=g;c[Lk+8>>2]=h|-2147483648;c[Lk+4>>2]=j;h=Lk+11|0;xk=852}if((xk|0)==852)_B(g|0,i|0,j|0)|0;a[g+j>>0]=0;c[Mk>>2]=3;g=Mk+4|0;LA(g,Lk);if((a[h>>0]|0)<0)HA(c[Lk>>2]|0);c[Lk>>2]=c[hh>>2];c[Lk+4>>2]=c[hh+4>>2];c[Lk+8>>2]=c[hh+8>>2];c[Lk+12>>2]=c[hh+12>>2];c[Lk+16>>2]=c[hh+16>>2];Tx(b,Lk,40,Mk);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);aa=Nk;return}else xk=272}else if((xk|0)==942){i=g+1|0;c[Ak>>2]=i;h=a[i>>0]|0;g=i;do if((h&255)<60){if((h&255)<40)if(h<<24>>24==33|(h&255)>34){xk=272;break B}else{xk=958;break B}if((h&255)<48)if((h&255)>41){xk=272;break B}else{xk=958;break B}if((h&255)>=58)if(h<<24>>24==58){xk=272;break B}else{xk=958;break B}}else{if((h&255)<97)if((h&255)<71)if((h&255)<65){xk=272;break B}else break;else if(h<<24>>24==80){g=i;xk=969;break B}else{xk=272;break B}if((h&255)<112)if((h&255)<103)break;else{xk=272;break B}if(h<<24>>24==112){g=i;xk=969;break B}if((h&255)<127){xk=272;break B}else{xk=958;break B}}while(0);g=i;E:while(1){h=g+1|0;c[Ak>>2]=h;g=h;if(((c[Bk>>2]|0)-g|0)<2){if((st(e,2)|0)==1){xk=1079;break}g=c[Ak>>2]|0;h=g}i=a[h>>0]|0;do if((i&255)<65){if((i&255)<42){xk=1082;break E}if((i&255)>=58){xk=1087;break E}if((i&255)<48){xk=261;break E}else g=h}else{if((i&255)>=96){if((i&255)>=112){xk=1095;break E}if((i+-97&255)<6){g=h;break}else{xk=261;break E}}if((i&255)<80)if((i&255)<71){g=h;break}else{xk=261;break E}if(i<<24>>24==80){g=h;xk=969;break B}if((i&255)<95){xk=261;break E}g=h+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=1289;break E}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;if((i&255)<58){if((i&255)<35){xk=1292;break E}if((i&255)<40){xk=261;break E}if((i&255)<42){xk=279;break B}if((i&255)<48){xk=261;break E}else{g=h;break}}if((i&255)<71){if(i<<24>>24==59){xk=279;break B}if((i&255)<65){xk=261;break E}else{g=h;break}}else{if((i&255)<97){xk=261;break E}if((i&255)<103){g=h;break}else{xk=1302;break E}}}while(0)}if((xk|0)==261){xk=272;break}else if((xk|0)==1079){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[fk>>2]=Dk?c[Hk>>2]|0:Hk;c[fk+4>>2]=Mk;c[fk+8>>2]=Ok;c[fk+12>>2]=Pk;c[fk+16>>2]=Qk;c[Lk>>2]=c[fk>>2];c[Lk+4>>2]=c[fk+4>>2];c[Lk+8>>2]=c[fk+8>>2];c[Lk+12>>2]=c[fk+12>>2];c[Lk+16>>2]=c[fk+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==1082)if((i&255)<34)if(i<<24>>24==33){xk=272;break}else{xk=958;break}else if(i<<24>>24!=34&(i&255)<40){xk=272;break}else{xk=958;break}else if((xk|0)==1087)if(i<<24>>24==59){xk=958;break}else{xk=272;break}else if((xk|0)==1095){if(i<<24>>24==112){g=h;xk=969;break}if((i&255)<127){xk=272;break}else{xk=958;break}}else if((xk|0)==1289){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[gk>>2]=Dk?c[Hk>>2]|0:Hk;c[gk+4>>2]=Mk;c[gk+8>>2]=Ok;c[gk+12>>2]=Pk;c[gk+16>>2]=Qk;c[Lk>>2]=c[gk>>2];c[Lk+4>>2]=c[gk+4>>2];c[Lk+8>>2]=c[gk+8>>2];c[Lk+12>>2]=c[gk+12>>2];c[Lk+16>>2]=c[gk+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==1292)if(i<<24>>24==33){xk=272;break}else{xk=279;break}else if((xk|0)==1302)if((i&255)<127){xk=272;break}else{xk=279;break}}while(0);F:do if((xk|0)==579){g=g+1|0;c[Ak>>2]=g;h=a[g>>0]|0;if((h&255)<45)if(h<<24>>24==43)xk=729;else{g=h;xk=277;break}else if(h<<24>>24!=45){if((h+-48&255)>=10){g=h;xk=277;break}}else xk=729;G:while(1){if((xk|0)==729){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0>g>>>0)h=g;else{if((st(e,1)|0)==1){xk=732;break}h=c[Ak>>2]|0}g=h;i=a[h>>0]|0;if((i&255)<42){xk=734;break}if((i&255)>=59){xk=740;break}if((i&255)<48|i<<24>>24==58){xk=272;break F}else g=h}while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=744;break G}g=c[Ak>>2]|0}h=a[g>>0]|0;if((h&255)<48){xk=746;break G}if((h&255)>=60)break;if((h&255)>=58){xk=751;break G}}if(h<<24>>24==95)xk=729;else{xk=753;break}}if((xk|0)==732){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[rk>>2]=Dk?c[Hk>>2]|0:Hk;c[rk+4>>2]=Mk;c[rk+8>>2]=Ok;c[rk+12>>2]=Pk;c[rk+16>>2]=Qk;c[Lk>>2]=c[rk>>2];c[Lk+4>>2]=c[rk+4>>2];c[Lk+8>>2]=c[rk+8>>2];c[Lk+12>>2]=c[rk+12>>2];c[Lk+16>>2]=c[rk+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==734)if((i&255)<34)if(i<<24>>24==33){xk=272;break}else{xk=279;break}else if(i<<24>>24!=34&(i&255)<40){xk=272;break}else{xk=279;break}else if((xk|0)==740)if(i<<24>>24!=59&(i&255)<127){xk=272;break}else{xk=279;break}else if((xk|0)==744){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[sk>>2]=Dk?c[Hk>>2]|0:Hk;c[sk+4>>2]=Mk;c[sk+8>>2]=Ok;c[sk+12>>2]=Pk;c[sk+16>>2]=Qk;c[Lk>>2]=c[sk>>2];c[Lk+4>>2]=c[sk+4>>2];c[Lk+8>>2]=c[sk+8>>2];c[Lk+12>>2]=c[sk+12>>2];c[Lk+16>>2]=c[sk+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==746)if((h&255)<35)if(h<<24>>24==33){xk=272;break}else{xk=568;break}else if((h&-2)<<24>>24==40){xk=568;break}else{xk=272;break}else if((xk|0)==751)if(h<<24>>24==58){xk=272;break}else{xk=568;break}else if((xk|0)==753)if((h&255)<127){xk=272;break}else{xk=568;break}}else if((xk|0)==969){g=g+1|0;c[Ak>>2]=g;h=a[g>>0]|0;if((h&255)<45)if(h<<24>>24==43)xk=1097;else{g=h;xk=277;break}else if(h<<24>>24!=45){if((h+-48&255)>=10){g=h;xk=277;break}}else xk=1097;H:while(1){if((xk|0)==1097){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=1100;break}g=c[Ak>>2]|0}h=g;i=a[g>>0]|0;if((i&255)<42){xk=1102;break}if((i&255)>=59){xk=1108;break}if((i&255)<48|i<<24>>24==58){xk=272;break F}}while(1){g=g+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=1112;break H}g=c[Ak>>2]|0}h=a[g>>0]|0;if((h&255)<48){xk=1114;break H}if((h&255)>=60)break;if((h&255)>=58){xk=1119;break H}}if(h<<24>>24==95)xk=1097;else{xk=1121;break}}if((xk|0)==1100){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[pk>>2]=Dk?c[Hk>>2]|0:Hk;c[pk+4>>2]=Mk;c[pk+8>>2]=Ok;c[pk+12>>2]=Pk;c[pk+16>>2]=Qk;c[Lk>>2]=c[pk>>2];c[Lk+4>>2]=c[pk+4>>2];c[Lk+8>>2]=c[pk+8>>2];c[Lk+12>>2]=c[pk+12>>2];c[Lk+16>>2]=c[pk+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==1102)if((i&255)<34)if(i<<24>>24==33){xk=272;break}else{g=h;xk=279;break}else if(i<<24>>24!=34&(i&255)<40){xk=272;break}else{g=h;xk=279;break}else if((xk|0)==1108)if(i<<24>>24!=59&(i&255)<127){xk=272;break}else{g=h;xk=279;break}else if((xk|0)==1112){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[qk>>2]=Dk?c[Hk>>2]|0:Hk;c[qk+4>>2]=Mk;c[qk+8>>2]=Ok;c[qk+12>>2]=Pk;c[qk+16>>2]=Qk;c[Lk>>2]=c[qk>>2];c[Lk+4>>2]=c[qk+4>>2];c[Lk+8>>2]=c[qk+8>>2];c[Lk+12>>2]=c[qk+12>>2];c[Lk+16>>2]=c[qk+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==1114)if((h&255)<35)if(h<<24>>24==33){xk=272;break}else{xk=958;break}else if((h&-2)<<24>>24==40){xk=958;break}else{xk=272;break}else if((xk|0)==1119)if(h<<24>>24==58){xk=272;break}else{xk=958;break}else if((xk|0)==1121)if((h&255)<127){xk=272;break}else{xk=958;break}}while(0);if((xk|0)==568){Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[wk>>2]=Dk?c[Hk>>2]|0:Hk;c[wk+4>>2]=Ek;c[wk+8>>2]=Ok;c[wk+12>>2]=j+1-Pk+Qk-i;c[wk+16>>2]=1-Pk+Qk-i+g;i=j;j=g-j|0;c[Lk>>2]=0;c[Lk+4>>2]=0;c[Lk+8>>2]=0;if(j>>>0>4294967279)JA();if(j>>>0<11){h=Lk+11|0;a[h>>0]=j;if(!j)g=Lk;else{g=Lk;xk=573}}else{h=j+16&-16;g=FA(h)|0;c[Lk>>2]=g;c[Lk+8>>2]=h|-2147483648;c[Lk+4>>2]=j;h=Lk+11|0;xk=573}if((xk|0)==573)_B(g|0,i|0,j|0)|0;a[g+j>>0]=0;c[Mk>>2]=1;g=Mk+4|0;LA(g,Lk);if((a[h>>0]|0)<0)HA(c[Lk>>2]|0);c[Lk>>2]=c[wk>>2];c[Lk+4>>2]=c[wk+4>>2];c[Lk+8>>2]=c[wk+8>>2];c[Lk+12>>2]=c[wk+12>>2];c[Lk+16>>2]=c[wk+16>>2];Tx(b,Lk,40,Mk);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);aa=Nk;return}else if((xk|0)==958){Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[vk>>2]=Dk?c[Hk>>2]|0:Hk;c[vk+4>>2]=Ek;c[vk+8>>2]=Ok;c[vk+12>>2]=j+1-Pk+Qk-i;c[vk+16>>2]=1-Pk+Qk-i+g;i=j;j=g-j|0;c[Lk>>2]=0;c[Lk+4>>2]=0;c[Lk+8>>2]=0;if(j>>>0>4294967279)JA();if(j>>>0<11){h=Lk+11|0;a[h>>0]=j;if(!j)g=Lk;else{g=Lk;xk=963}}else{h=j+16&-16;g=FA(h)|0;c[Lk>>2]=g;c[Lk+8>>2]=h|-2147483648;c[Lk+4>>2]=j;h=Lk+11|0;xk=963}if((xk|0)==963)_B(g|0,i|0,j|0)|0;a[g+j>>0]=0;c[Mk>>2]=2;g=Mk+4|0;LA(g,Lk);if((a[h>>0]|0)<0)HA(c[Lk>>2]|0);c[Lk>>2]=c[vk>>2];c[Lk+4>>2]=c[vk+4>>2];c[Lk+8>>2]=c[vk+8>>2];c[Lk+12>>2]=c[vk+12>>2];c[Lk+16>>2]=c[vk+16>>2];Tx(b,Lk,40,Mk);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);aa=Nk;return}while(1)if((xk|0)==272){g=(c[Ak>>2]|0)+1|0;c[Ak>>2]=g;if((c[Bk>>2]|0)>>>0<=g>>>0){if((st(e,1)|0)==1){xk=275;break}g=c[Ak>>2]|0}g=a[g>>0]|0;xk=277;continue}else if((xk|0)==277){if(a[16304+(g&255)>>0]&8){xk=272;continue}g=c[Ak>>2]|0;xk=279;continue}else if((xk|0)==279){Ok=a[Dk>>0]|0;Dk=Ok<<24>>24<0;Ek=Dk?c[Ek>>2]|0:Ok&255;Ok=c[Ik>>2]|0;j=c[Kk>>2]|0;Pk=c[Fk>>2]|0;Qk=c[Gk>>2]|0;i=c[Jk>>2]|0;c[Ck>>2]=Dk?c[Hk>>2]|0:Hk;c[Ck+4>>2]=Ek;c[Ck+8>>2]=Ok;c[Ck+12>>2]=j+1-Pk+Qk-i;c[Ck+16>>2]=1-Pk+Qk-i+g;i=j;j=g-j|0;c[Mk>>2]=0;c[Mk+4>>2]=0;c[Mk+8>>2]=0;if(j>>>0>4294967279){xk=280;break}else{xk=281;break}}if((xk|0)==275){Mk=a[Dk>>0]|0;Dk=Mk<<24>>24<0;Mk=Dk?c[Ek>>2]|0:Mk&255;Ok=c[Ik>>2]|0;Fk=c[Fk>>2]|0;Ik=c[Gk>>2]|0;Qk=c[Jk>>2]|0;Pk=(c[Kk>>2]|0)+1-Fk+Ik-Qk|0;Qk=1-Fk+Ik-Qk+(c[Ak>>2]|0)|0;c[zk>>2]=Dk?c[Hk>>2]|0:Hk;c[zk+4>>2]=Mk;c[zk+8>>2]=Ok;c[zk+12>>2]=Pk;c[zk+16>>2]=Qk;c[Lk>>2]=c[zk>>2];c[Lk+4>>2]=c[zk+4>>2];c[Lk+8>>2]=c[zk+8>>2];c[Lk+12>>2]=c[zk+12>>2];c[Lk+16>>2]=c[zk+16>>2];Px(b,Lk,14);aa=Nk;return}else if((xk|0)==280)JA();else if((xk|0)==281){if(j>>>0<11){g=Mk+11|0;a[g>>0]=j;if(!j)h=Mk;else{h=Mk;xk=284}}else{g=j+16&-16;h=FA(g)|0;c[Mk>>2]=h;c[Mk+8>>2]=g|-2147483648;c[Mk+4>>2]=j;g=Mk+11|0;xk=284}if((xk|0)==284)_B(h|0,i|0,j|0)|0;a[h+j>>0]=0;c[Lk>>2]=c[Ck>>2];c[Lk+4>>2]=c[Ck+4>>2];c[Lk+8>>2]=c[Ck+8>>2];c[Lk+12>>2]=c[Ck+12>>2];c[Lk+16>>2]=c[Ck+16>>2];Rx(b,Lk,103,Mk);if((a[g>>0]|0)<0)HA(c[Mk>>2]|0);aa=Nk;return}} -function $t(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;t=aa;aa=aa+176|0;s=t+144|0;r=t+160|0;m=t+136|0;l=t+120|0;q=t;o=t+112|0;p=t+104|0;k=i;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!(a[i+16>>0]|0)){l=m;c[l>>2]=j;c[l+4>>2]=k;yz(q,100,326771,m)|0}else{u=i+8|0;v=c[u>>2]|0;u=c[u+4>>2]|0;m=l;c[m>>2]=j;c[m+4>>2]=k;m=l+8|0;c[m>>2]=v;c[m+4>>2]=u;yz(q,100,326746,l)|0}l=b+16|0;k=c[l>>2]|0;if(k>>>0<=142){j=b+8|0;if(k)n=9}else{j=b+8|0;do{nn(c[j>>2]|0,16560,142,0,0);k=k+-142|0}while(k>>>0>142);k=c[l>>2]|0;n=9}if((n|0)==9)nn(c[j>>2]|0,16560,k,0,0);j=c[j>>2]|0;do switch(h|0){case -1:{k=328637;break}case -2:{k=328633;break}case -3:{k=328629;break}case -4:{k=328625;break}case -5:{k=328620;break}case -16:{k=328612;break}case -32:{k=328607;break}case -24:{k=328596;break}case -64:{k=328591;break}case 0:{k=328587;break}case -17:{k=328580;break}default:k=328567}while(0);c[s>>2]=d;c[s+4>>2]=g;c[s+8>>2]=k;c[s+12>>2]=q;mn(j,327272,s);v=c[b+12>>2]|0;u=c[(c[v>>2]|0)+68>>2]|0;q=e;b=c[q+4>>2]|0;e=o;c[e>>2]=c[q>>2];c[e+4>>2]=b;e=c[f+4>>2]|0;b=p;c[b>>2]=c[f>>2];c[b+4>>2]=e;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];v=ka[u&31](v,d,r,s,g,h,i)|0;aa=t;return v|0}function au(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,q=0,r=0,s=0,t=0,u=0;s=aa;aa=aa+176|0;r=s+144|0;q=s+160|0;l=s+136|0;k=s+120|0;p=s;n=s+112|0;o=s+104|0;j=h;i=c[j>>2]|0;j=c[j+4>>2]|0;if(!(a[h+16>>0]|0)){k=l;c[k>>2]=i;c[k+4>>2]=j;yz(p,100,326771,l)|0}else{t=h+8|0;u=c[t>>2]|0;t=c[t+4>>2]|0;l=k;c[l>>2]=i;c[l+4>>2]=j;l=k+8|0;c[l>>2]=u;c[l+4>>2]=t;yz(p,100,326746,k)|0}k=b+16|0;j=c[k>>2]|0;if(j>>>0<=142){i=b+8|0;if(j)m=9}else{i=b+8|0;do{nn(c[i>>2]|0,16560,142,0,0);j=j+-142|0}while(j>>>0>142);j=c[k>>2]|0;m=9}if((m|0)==9)nn(c[i>>2]|0,16560,j,0,0);u=c[i>>2]|0;c[r>>2]=d;c[r+4>>2]=g;c[r+8>>2]=p;mn(u,327216,r);u=c[b+12>>2]|0;t=c[(c[u>>2]|0)+72>>2]|0;p=e;b=c[p+4>>2]|0;e=n;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=c[f+4>>2]|0;b=o;c[b>>2]=c[f>>2];c[b+4>>2]=e;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];u=ja[t&31](u,d,q,r,g,h)|0;aa=s;return u|0}function bu(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;q=aa;aa=aa+48|0;p=q+16|0;o=q+32|0;m=q+8|0;n=q;k=a+16|0;j=c[k>>2]|0;if(j>>>0<=142){i=a+8|0;if(j)l=6}else{i=a+8|0;do{nn(c[i>>2]|0,16560,142,0,0);j=j+-142|0}while(j>>>0>142);j=c[k>>2]|0;l=6}if((l|0)==6)nn(c[i>>2]|0,16560,j,0,0);i=c[i>>2]|0;do switch(g|0){case -1:{j=328637;break}case -2:{j=328633;break}case -3:{j=328629;break}case -4:{j=328625;break}case -5:{j=328620;break}case -16:{j=328612;break}case -32:{j=328607;break}case -24:{j=328596;break}case -64:{j=328591;break}case 0:{j=328587;break}case -17:{j=328580;break}default:j=328567}while(0);c[p>>2]=b;c[p+4>>2]=f;c[p+8>>2]=j;c[p+12>>2]=h?323896:323901;mn(i,327141,p);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+76>>2]|0;j=d;d=c[j+4>>2]|0;k=m;c[k>>2]=c[j>>2];c[k+4>>2]=d;k=e;e=c[k+4>>2]|0;d=n;c[d>>2]=c[k>>2];c[d+4>>2]=e;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];g=ka[l&31](a,b,o,p,f,g,h)|0;aa=q;return g|0}function cu(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;p=aa;aa=aa+48|0;o=p+16|0;n=p+32|0;l=p+8|0;m=p;j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){h=a+8|0;if(i)k=6}else{h=a+8|0;do{nn(c[h>>2]|0,16560,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)nn(c[h>>2]|0,16560,i,0,0);k=c[h>>2]|0;c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=g;mn(k,327076,o);a=c[a+12>>2]|0;k=c[(c[a>>2]|0)+80>>2]|0;i=d;d=c[i+4>>2]|0;j=l;c[j>>2]=c[i>>2];c[j+4>>2]=d;j=e;e=c[j+4>>2]|0;d=m;c[d>>2]=c[j>>2];c[d+4>>2]=e;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];o=ja[k&31](a,b,n,o,f,g)|0;aa=p;return o|0}function du(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,327058,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+84>>2]&127](g)|0;aa=h;return g|0}function eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,327031,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+88>>2]&511](h,b)|0;aa=i;return h|0}function fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,327010,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+92>>2]&511](h,b)|0;aa=i;return h|0}function gu(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,326972,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+96>>2]&127](i,b,d)|0;aa=j;return i|0}function hu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,326952,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+100>>2]&127](g)|0;aa=h;return g|0}function iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,326928,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+104>>2]&511](h,b)|0;aa=i;return h|0}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326910,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+108>>2]&511](h,b)|0;aa=i;return h|0}function ku(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;n=aa;aa=aa+144|0;m=n+128|0;j=n+120|0;i=n+104|0;l=n;h=f;g=c[h>>2]|0;h=c[h+4>>2]|0;if(!(a[f+16>>0]|0)){i=j;c[i>>2]=g;c[i+4>>2]=h;yz(l,100,326771,j)|0}else{o=f+8|0;p=c[o>>2]|0;o=c[o+4>>2]|0;j=i;c[j>>2]=g;c[j+4>>2]=h;j=i+8|0;c[j>>2]=p;c[j+4>>2]=o;yz(l,100,326746,i)|0}i=b+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=b+8|0;if(h)k=9}else{g=b+8|0;do{nn(c[g>>2]|0,16560,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;k=9}if((k|0)==9)nn(c[g>>2]|0,16560,h,0,0);g=c[g>>2]|0;do switch(e|0){case -1:{h=328637;break}case -2:{h=328633;break}case -3:{h=328629;break}case -4:{h=328625;break}case -5:{h=328620;break}case -16:{h=328612;break}case -32:{h=328607;break}case -24:{h=328596;break}case -64:{h=328591;break}case 0:{h=328587;break}case -17:{h=328580;break}default:h=328567}while(0);c[m>>2]=d;c[m+4>>2]=h;c[m+8>>2]=l;mn(g,326871,m);p=c[b+12>>2]|0;p=ha[c[(c[p>>2]|0)+112>>2]&63](p,d,e,f)|0;aa=n;return p|0}function lu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,326854,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+116>>2]&127](g)|0;aa=h;return g|0}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,326829,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+120>>2]&511](h,b)|0;aa=i;return h|0}function nu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326810,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+124>>2]&511](h,b)|0;aa=i;return h|0}function ou(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;m=aa;aa=aa+144|0;l=m+128|0;i=m+120|0;h=m+104|0;k=m;g=e;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(a[e+16>>0]|0)){h=i;c[h>>2]=f;c[h+4>>2]=g;yz(k,100,326771,i)|0}else{n=e+8|0;o=c[n>>2]|0;n=c[n+4>>2]|0;i=h;c[i>>2]=f;c[i+4>>2]=g;i=h+8|0;c[i>>2]=o;c[i+4>>2]=n;yz(k,100,326746,h)|0}h=b+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=b+8|0;if(g)j=9}else{f=b+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;j=9}if((j|0)==9)nn(c[f>>2]|0,16560,g,0,0);o=c[f>>2]|0;c[l>>2]=d;c[l+4>>2]=k;mn(o,326785,l);o=c[b+12>>2]|0;o=ga[c[(c[o>>2]|0)+128>>2]&127](o,d,e)|0;aa=m;return o|0}function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,326728,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+132>>2]&127](g)|0;aa=h;return g|0}function qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,326703,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+136>>2]&511](h,b)|0;aa=i;return h|0}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326684,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+140>>2]&511](h,b)|0;aa=i;return h|0}function su(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);f=c[f>>2]|0;do switch(d|0){case -1:{g=328637;break}case -2:{g=328633;break}case -3:{g=328629;break}case -4:{g=328625;break}case -5:{g=328620;break}case -16:{g=328612;break}case -32:{g=328607;break}case -24:{g=328596;break}case -64:{g=328591;break}case 0:{g=328587;break}case -17:{g=328580;break}default:g=328567}while(0);c[j>>2]=b;c[j+4>>2]=g;c[j+8>>2]=e?323896:323901;mn(f,326637,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+144>>2]&63](j,b,d,e)|0;aa=k;return j|0}function tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326612,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+148>>2]&511](h,b)|0;aa=i;return h|0}function uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326589,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+152>>2]&511](h,b)|0;aa=i;return h|0}function vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326574,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+156>>2]&511](h,b)|0;aa=i;return h|0}function wu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,326556,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+160>>2]&127](g)|0;aa=h;return g|0}function xu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,326531,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+164>>2]&511](h,b)|0;aa=i;return h|0}function yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326512,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+168>>2]&511](h,b)|0;aa=i;return h|0}function zu(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=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{nn(c[g>>2]|0,16560,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)nn(c[g>>2]|0,16560,h,0,0);j=c[g>>2]|0;g=c[64+(d<<2)>>2]|0;i=c[f+4>>2]|0;h=c[f>>2]|0;c[l>>2]=b;c[l+4>>2]=g;c[l+8>>2]=e;c[l+12>>2]=i;c[l+16>>2]=h;mn(j,326451,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+172>>2]|0;h=f;i=c[h+4>>2]|0;f=k;c[f>>2]=c[h>>2];c[f+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,e,l)|0;aa=m;return l|0}function Au(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,326433,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+176>>2]&127](g)|0;aa=h;return g|0}function Bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,326409,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+180>>2]&511](h,b)|0;aa=i;return h|0}function Cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326388,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+184>>2]&511](h,b)|0;aa=i;return h|0}function Du(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,326371,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+188>>2]&127](g)|0;aa=h;return g|0}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,326348,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+192>>2]&511](h,b)|0;aa=i;return h|0}function Fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326323,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+196>>2]&511](h,b)|0;aa=i;return h|0}function Gu(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,326290,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+200>>2]&127](i,b,d)|0;aa=j;return i|0}function Hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,326268,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+204>>2]&511](h,b)|0;aa=i;return h|0}function Iu(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);f=c[f>>2]|0;do switch(e|0){case -1:{g=328637;break}case -2:{g=328633;break}case -3:{g=328629;break}case -4:{g=328625;break}case -5:{g=328620;break}case -16:{g=328612;break}case -32:{g=328607;break}case -24:{g=328596;break}case -64:{g=328591;break}case 0:{g=328587;break}case -17:{g=328580;break}default:g=328567}while(0);c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=g;mn(f,326223,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+208>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=aa;aa=aa+16|0;e=d+4|0;g=d;a=c[a+12>>2]|0;f=c[(c[a>>2]|0)+212>>2]|0;c[g>>2]=c[b>>2];c[e>>2]=c[g>>2];a=fa[f&511](a,e)|0;aa=d;return a|0}function Ku(a){a=a|0;a=c[a+12>>2]|0;return ea[c[(c[a>>2]|0)+216>>2]&127](a)|0}function Lu(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+220>>2]&511](a,b)|0}function Mu(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+224>>2]&511](a,b)|0}function Nu(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+228>>2]&127](a,b,d)|0}function Ou(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+232>>2]&127](a,b,d)|0}function Pu(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+236>>2]&127](a,b,d)|0}function Qu(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+240>>2]&511](a,b)|0}function Ru(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+244>>2]&127](a,b,d)|0}function Su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aa;aa=aa+16|0;e=d;a=c[a+12>>2]|0;f=c[(c[a>>2]|0)+248>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=fa[f&511](a,e)|0;aa=d;return b|0}function Tu(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+252>>2]&511](a,b)|0}function Uu(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Zl(l,b);h=c[l>>2]|0;Zl(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;mn(i,326158,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+256>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function Vu(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Zl(l,b);h=c[l>>2]|0;Zl(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;mn(i,326092,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+260>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function Wu(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Zl(l,b);h=c[l>>2]|0;Zl(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;mn(i,326028,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+264>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function Xu(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Zl(l,b);h=c[l>>2]|0;Zl(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;mn(i,325957,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+268>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function Yu(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Zl(l,b);h=c[l>>2]|0;Zl(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;mn(i,325892,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+272>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function Zu(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Zl(l,b);h=c[l>>2]|0;Zl(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;mn(i,325825,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+276>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|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;k=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Zl(j,b);f=c[j>>2]|0;Zl(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;mn(g,325800,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+280>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|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;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);mn(c[d>>2]|0,325782,h);lx(c[d>>2]|0,b);mn(c[d>>2]|0,324528,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+284>>2]&511](i,b)|0;aa=j;return i|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=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,325761,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+288>>2]&511](h,b)|0;aa=i;return h|0}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,325738,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+292>>2]&511](h,b)|0;aa=i;return h|0}function cv(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,325695,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+296>>2]&127](i,b,d)|0;aa=j;return i|0}function dv(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=aa;aa=aa+32|0;l=n+24|0;k=n+16|0;m=n+8|0;j=n;h=a+16|0;f=c[h>>2]|0;if(f>>>0<=142){g=a+8|0;if(f)i=6}else{g=a+8|0;do{nn(c[g>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[h>>2]|0;i=6}if((i|0)==6)nn(c[g>>2]|0,16560,f,0,0);f=c[g>>2]|0;c[j>>2]=b;mn(f,325637,j);f=c[g>>2]|0;if(b){i=b+-1|0;h=0;do{c[k>>2]=c[d+(h<<2)>>2];mn(f,329253,k);if((h|0)!=(i|0))mn(c[g>>2]|0,328641,l);h=h+1|0;f=c[g>>2]|0}while((h|0)!=(b|0))}c[m>>2]=e;mn(f,325678,m);m=c[a+12>>2]|0;m=ha[c[(c[m>>2]|0)+300>>2]&63](m,b,d,e)|0;aa=n;return m|0}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,325609,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+304>>2]&511](h,b)|0;aa=i;return h|0}function fv(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,325557,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+308>>2]&127](i,b,d)|0;aa=j;return i|0}function gv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,325544,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+312>>2]&127](g)|0;aa=h;return g|0}function hv(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=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Zl(j,b);f=c[j>>2]|0;Zl(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;mn(g,325518,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+316>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function iv(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=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Zl(j,b);f=c[j>>2]|0;Zl(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;mn(g,325492,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+320>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function jv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,325480,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+324>>2]&127](g)|0;aa=h;return g|0}function kv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,325468,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+328>>2]&127](g)|0;aa=h;return g|0}function lv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,325457,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+332>>2]&127](g)|0;aa=h;return g|0}function mv(a){a=a|0;a=c[a+12>>2]|0;return ea[c[(c[a>>2]|0)+336>>2]&127](a)|0}function nv(a,b){a=a|0;b=b|0;var d=0,e=0,i=0,j=0,k=0.0,l=0,m=0;m=aa;aa=aa+16|0;l=m;k=(c[h>>2]=b,+f[h>>2]);i=a+16|0;e=c[i>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)j=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[i>>2]|0;j=6}if((j|0)==6)nn(c[d>>2]|0,16560,e,0,0);j=c[d>>2]|0;g[l>>3]=k;c[l+8>>2]=b;mn(j,325428,l);l=c[a+12>>2]|0;l=fa[c[(c[l>>2]|0)+340>>2]&511](l,b)|0;aa=m;return l|0}function ov(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0.0,l=0,m=0;m=aa;aa=aa+16|0;l=m;c[h>>2]=b;c[h+4>>2]=d;k=+g[h>>3];i=a+16|0;f=c[i>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)j=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[i>>2]|0;j=6}if((j|0)==6)nn(c[e>>2]|0,16560,f,0,0);j=c[e>>2]|0;g[l>>3]=k;i=l+8|0;c[i>>2]=b;c[i+4>>2]=d;mn(j,325397,l);l=c[a+12>>2]|0;l=ga[c[(c[l>>2]|0)+344>>2]&127](l,b,d)|0;aa=m;return l|0}function pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;d=c[b+4>>2]|0;e=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=c[b>>2];c[h+4>>2]=d;c[h+8>>2]=e;c[h+12>>2]=f;mn(g,325351,h);a=c[a+12>>2]|0;g=c[(c[a>>2]|0)+348>>2]|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];h=fa[g&511](a,h)|0;aa=i;return h|0}function qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,325323,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+352>>2]&511](h,b)|0;aa=i;return h|0}function rv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,325295,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+356>>2]&511](h,b)|0;aa=i;return h|0}function sv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;c[h+4>>2]=b;mn(g,325268,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+360>>2]&511](h,b)|0;aa=i;return h|0}function tv(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;g=i;c[g>>2]=b;c[g+4>>2]=d;g=i+8|0;c[g>>2]=b;c[g+4>>2]=d;mn(h,325237,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+364>>2]&127](i,b,d)|0;aa=j;return i|0}function uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);mn(c[d>>2]|0,325222,h);lx(c[d>>2]|0,b);mn(c[d>>2]|0,324528,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+368>>2]&511](i,b)|0;aa=j;return i|0}function vv(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Zl(l,b);h=c[l>>2]|0;Zl(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;mn(i,325163,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+372>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,325136,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+376>>2]&511](h,b)|0;aa=i;return h|0}function xv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,325109,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+380>>2]&511](h,b)|0;aa=i;return h|0}function yv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,325082,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+384>>2]&511](h,b)|0;aa=i;return h|0}function zv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);mn(c[d>>2]|0,325065,h);lx(c[d>>2]|0,b);mn(c[d>>2]|0,324528,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+388>>2]&511](i,b)|0;aa=j;return i|0}function Av(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,325047,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+392>>2]&127](g)|0;aa=h;return g|0}function Bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,325027,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+396>>2]&511](h,b)|0;aa=i;return h|0}function Cv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,325009,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+400>>2]&127](g)|0;aa=h;return g|0}function Dv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324991,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+404>>2]&127](g)|0;aa=h;return g|0}function Ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324969,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+408>>2]&511](h,b)|0;aa=i;return h|0}function Fv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324951,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+412>>2]&127](g)|0;aa=h;return g|0}function Gv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324934,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+416>>2]&127](g)|0;aa=h;return g|0}function Hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324914,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+420>>2]&511](h,b)|0;aa=i;return h|0}function Iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324893,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+424>>2]&511](h,b)|0;aa=i;return h|0}function Jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324873,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+428>>2]&511](h,b)|0;aa=i;return h|0}function Kv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324853,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+432>>2]&511](h,b)|0;aa=i;return h|0}function Lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324832,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+436>>2]&511](h,b)|0;aa=i;return h|0}function Mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324811,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+440>>2]&511](h,b)|0;aa=i;return h|0}function Nv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324796,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+444>>2]&127](g)|0;aa=h;return g|0}function Ov(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324779,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+448>>2]&127](g)|0;aa=h;return g|0}function Pv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324768,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+452>>2]&127](g)|0;aa=h;return g|0}function Qv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324753,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+456>>2]&127](g)|0;aa=h;return g|0}function Rv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324739,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+460>>2]&127](g)|0;aa=h;return g|0}function Sv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324705,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+464>>2]&511](h,b)|0;aa=i;return h|0}function Tv(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,324647,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+468>>2]&127](i,b,d)|0;aa=j;return i|0}function Uv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324633,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+472>>2]&127](g)|0;aa=h;return g|0}function Vv(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Zl(l,b);h=c[l>>2]|0;Zl(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;mn(i,324573,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+476>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324543,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+480>>2]&511](h,b)|0;aa=i;return h|0}function Xv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);mn(c[d>>2]|0,324512,h);lx(c[d>>2]|0,b);mn(c[d>>2]|0,324528,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+484>>2]&511](i,b)|0;aa=j;return i|0}function Yv(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=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Zl(j,b);f=c[j>>2]|0;Zl(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;mn(g,324488,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+488>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function Zv(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=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Zl(j,b);f=c[j>>2]|0;Zl(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;mn(g,324462,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+492>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function _v(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324443,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+496>>2]&127](g)|0;aa=h;return g|0}function $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324422,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+500>>2]&511](h,b)|0;aa=i;return h|0}function aw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324406,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+504>>2]&127](g)|0;aa=h;return g|0}function bw(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=aa;aa=aa+16|0;k=l;j=l+8|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;h=k;c[h>>2]=d;c[h+4>>2]=e;mn(i,324375,k);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+508>>2]|0;c[j>>2]=c[b>>2];c[k>>2]=c[j>>2];a=ha[i&63](a,k,d,e)|0;aa=l;return a|0}function cw(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=aa;aa=aa+32|0;k=l;j=l+20|0;i=l+16|0;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;e=c[d+4>>2]|0;f=c[d+8>>2]|0;g=c[d+12>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=e;c[k+8>>2]=f;c[k+12>>2]=g;mn(h,324324,k);a=c[a+12>>2]|0;h=c[(c[a>>2]|0)+512>>2]|0;c[i>>2]=c[b>>2];c[j>>2]=c[i>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];k=ga[h&127](a,j,k)|0;aa=l;return k|0}function dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,324301,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+516>>2]&511](h,b)|0;aa=i;return h|0}function ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324277,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+520>>2]&511](h,b)|0;aa=i;return h|0}function fw(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e?323896:323901;mn(i,324218,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+524>>2]&63](j,b,d,e)|0;aa=k;return j|0}function gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324188,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+528>>2]&511](h,b)|0;aa=i;return h|0}function hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324160,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+532>>2]&511](h,b)|0;aa=i;return h|0}function iw(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,324105,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+536>>2]&127](i,b,d)|0;aa=j;return i|0}function jw(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,324050,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+540>>2]&127](i,b,d)|0;aa=j;return i|0}function kw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,324030,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+544>>2]&511](h,b)|0;aa=i;return h|0}function lw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,324014,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+548>>2]&127](g)|0;aa=h;return g|0}function mw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,323991,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+552>>2]&511](h,b)|0;aa=i;return h|0}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,323967,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+556>>2]&511](h,b)|0;aa=i;return h|0}function ow(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e?323896:323901;mn(i,323907,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+560>>2]&63](j,b,d,e)|0;aa=k;return j|0}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,323866,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+564>>2]&511](h,b)|0;aa=i;return h|0}function qw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,323838,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+568>>2]&511](h,b)|0;aa=i;return h|0}function rw(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=e;mn(i,323800,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+572>>2]&63](j,b,d,e)|0;aa=k;return j|0}function sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,323780,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+576>>2]&511](h,b)|0;aa=i;return h|0}function tw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,323764,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+580>>2]&127](g)|0;aa=h;return g|0}function uw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,323736,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+584>>2]&511](h,b)|0;aa=i;return h|0}function vw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,323719,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+588>>2]&511](h,b)|0;aa=i;return h|0}function ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,323698,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+592>>2]&127](g)|0;aa=h;return g|0}function xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,323674,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+596>>2]&511](h,b)|0;aa=i;return h|0}function yw(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e;mn(i,323617,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+600>>2]&63](j,b,d,e)|0;aa=k;return j|0}function zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;e=c[b>>2]|0;c[i>>2]=c[b+4>>2];c[i+4>>2]=e;mn(g,323589,i);a=c[a+12>>2]|0;g=c[(c[a>>2]|0)+604>>2]|0;e=b;f=c[e+4>>2]|0;b=h;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];i=fa[g&511](a,i)|0;aa=j;return i|0}function Aw(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e;mn(i,323530,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+608>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Bw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,323504,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+612>>2]&511](h,b)|0;aa=i;return h|0}function Cw(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=aa;aa=aa+32|0;j=k+8|0;i=k;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;g=c[d+4>>2]|0;f=c[d>>2]|0;c[j>>2]=b;c[j+4>>2]=g;c[j+8>>2]=f;mn(h,323463,j);a=c[a+12>>2]|0;h=c[(c[a>>2]|0)+616>>2]|0;f=d;g=c[f+4>>2]|0;d=i;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];j=ga[h&127](a,b,j)|0;aa=k;return j|0}function Dw(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e;mn(i,323407,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+620>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,323377,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+624>>2]&511](h,b)|0;aa=i;return h|0}function Fw(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,323332,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+628>>2]&127](i,b,d)|0;aa=j;return i|0}function Gw(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=aa;aa=aa+32|0;k=l+8|0;j=l;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;h=c[e+4>>2]|0;g=c[e>>2]|0;c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=h;c[k+12>>2]=g;mn(i,323272,k);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+632>>2]|0;g=e;h=c[g+4>>2]|0;e=j;c[e>>2]=c[g>>2];c[e+4>>2]=h;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];k=ha[i&63](a,b,d,k)|0;aa=l;return k|0}function Hw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,323255,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+636>>2]&127](g)|0;aa=h;return g|0}function Iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,323231,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+640>>2]&511](h,b)|0;aa=i;return h|0}function Jw(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,323193,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+644>>2]&127](i,b,d)|0;aa=j;return i|0}function Kw(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;l=aa;aa=aa+16|0;k=l;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{nn(c[g>>2]|0,16560,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)nn(c[g>>2]|0,16560,h,0,0);j=c[g>>2]|0;c[k>>2]=c[96+(b<<2)>>2];c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=f;mn(j,323138,k);k=c[a+12>>2]|0;k=ia[c[(c[k>>2]|0)+648>>2]&31](k,b,d,e,f)|0;aa=l;return k|0}function Lw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,323121,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+652>>2]&127](g)|0;aa=h;return g|0}function Mw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,323096,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+656>>2]&511](h,b)|0;aa=i;return h|0}function Nw(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;l=aa;aa=aa+16|0;k=l;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{nn(c[g>>2]|0,16560,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)nn(c[g>>2]|0,16560,h,0,0);j=c[g>>2]|0;c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=f;mn(j,323020,k);k=c[a+12>>2]|0;k=ia[c[(c[k>>2]|0)+660>>2]&31](k,b,d,e,f)|0;aa=l;return k|0}function Ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,322995,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+664>>2]&511](h,b)|0;aa=i;return h|0}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;e=c[b>>2]|0;c[i>>2]=c[b+4>>2];c[i+4>>2]=e;mn(g,322967,i);a=c[a+12>>2]|0;g=c[(c[a>>2]|0)+668>>2]|0;e=b;f=c[e+4>>2]|0;b=h;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];i=fa[g&511](a,i)|0;aa=j;return i|0}function Qw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,322949,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+672>>2]&127](g)|0;aa=h;return g|0}function Rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,322923,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+676>>2]&511](h,b)|0;aa=i;return h|0}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,322904,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+680>>2]&511](h,b)|0;aa=i;return h|0}function Tw(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=aa;aa=aa+16|0;k=l;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);f=c[f>>2]|0;switch(d|0){case 0:{j=328607;break}case 2:{j=327973;break}case 1:{j=327934;break}case 3:{j=322864;break}default:{}}c[k>>2]=j;c[k+4>>2]=e;mn(f,322872,k);k=c[a+12>>2]|0;k=ha[c[(c[k>>2]|0)+684>>2]&63](k,b,d,e)|0;aa=l;return k|0}function Uw(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;o=aa;aa=aa+32|0;n=o+8|0;m=o;k=a+16|0;j=c[k>>2]|0;if(j>>>0<=142){i=a+8|0;if(j)l=6}else{i=a+8|0;do{nn(c[i>>2]|0,16560,142,0,0);j=j+-142|0}while(j>>>0>142);j=c[k>>2]|0;l=6}if((l|0)==6)nn(c[i>>2]|0,16560,j,0,0);l=c[i>>2]|0;j=c[e>>2]|0;c[n>>2]=c[e+4>>2];c[n+4>>2]=j;c[n+8>>2]=d;mn(l,322826,n);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+688>>2]|0;j=e;k=c[j+4>>2]|0;e=m;c[e>>2]=c[j>>2];c[e+4>>2]=k;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];n=ka[l&31](a,b,d,n,f,g,h)|0;aa=o;return n|0}function Vw(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=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{nn(c[g>>2]|0,16560,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)nn(c[g>>2]|0,16560,h,0,0);j=c[g>>2]|0;h=c[e>>2]|0;c[l>>2]=c[e+4>>2];c[l+4>>2]=h;c[l+8>>2]=d;c[l+12>>2]=f;mn(j,322774,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+692>>2]|0;h=e;i=c[h+4>>2]|0;e=k;c[e>>2]=c[h>>2];c[e+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,l,f)|0;aa=m;return l|0}function Ww(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=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{nn(c[g>>2]|0,16560,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)nn(c[g>>2]|0,16560,h,0,0);j=c[g>>2]|0;h=c[e>>2]|0;c[l>>2]=c[e+4>>2];c[l+4>>2]=h;c[l+8>>2]=d;c[l+12>>2]=f;mn(j,322724,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+696>>2]|0;h=e;i=c[h+4>>2]|0;e=k;c[e>>2]=c[h>>2];c[e+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,l,f)|0;aa=m;return l|0}function Xw(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;c[j>>2]=d;c[j+4>>2]=e;mn(i,322684,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+700>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,322660,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+704>>2]&511](h,b)|0;aa=i;return h|0}function Zw(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=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{nn(c[g>>2]|0,16560,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)nn(c[g>>2]|0,16560,h,0,0);j=c[g>>2]|0;i=c[d+4>>2]|0;h=c[d>>2]|0;c[l>>2]=b;c[l+4>>2]=i;c[l+8>>2]=h;c[l+12>>2]=e;c[l+16>>2]=f;mn(j,322601,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+708>>2]|0;h=d;i=c[h+4>>2]|0;d=k;c[d>>2]=c[h>>2];c[d+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,l,e,f)|0;aa=m;return l|0}function _w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,322576,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+712>>2]&511](h,b)|0;aa=i;return h|0}function $w(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=d;c[i+4>>2]=b;mn(h,322543,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+716>>2]&127](i,b,d)|0;aa=j;return i|0}function ax(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,322524,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+720>>2]&127](g)|0;aa=h;return g|0}function bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,322500,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+724>>2]&511](h,b)|0;aa=i;return h|0}function cx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,322482,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+728>>2]&511](h,b)|0;aa=i;return h|0}function dx(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,322443,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+732>>2]&127](i,b,d)|0;aa=j;return i|0}function ex(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,322426,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+736>>2]&127](g)|0;aa=h;return g|0}function fx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,i=0,j=0,k=0,l=0.0,m=0,n=0;n=aa;aa=aa+32|0;m=n;l=(c[h>>2]=d,+f[h>>2]);j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){e=a+8|0;if(i)k=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)nn(c[e>>2]|0,16560,i,0,0);k=c[e>>2]|0;c[m>>2]=b;g[m+8>>3]=l;c[m+16>>2]=d;mn(k,322371,m);m=c[a+12>>2]|0;m=ga[c[(c[m>>2]|0)+740>>2]&127](m,b,d)|0;aa=n;return m|0}function gx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,l=0.0,m=0,n=0;n=aa;aa=aa+32|0;m=n;c[h>>2]=d;c[h+4>>2]=e;l=+g[h>>3];j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){f=a+8|0;if(i)k=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)nn(c[f>>2]|0,16560,i,0,0);k=c[f>>2]|0;c[m>>2]=b;g[m+8>>3]=l;j=m+16|0;c[j>>2]=d;c[j+4>>2]=e;mn(k,322315,m);m=c[a+12>>2]|0;m=ha[c[(c[m>>2]|0)+744>>2]&63](m,b,d,e)|0;aa=n;return m|0}function hx(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;j=aa;aa=aa+32|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;k=c[d>>2]|0;e=c[d+4>>2]|0;f=c[d+8>>2]|0;g=c[d+12>>2]|0;c[i>>2]=b;c[i+4>>2]=k;c[i+8>>2]=e;c[i+12>>2]=f;c[i+16>>2]=g;mn(h,322241,i);a=c[a+12>>2]|0;h=c[(c[a>>2]|0)+748>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];i=ga[h&127](a,b,i)|0;aa=j;return i|0}function ix(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,322187,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+752>>2]&127](i,b,d)|0;aa=j;return i|0}function jx(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)nn(c[e>>2]|0,16560,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;mn(h,322141,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+756>>2]&127](i,b,d)|0;aa=j;return i|0}function kx(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;c[j>>2]=b;h=j+8|0;c[h>>2]=d;c[h+4>>2]=e;mn(i,322093,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+760>>2]&63](j,b,d,e)|0;aa=k;return j|0}function lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f+8|0;d=f;if((b|0)>-1){c[d>>2]=b;mn(a,324531,d);aa=f;return}do switch(b|0){case -1:{b=328637;break}case -2:{b=328633;break}case -3:{b=328629;break}case -4:{b=328625;break}case -5:{b=328620;break}case -16:{b=328612;break}case -32:{b=328607;break}case -24:{b=328596;break}case -64:{b=328591;break}case -17:{b=328580;break}default:b=328567}while(0);c[e>>2]=b;mn(a,328562,e);aa=f;return}function mx(a,b,d){a=a|0;b=b|0;d=d|0;c[a+4>>2]=0;c[a>>2]=290348;c[a+8>>2]=b;c[a+12>>2]=d;c[a+16>>2]=0;return}function nx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;e=h+24|0;g=h;if(!(c[a+12>>2]|0)){aa=h;return}c[e>>2]=0;f=e+4|0;c[f>>2]=0;c[e+8>>2]=0;ox(a,e);d=c[e>>2]|0;px(d,c[f>>2]|0);a=c[b+16>>2]|0;do if(a)if((b|0)==(a|0)){b=g+16|0;c[b>>2]=g;na[c[(c[a>>2]|0)+12>>2]&31](a,g);a=b;break}else{b=ea[c[(c[a>>2]|0)+8>>2]&127](a)|0;a=g+16|0;c[a>>2]=b;break}else{a=g+16|0;c[a>>2]=0}while(0);qx(e,g);a=c[a>>2]|0;if((g|0)!=(a|0)){if(a|0)ma[c[(c[a>>2]|0)+20>>2]&255](a)}else ma[c[(c[a>>2]|0)+16>>2]&255](a);if(d|0){c[f>>2]=d;HA(d)}aa=h;return}function ox(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;s=aa;aa=aa+16|0;r=s;b=c[b+8>>2]|0;e=c[b>>2]|0;if(!e){aa=s;return}p=d+4|0;q=d+8|0;m=1;o=e;while(1){i=b;l=i+8|0;h=o;n=h+8|0;f=a[l+11>>0]|0;k=f<<24>>24<0;f=f&255;i=k?c[i+12>>2]|0:f;j=a[n+11>>0]|0;e=j<<24>>24<0;a:do if((i|0)==((e?c[h+12>>2]|0:j&255)|0)){g=c[l>>2]|0;j=k?g:l;e=e?c[n>>2]|0:n;h=(i|0)==0;g=g&255;b:do if(k){if(!h?zz(j,e,i)|0:0){b=o;e=1;break a}}else if(!h){if((a[e>>0]|0)!=g<<24>>24){b=o;e=1;break a}g=l;while(1){f=f+-1|0;g=g+1|0;if(!f)break b;e=e+1|0;if((a[g>>0]|0)!=(a[e>>0]|0)){b=o;e=1;break a}}}while(0);if(m){c[r>>2]=l;e=c[p>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[e>>2]=l;c[p>>2]=(c[p>>2]|0)+4}else ux(d,r)}c[r>>2]=n;e=c[p>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[e>>2]=n;c[p>>2]=(c[p>>2]|0)+4}else ux(d,r);e=0}else{b=o;e=1}while(0);o=c[o>>2]|0;if(!o)break;else m=e}aa=s;return}function px(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;a:while(1){r=b;d=b+-4|0;q=b+-8|0;b:while(1){p=a;f=r-p|0;e=f>>2;switch(e|0){case 2:{q=4;break a}case 3:{q=8;break a}case 4:{q=26;break a}case 5:{q=27;break a}case 1:case 0:{q=144;break a}default:{}}if((f|0)<124){q=29;break a}m=a+(((e|0)/2|0)<<2)|0;do if((f|0)>3996){e=(e|0)/4|0;e=sx(a,a+(e<<2)|0,m,m+(e<<2)|0,d)|0}else{h=c[m>>2]|0;n=c[a>>2]|0;i=c[h+20>>2]|0;l=n+20|0;e=c[l>>2]|0;k=h;o=n;if((i|0)>=(e|0))if((i|0)==(e|0))g=(c[h+24>>2]|0)<(c[n+24>>2]|0);else g=0;else g=1;e=c[d>>2]|0;f=c[e+20>>2]|0;j=e;if((f|0)>=(i|0))if((f|0)==(i|0))e=(c[e+24>>2]|0)<(c[h+24>>2]|0);else e=0;else e=1;if(!g){if(!e){e=0;break}c[m>>2]=j;c[d>>2]=k;e=c[m>>2]|0;f=c[a>>2]|0;g=c[e+20>>2]|0;h=c[f+20>>2]|0;i=f;j=e;if((g|0)>=(h|0)){if((g|0)!=(h|0)){e=1;break}if((c[e+24>>2]|0)>=(c[f+24>>2]|0)){e=1;break}}c[a>>2]=j;c[m>>2]=i;e=2;break}if(e){c[a>>2]=j;c[d>>2]=o;e=1;break}c[a>>2]=k;c[m>>2]=o;g=c[d>>2]|0;h=c[g+20>>2]|0;e=c[l>>2]|0;f=g;if((h|0)>=(e|0)){if((h|0)!=(e|0)){e=1;break}if((c[g+24>>2]|0)>=(c[n+24>>2]|0)){e=1;break}}c[m>>2]=f;c[d>>2]=o;e=2}while(0);l=c[a>>2]|0;f=c[m>>2]|0;n=c[l+20>>2]|0;j=c[f+20>>2]|0;k=l;do if((n|0)<(j|0))g=d;else{if((n|0)==(j|0)?(c[l+24>>2]|0)<(c[f+24>>2]|0):0){g=d;break}if((a|0)==(q|0)){i=q;q=87;break b}i=f+24|0;g=q;while(1){f=c[g>>2]|0;h=c[f+20>>2]|0;if((h|0)<(j|0))break;if((h|0)==(j|0)?(c[f+24>>2]|0)<(c[i>>2]|0):0)break;g=g+-4|0;if((a|0)==(g|0)){i=a;q=87;break b}}c[a>>2]=f;c[g>>2]=k;e=e+1|0}while(0);f=a+4|0;c:do if(f>>>0<g>>>0)while(1){k=c[m>>2]|0;j=c[k+20>>2]|0;k=k+24|0;l=f;while(1){f=c[l>>2]|0;h=c[f+20>>2]|0;if((h|0)>=(j|0)){if((h|0)!=(j|0))break;if((c[f+24>>2]|0)>=(c[k>>2]|0))break}l=l+4|0}h=g+-4|0;i=c[h>>2]|0;g=c[i+20>>2]|0;d:do if((g|0)>=(j|0))do{if((g|0)==(j|0)?(c[i+24>>2]|0)<(c[k>>2]|0):0)break d;h=h+-4|0;i=c[h>>2]|0;g=c[i+20>>2]|0}while((g|0)>=(j|0));while(0);if(l>>>0>h>>>0){f=l;break c}c[l>>2]=c[h>>2];c[h>>2]=f;f=l+4|0;g=h;m=(m|0)==(l|0)?h:m;e=e+1|0}while(0);do if((f|0)!=(m|0)){g=c[m>>2]|0;h=c[f>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0))break;if((c[g+24>>2]|0)>=(c[h+24>>2]|0))break}c[f>>2]=l;c[m>>2]=k;e=e+1|0}while(0);if(!e){g=tx(a,f)|0;e=f+4|0;if(tx(e,b)|0){q=137;break}if(g){a=e;d=2;q=142;break}}o=f;if((o-p|0)>=(r-o|0)){q=141;break}px(a,f);a=f+4|0}e:do if((q|0)==87){a=i+4|0;e=c[d>>2]|0;f=c[e+20>>2]|0;h=e;do if((n|0)>=(f|0)){if((n|0)==(f|0)?(c[l+24>>2]|0)<(c[e+24>>2]|0):0)break;if((a|0)==(d|0)){q=144;break a}g=l+24|0;while(1){e=c[a>>2]|0;f=c[e+20>>2]|0;if((n|0)<(f|0))break;if((n|0)==(f|0)?(c[g>>2]|0)<(c[e+24>>2]|0):0)break;a=a+4|0;if((a|0)==(d|0)){q=144;break a}}c[a>>2]=h;c[d>>2]=e;a=a+4|0}while(0);if((a|0)==(d|0)){q=144;break a}while(1){g=c[i>>2]|0;f=c[a>>2]|0;h=c[g+20>>2]|0;e=c[f+20>>2]|0;g=g+24|0;f:do if((h|0)>=(e|0))do{if((h|0)==(e|0)?(c[g>>2]|0)<(c[f+24>>2]|0):0)break f;a=a+4|0;f=c[a>>2]|0;e=c[f+20>>2]|0}while((h|0)>=(e|0));while(0);while(1){d=d+-4|0;e=c[d>>2]|0;f=c[e+20>>2]|0;if((h|0)>=(f|0)){if((h|0)!=(f|0))break;if((c[g>>2]|0)>=(c[e+24>>2]|0))break}}if(a>>>0>=d>>>0){d=4;q=142;break e}r=c[a>>2]|0;c[a>>2]=e;c[d>>2]=r;a=a+4|0}}else if((q|0)==137){b=g?b:f;d=g?1:2;q=142}else if((q|0)==141){q=0;px(f+4|0,b);b=f}while(0);if((q|0)==142)switch(d&7){case 2:case 4:case 0:break;default:{q=144;break a}}}if((q|0)==4){b=c[d>>2]|0;e=c[a>>2]|0;f=c[b+20>>2]|0;g=c[e+20>>2]|0;h=e;i=b;if((f|0)>=(g|0)){if((f|0)!=(g|0))return;if((c[b+24>>2]|0)>=(c[e+24>>2]|0))return}c[a>>2]=i;c[d>>2]=h;return}else if((q|0)==8){n=a+4|0;i=c[n>>2]|0;m=c[a>>2]|0;f=c[i+20>>2]|0;k=m+20|0;b=c[k>>2]|0;j=i;l=m;if((f|0)>=(b|0))if((f|0)==(b|0))g=(c[i+24>>2]|0)<(c[m+24>>2]|0);else g=0;else g=1;b=c[d>>2]|0;e=c[b+20>>2]|0;h=b;if((e|0)>=(f|0))if((e|0)==(f|0))b=(c[b+24>>2]|0)<(c[i+24>>2]|0);else b=0;else b=1;if(!g){if(!b)return;c[n>>2]=h;c[d>>2]=j;b=c[n>>2]|0;d=c[a>>2]|0;e=c[b+20>>2]|0;f=c[d+20>>2]|0;g=d;h=b;if((e|0)>=(f|0)){if((e|0)!=(f|0))return;if((c[b+24>>2]|0)>=(c[d+24>>2]|0))return}c[a>>2]=h;c[n>>2]=g;return}if(b){c[a>>2]=h;c[d>>2]=l;return}c[a>>2]=j;c[n>>2]=l;e=c[d>>2]|0;f=c[e+20>>2]|0;a=c[k>>2]|0;b=e;if((f|0)>=(a|0)){if((f|0)!=(a|0))return;if((c[e+24>>2]|0)>=(c[m+24>>2]|0))return}c[n>>2]=b;c[d>>2]=l;return}else if((q|0)==26){rx(a,a+4|0,a+8|0,d)|0;return}else if((q|0)==27){sx(a,a+4|0,a+8|0,a+12|0,d)|0;return}else if((q|0)==29){i=a+8|0;o=a+4|0;d=c[o>>2]|0;p=c[a>>2]|0;h=c[d+20>>2]|0;k=p+20|0;e=c[k>>2]|0;f=d;m=p;if((h|0)>=(e|0))if((h|0)==(e|0))g=(c[d+24>>2]|0)<(c[p+24>>2]|0);else g=0;else g=1;n=c[i>>2]|0;j=n+20|0;e=c[j>>2]|0;l=n;if((e|0)>=(h|0))if((e|0)==(h|0))e=(c[n+24>>2]|0)<(c[d+24>>2]|0);else e=0;else e=1;do if(!g)if(e){c[o>>2]=l;c[i>>2]=f;g=c[j>>2]|0;e=c[k>>2]|0;if((g|0)>=(e|0)){if((g|0)!=(e|0))break;if((c[n+24>>2]|0)>=(c[p+24>>2]|0))break}c[a>>2]=l;c[o>>2]=m}else{f=l;d=n}else{if(e){c[a>>2]=l;c[i>>2]=m;f=m;d=p;break}c[a>>2]=f;c[o>>2]=m;e=c[j>>2]|0;d=c[k>>2]|0;if((e|0)>=(d|0)){if((e|0)!=(d|0)){f=l;d=n;break}if((c[n+24>>2]|0)>=(c[p+24>>2]|0)){f=l;d=n;break}}c[o>>2]=l;c[i>>2]=m;f=m;d=p}while(0);e=a+12|0;if((e|0)==(b|0))return;m=e;while(1){e=c[m>>2]|0;k=e+20|0;g=c[k>>2]|0;h=c[d+20>>2]|0;l=e;if((g|0)>=(h|0)){if((g|0)==(h|0)?(s=e+24|0,(c[s>>2]|0)<(c[d+24>>2]|0)):0){j=s;q=53}}else{j=e+24|0;q=53}if((q|0)==53){q=0;c[m>>2]=f;g:do if((i|0)==(a|0))d=a;else{e=i;while(1){d=e;e=e+-4|0;f=c[e>>2]|0;g=c[k>>2]|0;h=c[f+20>>2]|0;i=f;if((g|0)>=(h|0)){if((g|0)!=(h|0))break g;if((c[j>>2]|0)>=(c[f+24>>2]|0))break g}c[d>>2]=i;if((e|0)==(a|0)){d=a;break}}}while(0);c[d>>2]=l}e=m+4|0;if((e|0)==(b|0))break;f=c[m>>2]|0;i=m;d=f;m=e}return}else if((q|0)==144)return}function qx(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;f=c[b>>2]|0;p=b+4|0;o=c[p>>2]|0;if((f|0)==(o|0))return;n=d+16|0;d=f;e=o;while(1){a:do if((d|0)!=(e|0)){l=c[f>>2]|0;m=a[l+11>>0]|0;k=m<<24>>24<0;m=k?c[l+4>>2]|0:m&255;g=(m|0)==0;if(k){if(g)while(1){l=c[d>>2]|0;m=a[l+11>>0]|0;if(!((m<<24>>24<0?c[l+4>>2]|0:m&255)|0)){e=d;break a}d=d+4|0;if((d|0)==(e|0))break a}do{h=c[d>>2]|0;j=a[h+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?c[h+4>>2]|0:j)|0)==(m|0)){i=c[h>>2]|0;g=c[l>>2]|0;if(k)if(!(zz(i,g,m)|0)){e=d;break a}else break;if((a[g>>0]|0)==(i&255)<<24>>24){i=j;do{i=i+-1|0;h=h+1|0;if(!i){e=d;break a}g=g+1|0}while((a[h>>0]|0)==(a[g>>0]|0))}}while(0);d=d+4|0}while((d|0)!=(e|0))}else{if(g)while(1){l=c[d>>2]|0;m=a[l+11>>0]|0;if(!((m<<24>>24<0?c[l+4>>2]|0:m&255)|0)){e=d;break a}d=d+4|0;if((d|0)==(e|0))break a}do{g=c[d>>2]|0;i=a[g+11>>0]|0;j=i<<24>>24<0;i=i&255;do if(((j?c[g+4>>2]|0:i)|0)==(m|0)){h=c[g>>2]|0;if(j)if(!(zz(h,l,m)|0)){e=d;break a}else break;if((a[l>>0]|0)==(h&255)<<24>>24){h=l;do{i=i+-1|0;g=g+1|0;if(!i){e=d;break a}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);d=d+4|0}while((d|0)!=(e|0))}}while(0);if((e|0)!=(f|0)){d=c[n>>2]|0;if(!d){d=34;break}oa[c[(c[d>>2]|0)+24>>2]&15](d,c[e>>2]|0,c[f>>2]|0)}f=f+4|0;if((f|0)==(o|0)){d=3;break}d=c[b>>2]|0;e=c[p>>2]|0}if((d|0)==3)return;else if((d|0)==34)U()}function rx(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;n=c[b>>2]|0;m=c[a>>2]|0;f=n+20|0;h=c[f>>2]|0;q=m+20|0;g=c[q>>2]|0;p=n;o=m;if((h|0)>=(g|0))if((h|0)==(g|0))i=(c[n+24>>2]|0)<(c[m+24>>2]|0);else i=0;else i=1;k=c[d>>2]|0;l=k+20|0;g=c[l>>2]|0;j=k;if((g|0)>=(h|0))if((g|0)==(h|0))g=(c[k+24>>2]|0)<(c[n+24>>2]|0);else g=0;else g=1;do if(!i)if(g){c[b>>2]=j;c[d>>2]=p;g=c[b>>2]|0;h=c[a>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0)){k=n;j=p;m=1;break}if((c[g+24>>2]|0)>=(c[h+24>>2]|0)){k=n;j=p;m=1;break}}c[a>>2]=l;c[b>>2]=k;f=c[d>>2]|0;k=f;j=f;f=f+20|0;m=2}else{f=l;m=0}else{if(g){c[a>>2]=j;c[d>>2]=o;k=m;j=o;f=q;m=1;break}c[a>>2]=p;c[b>>2]=o;g=c[d>>2]|0;f=g+20|0;h=c[f>>2]|0;i=c[q>>2]|0;j=g;if((h|0)>=(i|0)){if((h|0)!=(i|0)){k=g;m=1;break}if((c[g+24>>2]|0)>=(c[m+24>>2]|0)){k=g;m=1;break}}c[b>>2]=j;c[d>>2]=o;k=m;j=o;f=q;m=2}while(0);h=c[e>>2]|0;i=c[h+20>>2]|0;f=c[f>>2]|0;g=h;if((i|0)>=(f|0)){if((i|0)!=(f|0)){b=m;return b|0}if((c[h+24>>2]|0)>=(c[k+24>>2]|0)){b=m;return b|0}}c[d>>2]=g;c[e>>2]=j;l=m+1|0;f=c[d>>2]|0;g=c[b>>2]|0;h=c[f+20>>2]|0;i=c[g+20>>2]|0;j=g;k=f;if((h|0)>=(i|0)){if((h|0)!=(i|0)){b=l;return b|0}if((c[f+24>>2]|0)>=(c[g+24>>2]|0)){b=l;return b|0}}c[b>>2]=k;c[d>>2]=j;l=m+2|0;f=c[b>>2]|0;g=c[a>>2]|0;h=c[f+20>>2]|0;i=c[g+20>>2]|0;j=g;k=f;if((h|0)>=(i|0)){if((h|0)!=(i|0)){b=l;return b|0}if((c[f+24>>2]|0)>=(c[g+24>>2]|0)){b=l;return b|0}}c[a>>2]=k;c[b>>2]=j;b=m+3|0;return b|0}function sx(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=rx(a,b,d,e)|0;g=c[f>>2]|0;h=c[e>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0))return m|0;if((c[g+24>>2]|0)>=(c[h+24>>2]|0))return m|0}c[e>>2]=l;c[f>>2]=k;f=m+1|0;k=c[e>>2]|0;l=c[d>>2]|0;g=c[k+20>>2]|0;h=c[l+20>>2]|0;i=l;j=k;if((g|0)>=(h|0)){if((g|0)!=(h|0)){m=f;return m|0}if((c[k+24>>2]|0)>=(c[l+24>>2]|0)){m=f;return m|0}}c[d>>2]=j;c[e>>2]=i;f=m+2|0;g=c[d>>2]|0;h=c[b>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0)){m=f;return m|0}if((c[g+24>>2]|0)>=(c[h+24>>2]|0)){m=f;return m|0}}c[b>>2]=l;c[d>>2]=k;f=m+3|0;g=c[b>>2]|0;h=c[a>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0)){m=f;return m|0}if((c[g+24>>2]|0)>=(c[h+24>>2]|0)){m=f;return m|0}}c[a>>2]=l;c[b>>2]=k;m=m+4|0;return m|0}function tx(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;switch(b-a>>2|0){case 2:{j=b+-4|0;d=c[j>>2]|0;e=c[a>>2]|0;f=c[d+20>>2]|0;g=c[e+20>>2]|0;h=e;i=d;if((f|0)>=(g|0)){if((f|0)!=(g|0)){a=1;return a|0}if((c[d+24>>2]|0)>=(c[e+24>>2]|0)){a=1;return a|0}}c[a>>2]=i;c[j>>2]=h;a=1;return a|0}case 3:{o=a+4|0;n=b+-4|0;i=c[o>>2]|0;m=c[a>>2]|0;f=c[i+20>>2]|0;k=m+20|0;d=c[k>>2]|0;j=i;l=m;if((f|0)>=(d|0))if((f|0)==(d|0))h=(c[i+24>>2]|0)<(c[m+24>>2]|0);else h=0;else h=1;d=c[n>>2]|0;e=c[d+20>>2]|0;g=d;if((e|0)>=(f|0))if((e|0)==(f|0))d=(c[d+24>>2]|0)<(c[i+24>>2]|0);else d=0;else d=1;if(!h){if(!d){a=1;return a|0}c[o>>2]=g;c[n>>2]=j;d=c[o>>2]|0;e=c[a>>2]|0;f=c[d+20>>2]|0;g=c[e+20>>2]|0;h=e;i=d;if((f|0)>=(g|0)){if((f|0)!=(g|0)){a=1;return a|0}if((c[d+24>>2]|0)>=(c[e+24>>2]|0)){a=1;return a|0}}c[a>>2]=i;c[o>>2]=h;a=1;return a|0}if(d){c[a>>2]=g;c[n>>2]=l;a=1;return a|0}c[a>>2]=j;c[o>>2]=l;f=c[n>>2]|0;g=c[f+20>>2]|0;d=c[k>>2]|0;e=f;if((g|0)>=(d|0)){if((g|0)!=(d|0)){a=1;return a|0}if((c[f+24>>2]|0)>=(c[m+24>>2]|0)){a=1;return a|0}}c[o>>2]=e;c[n>>2]=l;a=1;return a|0}case 4:{rx(a,a+4|0,a+8|0,b+-4|0)|0;a=1;return a|0}case 5:{sx(a,a+4|0,a+8|0,a+12|0,b+-4|0)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;o=a+4|0;d=c[o>>2]|0;p=c[a>>2]|0;h=c[d+20>>2]|0;k=p+20|0;f=c[k>>2]|0;g=d;m=p;if((h|0)>=(f|0))if((h|0)==(f|0))i=(c[d+24>>2]|0)<(c[p+24>>2]|0);else i=0;else i=1;n=c[e>>2]|0;j=n+20|0;f=c[j>>2]|0;l=n;if((f|0)>=(h|0))if((f|0)==(h|0))f=(c[n+24>>2]|0)<(c[d+24>>2]|0);else f=0;else f=1;do if(!i)if(f){c[o>>2]=l;c[e>>2]=g;h=c[j>>2]|0;f=c[k>>2]|0;if((h|0)>=(f|0)){if((h|0)!=(f|0))break;if((c[n+24>>2]|0)>=(c[p+24>>2]|0))break}c[a>>2]=l;c[o>>2]=m}else{g=l;d=n}else{if(f){c[a>>2]=l;c[e>>2]=m;g=m;d=p;break}c[a>>2]=g;c[o>>2]=m;f=c[j>>2]|0;d=c[k>>2]|0;if((f|0)>=(d|0)){if((f|0)!=(d|0)){g=l;d=n;break}if((c[n+24>>2]|0)>=(c[p+24>>2]|0)){g=l;d=n;break}}c[o>>2]=l;c[e>>2]=m;g=m;d=p}while(0);f=a+12|0;if((f|0)==(b|0)){a=1;return a|0}k=d;d=0;while(1){h=c[f>>2]|0;m=h+20|0;i=c[m>>2]|0;j=c[k+20>>2]|0;n=h;if((i|0)>=(j|0)){if((i|0)==(j|0)?(q=h+24|0,(c[q>>2]|0)<(c[k+24>>2]|0)):0){l=q;r=50}}else{l=h+24|0;r=50}if((r|0)==50){r=0;c[f>>2]=g;a:do if((e|0)!=(a|0)){g=e;while(1){e=g;g=g+-4|0;h=c[g>>2]|0;i=c[m>>2]|0;j=c[h+20>>2]|0;k=h;if((i|0)>=(j|0)){if((i|0)!=(j|0))break a;if((c[l>>2]|0)>=(c[h+24>>2]|0))break a}c[e>>2]=k;if((g|0)==(a|0)){e=a;break}}}while(0);c[e>>2]=n;d=d+1|0;if((d|0)==8)break}e=f+4|0;if((e|0)==(b|0)){d=1;r=60;break}g=c[f>>2]|0;p=f;k=g;f=e;e=p}if((r|0)==60)return d|0;a=(f+4|0)==(b|0);return a|0}}return 0}function ux(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function vx(a,b){a=a|0;b=b|0;do if((c[b+20>>2]|0)==1){a=Eg(a,b+24|0)|0;if(!a){b=-1;return b|0}else{a=a+40|0;break}}else a=b+24|0;while(0);b=c[a>>2]|0;return b|0}function wx(a){a=a|0;return}function xx(a){a=a|0;HA(a);return}function yx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=FA(16)|0;f=c[b+4>>2]|0;e=c[b+8>>2]|0;c[d>>2]=291120;c[d+4>>2]=f;c[d+8>>2]=e;c[d+12>>2]=c[b+12>>2];c[a>>2]=d;return}function zx(a,b){a=a|0;b=b|0;c[b>>2]=c[a+12>>2];return 0}function Ax(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+12|0;e=c[f>>2]|0;g=(c[a+8>>2]|0)-e|0;d=g>>>0<d>>>0?g:d;if(!d)return d|0;_B(b|0,(c[a+4>>2]|0)+e|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function Bx(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[d>>2]|0;n=c[d+4>>2]|0;m=c[b+8>>2]|0;l=m>>>0<l>>>0?m:l;n=(m>>>0<n>>>0?m:n)-l|0;if(!n)return 0;m=e+4|0;f=c[m>>2]|0;h=c[e>>2]|0;k=f-h|0;i=h;a:do if(n>>>0>k>>>0){d=n-k|0;j=e+8|0;g=c[j>>2]|0;if((g-f|0)>>>0>=d>>>0)while(1){a[f>>0]=0;f=(c[m>>2]|0)+1|0;c[m>>2]=f;d=d+-1|0;if(!d)break a}if((n|0)<0)oB();f=g-h|0;g=f<<1;g=f>>>0<1073741823?(g>>>0<n>>>0?n:g):2147483647;if(!g)f=0;else f=FA(g)|0;aC(f+k|0,0,d|0)|0;if((k|0)>0)_B(f|0,i|0,k|0)|0;c[e>>2]=f;c[m>>2]=f+n;c[j>>2]=f+g;if(h|0)HA(i)}else if(n>>>0<k>>>0)c[m>>2]=i+n;while(0);_B(c[e>>2]|0,(c[b+4>>2]|0)+l|0,n|0)|0;return 0}function Cx(a,b){a=a|0;b=b|0;if((c[a+8>>2]|0)>>>0<=b>>>0){a=1;return a|0}c[a+12>>2]=b;a=0;return a|0}function Dx(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=291120;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=0;return}function Ex(a,b){a=a|0;b=b|0;var d=0;d=a<<24>>24;a=d+-48|0;do if(a>>>0>=10){if((d+-97|0)>>>0<7){a=d+-87|0;break}if((d+-65|0)>>>0<7){a=d+-55|0;break}else{b=1;return b|0}}while(0);c[b>>2]=a;b=0;return b|0}function Fx(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;if((b|0)==(d|0)){o=1;return o|0}h=a[b>>0]|0;a:do if((h<<24>>24==48?(f=b+1|0,f>>>0<d>>>0):0)?(a[f>>0]|0)==120:0){f=b+2|0;if((f|0)==(d|0)){o=1;return o|0}if(f>>>0<d>>>0){j=0;k=0;b:while(1){g=a[f>>0]|0;if(g<<24>>24!=95){i=g<<24>>24;g=i+-48|0;do if(g>>>0>=10)if((i+-97|0)>>>0>=7)if((i+-65|0)>>>0<7){g=i+-55|0;break}else{f=1;l=24;break b}else{g=i+-87|0;break}while(0);i=XB(j|0,k|0,4)|0;i=QB(i|0,z()|0,g|0,0)|0;g=z()|0;if(k>>>0>g>>>0|(k|0)==(g|0)&j>>>0>i>>>0){f=1;l=24;break}}else{i=j;g=k}f=f+1|0;if(f>>>0<d>>>0){j=i;k=g}else{m=i;n=g;o=f;break a}}if((l|0)==24)return f|0}else{m=0;n=0;o=f}}else l=15;while(0);c:do if((l|0)==15)if(b>>>0<d>>>0){i=0;j=0;while(1){if(h<<24>>24!=95){f=(h<<24>>24)+-48|0;if(f>>>0>9){f=1;l=24;break}g=PB(i|0,j|0,10,0)|0;f=QB(g|0,z()|0,f|0,0)|0;g=z()|0;if(j>>>0>g>>>0|(j|0)==(g|0)&i>>>0>f>>>0){f=1;l=24;break}}else{f=i;g=j}b=b+1|0;if(b>>>0>=d>>>0){m=f;n=g;o=b;break c}h=a[b>>0]|0;i=f;j=g}if((l|0)==24)return f|0}else{m=0;n=0;o=b}while(0);if((o|0)!=(d|0)){o=1;return o|0}o=e;c[o>>2]=m;c[o+4>>2]=n;o=0;return o|0}function Gx(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;f=a[b>>0]|0;switch(f<<24>>24){case 43:case 45:{k=f<<24>>24==45;b=b+1|0;break}default:k=0}a:do if((b|0)==(d|0)){f=0;b=0;g=1}else{f=a[b>>0]|0;if((f<<24>>24==48?(g=b+1|0,g>>>0<d>>>0):0)?(a[g>>0]|0)==120:0){b=b+2|0;if((b|0)==(d|0)){f=0;b=0;g=1;break}if(b>>>0<d>>>0){i=0;g=0;while(1){f=a[b>>0]|0;if(f<<24>>24!=95){h=f<<24>>24;f=h+-48|0;do if(f>>>0>=10)if((h+-97|0)>>>0>=7)if((h+-65|0)>>>0<7){f=h+-55|0;break}else{f=0;b=0;g=1;break a}else{f=h+-87|0;break}while(0);h=XB(i|0,g|0,4)|0;f=QB(h|0,z()|0,f|0,0)|0;h=z()|0;if(g>>>0>h>>>0|(g|0)==(h|0)&i>>>0>f>>>0){f=0;b=0;g=1;break a}else g=h}else f=i;b=b+1|0;if(b>>>0<d>>>0)i=f;else{h=f;break}}}else{h=0;g=0}}else j=17;b:do if((j|0)==17)if(b>>>0<d>>>0){h=0;i=0;while(1){if(f<<24>>24!=95){f=(f<<24>>24)+-48|0;if(f>>>0>9){f=0;b=0;g=1;break a}g=PB(h|0,i|0,10,0)|0;f=QB(g|0,z()|0,f|0,0)|0;g=z()|0;if(i>>>0>g>>>0|(i|0)==(g|0)&h>>>0>f>>>0){f=0;b=0;g=1;break a}else h=f}else g=i;b=b+1|0;if(b>>>0>=d>>>0)break b;f=a[b>>0]|0;i=g}}else{h=0;g=0}while(0);d=(b|0)==(d|0);f=d?g:0;b=d?h:0;g=(d^1)&1}while(0);do if(k)if(f>>>0>2147483648|(f|0)==-2147483648&b>>>0>0){e=1;return e|0}else{b=RB(0,0,b|0,f|0)|0;f=z()|0;break}while(0);c[e>>2]=b;c[e+4>>2]=f;e=g;return e|0}function Hx(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;h=a[b>>0]|0;a:do switch(h<<24>>24){case 43:case 45:if(!f){e=1;return e|0}else{n=h<<24>>24==45;b=b+1|0;break a}default:n=0}while(0);if((b|0)==(d|0)){e=1;return e|0}l=a[b>>0]|0;b:do if((l<<24>>24==48?(i=b+1|0,i>>>0<d>>>0):0)?(a[i>>0]|0)==120:0){h=b+2|0;if((h|0)==(d|0)){e=1;return e|0}if(h>>>0<d>>>0){j=0;k=0;c:while(1){f=a[h>>0]|0;if(f<<24>>24!=95){i=f<<24>>24;f=i+-48|0;do if(f>>>0>=10)if((i+-97|0)>>>0>=7)if((i+-65|0)>>>0<7){f=i+-55|0;break}else{h=1;m=31;break c}else{f=i+-87|0;break}while(0);i=XB(j|0,k|0,4)|0;i=QB(i|0,z()|0,f|0,0)|0;f=z()|0;if(k>>>0>f>>>0|(k|0)==(f|0)&j>>>0>i>>>0){h=1;m=31;break}}else{i=j;f=k}h=h+1|0;if(h>>>0<d>>>0){j=i;k=f}else{o=f;g=i;p=h;break b}}if((m|0)==31)return h|0}else{o=0;g=0;p=h}}else m=18;while(0);d:do if((m|0)==18)if(b>>>0<d>>>0){i=l;j=0;k=0;while(1){if(i<<24>>24!=95){h=(i<<24>>24)+-48|0;if(h>>>0>9){h=1;m=31;break}f=PB(j|0,k|0,10,0)|0;h=QB(f|0,z()|0,h|0,0)|0;f=z()|0;if(k>>>0>f>>>0|(k|0)==(f|0)&j>>>0>h>>>0){h=1;m=31;break}}else{h=j;f=k}b=b+1|0;if(b>>>0>=d>>>0){o=f;g=h;p=b;break d}i=a[b>>0]|0;j=h;k=f}if((m|0)==31)return h|0}else{o=0;g=0;p=b}while(0);if((p|0)!=(d|0)){e=1;return e|0}do if(n)if(o>>>0>0|(o|0)==0&g>>>0>2147483648){e=1;return e|0}else{g=0-g|0;break}else if(o>>>0>0|(o|0)==0&g>>>0>4294967295){e=1;return e|0}while(0);c[e>>2]=g;e=0;return e|0}function Ix(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;switch(b|0){case 1:case 0:{f=Jx(d,e,f)|0;return f|0}case 2:{switch(a[d>>0]|0){case 45:{m=-2147483648;d=d+1|0;break}case 43:{m=0;d=d+1|0;break}default:m=0}d=d+2|0;if(d>>>0<e>>>0){i=0;j=0;k=0;a:while(1){b=a[d>>0]|0;b:do switch(b<<24>>24){case 95:{h=i;g=j;b=k;break}case 46:{h=1;g=j;b=k;l=16;break}default:{b=b<<24>>24;g=b+-48|0;do if(g>>>0>=10)if((b+-97|0)>>>0>=7)if((b+-65|0)>>>0<7){b=b+-55|0;break}else{h=1;break a}else{b=b+-87|0;break}else b=g;while(0);if((32-(w(j|0)|0)|0)<25){h=i;g=b+(j<<4)|0;b=i?k+-4|0:k;l=16;break b}else{h=i;g=j;b=i?k:k+4|0;l=16;break b}}}while(0);if((l|0)==16)l=0;d=d+1|0;if(d>>>0<e>>>0){i=h;j=g;k=b}else{h=0;j=g;k=b;break}}if(j|0){if(h){b=d+1|0;switch(a[b>>0]|0){case 45:{i=1;b=d+2|0;h=0-k|0;break}case 43:{i=0;b=d+2|0;h=k;break}default:{i=0;h=0}}c:do if(b>>>0<e>>>0){d=0;do{g=a[b>>0]|0;if(g<<24>>24!=95){d=(d*10|0)+-48+(g<<24>>24)|0;if((d+h|0)>=128)break c}b=b+1|0}while(b>>>0<e>>>0)}else d=0;while(0);d=i?0-d|0:d}else d=0;g=32-(w(j|0)|0)|0;b=g+k+d|0;d=b+-1|0;if((d|0)>=-126){if((g|0)>24){e=g+-24|0;e=(((1<<e&j|0)==0?0:1<<g+-25)+j|0)>>>e;b=e>>>0>16777215?b:d;d=e}else{b=d;d=j<<((g|0)==24?0:24-g|0)}if((b|0)>127){f=1;return f|0}c[f>>2]=d&8388607|m|(b<<23)+1065353216;f=0;return f|0}if((g|0)>23){d=g+-23|0;d=(((1<<d&j|0)==0?0:1<<g+-24)+j|0)>>>d}else d=j<<((g|0)==23?0:23-g|0);b=-126-b|0;if((b|0)<23){if(b)d=(((d&1<<b|0)==0?0:1<<b+-1)+d|0)>>>b&8388607;if(d|0){c[f>>2]=d|m;f=0;return f|0}}c[f>>2]=m;f=0;return f|0}}c[f>>2]=m;f=0;return f|0}case 3:{c[f>>2]=((a[d>>0]|0)==45&1)<<31|2139095040;f=0;return f|0}case 4:{switch(a[d>>0]|0){case 45:{i=-8388608;d=d+1|0;break}case 43:{i=2139095040;d=d+1|0;break}default:i=2139095040}do if((d+3|0)!=(e|0)){d=d+6|0;if(d>>>0>=e>>>0){f=1;return f|0}h=0;d:while(1){g=a[d>>0]|0;b=g+-48|0;do if(b>>>0>=10)if((g+-97|0)>>>0>=7)if((g+-65|0)>>>0<7){b=g+-55|0;break}else{d=1;l=61;break d}else{b=g+-87|0;break}while(0);h=b+(h<<4)|0;d=d+1|0;if(h>>>0>8388607){d=1;l=61;break}if(d>>>0>=e>>>0){l=58;break}}if((l|0)==58){if(!h)d=1;else{d=h;break}return d|0}else if((l|0)==61)return d|0}else d=4194304;while(0);c[f>>2]=d|i;f=0;return f|0}default:{}}return 0}function Jx(b,d,e){b=b|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;j=aa;aa=aa+((1*(1-b+d|0)|0)+15&-16)|0;if((b|0)==(d|0))b=j;else{i=b;b=j;do{h=a[i>>0]|0;if(h<<24>>24!=95){a[b>>0]=h;b=b+1|0}i=i+1|0}while((i|0)!=(d|0))}a[b>>0]=0;g=+vA(j,k);if(g==-s|(g==s?1:(c[k>>2]|0)!=(b|0))){e=1;aa=l;return e|0}f[e>>2]=g;e=0;aa=l;return e|0}function Kx(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;switch(b|0){case 1:case 0:{f=Lx(d,e,f)|0;return f|0}case 2:{switch(a[d>>0]|0){case 45:{n=0;o=-2147483648;b=d+1|0;break}case 43:{n=0;o=0;b=d+1|0;break}default:{n=0;o=0;b=d}}b=b+2|0;if(b>>>0<e>>>0){j=0;l=0;k=0;h=0;a:while(1){d=a[b>>0]|0;b:do switch(d<<24>>24){case 95:{d=j;g=l;i=k;break}case 46:{d=j;g=l;i=1;m=16;break}default:{g=d<<24>>24;d=g+-48|0;do if(d>>>0>=10)if((g+-97|0)>>>0>=7)if((g+-65|0)>>>0<7){d=g+-55|0;break}else{k=j;d=1;break a}else{d=g+-87|0;break}while(0);m=ZB(j|0,l|0,0)|0;z()|0;if((64-m|0)<54){g=XB(j|0,l|0,4)|0;d=QB(g|0,z()|0,d|0,0)|0;g=z()|0;i=k;h=k?h+-4|0:h;m=16;break b}else{d=j;g=l;i=k;h=k?h:h+4|0;m=16;break b}}}while(0);if((m|0)==16)m=0;b=b+1|0;if(b>>>0<e>>>0){j=d;l=g;k=i}else{k=d;l=g;d=0;break}}if(!((k|0)==0&(l|0)==0)){if(d){d=b+1|0;switch(a[d>>0]|0){case 45:{j=1;d=b+2|0;i=0-h|0;break}case 43:{j=0;d=b+2|0;i=h;break}default:{j=0;i=0}}c:do if(d>>>0<e>>>0){b=0;do{g=a[d>>0]|0;if(g<<24>>24!=95){b=(b*10|0)+-48+(g<<24>>24)|0;if((b+i|0)>=1024)break c}d=d+1|0}while(d>>>0<e>>>0)}else b=0;while(0);b=j?0-b|0:b}else b=0;d=ZB(k|0,l|0,0)|0;z()|0;d=64-d|0;h=d+h+b|0;b=h+-1|0;if((b|0)>=-1022){if((d|0)>53){e=d+-53|0;g=XB(1,0,e|0)|0;g=(g&k|0)==0&((z()|0)&l|0)==0;d=XB(1,0,d+-54|0)|0;m=z()|0;m=QB((g?0:d)|0,(g?0:m)|0,k|0,l|0)|0;e=WB(m|0,z()|0,e|0)|0;m=z()|0;d=m;g=e;b=m>>>0>2097151|(m|0)==2097151&e>>>0>4294967295?h:b}else{g=XB(k|0,l|0,((d|0)==53?0:53-d|0)|0)|0;d=z()|0}if((b|0)>1023){f=1;return f|0}e=XB(b+1023|0,0,52)|0;o=d&1048575|o|(z()|0);c[f>>2]=g|n|e;c[f+4>>2]=o;f=0;return f|0}if((d|0)>52){b=d+-52|0;e=XB(1,0,b|0)|0;e=(e&k|0)==0&((z()|0)&l|0)==0;m=XB(1,0,d+-53|0)|0;d=z()|0;d=QB((e?0:m)|0,(e?0:d)|0,k|0,l|0)|0;d=WB(d|0,z()|0,b|0)|0;b=z()|0}else{d=XB(k|0,l|0,((d|0)==52?0:52-d|0)|0)|0;b=z()|0}g=-1022-h|0;if((g|0)<52){if(g){m=XB(1,0,g|0)|0;m=(d&m|0)==0&(b&(z()|0)|0)==0;l=XB(1,0,g+-1|0)|0;e=z()|0;d=QB((m?0:l)|0,(m?0:e)|0,d|0,b|0)|0;d=WB(d|0,z()|0,g|0)|0;b=(z()|0)&1048575}if(!((d|0)==0&(b|0)==0)){c[f>>2]=d|n;c[f+4>>2]=b|o;f=0;return f|0}}c[f>>2]=n;c[f+4>>2]=o;f=0;return f|0}}c[f>>2]=n;c[f+4>>2]=o;f=0;return f|0}case 3:{n=XB((a[d>>0]|0)==45|0,0,63)|0;o=z()|0|2146435072;c[f>>2]=n;c[f+4>>2]=o;f=0;return f|0}case 4:{switch(a[d>>0]|0){case 45:{j=0;k=-1048576;b=d+1|0;break}case 43:{j=0;k=2146435072;b=d+1|0;break}default:{j=0;k=2146435072;b=d}}do if((b+3|0)!=(e|0)){g=b+6|0;if(g>>>0>=e>>>0){f=1;return f|0}d=0;b=0;d:while(1){i=a[g>>0]|0;h=i+-48|0;do if(h>>>0>=10)if((i+-97|0)>>>0>=7)if((i+-65|0)>>>0<7){h=i+-55|0;break}else{b=1;m=61;break d}else{h=i+-87|0;break}while(0);o=XB(d|0,b|0,4)|0;d=QB(o|0,z()|0,h|0,0)|0;b=z()|0;g=g+1|0;if(b>>>0>1048575|(b|0)==1048575&d>>>0>4294967295){b=1;m=61;break}if(g>>>0>=e>>>0){m=58;break}}if((m|0)==58){if((d|0)==0&(b|0)==0)b=1;else break;return b|0}else if((m|0)==61)return b|0}else{d=0;b=524288}while(0);c[f>>2]=d|j;c[f+4>>2]=b|k;f=0;return f|0}default:{}}return 0}function Lx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;j=aa;aa=aa+((1*(1-b+d|0)|0)+15&-16)|0;if((b|0)==(d|0))b=j;else{i=b;b=j;do{h=a[i>>0]|0;if(h<<24>>24!=95){a[b>>0]=h;b=b+1|0}i=i+1|0}while((i|0)!=(d|0))}a[b>>0]=0;f=+xA(j,k);if(f==-s|(f==s?1:(c[k>>2]|0)!=(b|0))){e=1;aa=l;return e|0}g[e>>3]=f;e=0;aa=l;return e|0}function Mx(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=aa;aa=aa+32|0;j=k;d=c>>>23&255;f=d+-127|0;e=c&8388607;if((c|0)<0){a[j>>0]=45;h=j+1|0}else h=j;do if((f|0)==128){if(!e){a[h>>0]=105;a[h+1>>0]=110;a[h+2>>0]=102;a[h+3>>0]=0;c=h+3|0;break}a[h>>0]=110;a[h+1>>0]=97;a[h+2>>0]=110;a[h+3>>0]=0;c=h+3|0;if((e|0)!=4194304){a[c>>0]=58;a[c+1>>0]=48;a[c+2>>0]=120;a[c+3>>0]=0;f=8;while(1){e=e<<4;d=f+-1|0;if(e>>>0>=268435456)break;else f=d}c=h+6|0;if(d){while(1){a[c>>0]=a[16704+(e>>>28)>>0]|0;d=d+-1|0;if(!d)break;else{c=c+1|0;e=e<<4}}c=h+(f+5)|0}}}else{g=(d|e|0)==0;a[h>>0]=48;a[h+1>>0]=120;e=h+3|0;a[h+2>>0]=g?48:49;c=c<<9;do if(c){if(!d){l=w(c|0)|0;c=c<<l+1;f=f-l|0;d=h+4|0;a[e>>0]=46;if(l>>>0>30|(c|0)==0){e=d;break}}else{a[e>>0]=46;d=h+4|0}while(1){e=d+1|0;a[d>>0]=a[16704+(c>>>28)>>0]|0;c=c<<4;if(!c)break;else d=e}}while(0);d=e+1|0;a[e>>0]=112;if(g){a[d>>0]=a[327768]|0;a[d+1>>0]=a[327769]|0;a[d+2>>0]=a[327770]|0;c=e+3|0;break}c=e+2|0;if((f|0)<0){a[d>>0]=45;d=0-f|0}else{a[d>>0]=43;d=f}if((d|0)<=999)if((d|0)<=99){if((d|0)>9)i=28}else i=26;else{a[c>>0]=49;c=e+3|0;i=26}if((i|0)==26){a[c>>0]=(((d>>>0)/100|0)>>>0)%10|0|48;c=c+1|0;i=28}if((i|0)==28){a[c>>0]=(((d>>>0)/10|0)>>>0)%10|0|48;c=c+1|0}a[c>>0]=((d|0)%10|0)+48;c=c+1|0}while(0);l=c-j|0;l=l>>>0<127?l:127;_B(b|0,j|0,l|0)|0;a[b+l>>0]=0;aa=k;return}function Nx(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,l=0,m=0,n=0;n=aa;aa=aa+48|0;m=n;e=WB(c|0,d|0,52)|0;z()|0;e=e&2047;h=e+-1023|0;f=d&1048575;if((d|0)<0){a[m>>0]=45;k=m+1|0}else k=m;g=(c|0)==0&(f|0)==0;do if((h|0)==1024){if(g){a[k>>0]=105;a[k+1>>0]=110;a[k+2>>0]=102;a[k+3>>0]=0;e=k+3|0;break}a[k>>0]=110;a[k+1>>0]=97;a[k+2>>0]=110;a[k+3>>0]=0;e=k+3|0;if(!((c|0)==0&(f|0)==524288)){a[e>>0]=58;a[e+1>>0]=48;a[e+2>>0]=120;a[e+3>>0]=0;h=16;while(1){c=XB(c|0,f|0,4)|0;f=z()|0;g=h+-1|0;if(!(f>>>0<268435456|(f|0)==268435456&c>>>0<0))break;else h=g}e=k+6|0;if(g){while(1){l=WB(c|0,f|0,60)|0;z()|0;a[e>>0]=a[16704+l>>0]|0;c=XB(c|0,f|0,4)|0;f=z()|0;g=g+-1|0;if(!g)break;else e=e+1|0}e=k+(h+5)|0}}}else{i=(e|0)==0;j=g&i;a[k>>0]=48;a[k+1>>0]=120;f=k+3|0;a[k+2>>0]=j?48:49;e=XB(c|0,d|0,12)|0;c=z()|0;do if((e|0)==0&(c|0)==0)g=h;else{if(i){i=ZB(e|0,c|0,0)|0;g=QB(i|0,z()|0,1,0)|0;z()|0;g=XB(e|0,c|0,g|0)|0;c=z()|0;h=h-i|0;e=k+4|0;a[f>>0]=46;if(i>>>0>62|(g|0)==0&(c|0)==0){g=h;f=e;break}}else{a[f>>0]=46;g=e;e=k+4|0}while(1){k=WB(g|0,c|0,60)|0;z()|0;f=e+1|0;a[e>>0]=a[16704+k>>0]|0;g=XB(g|0,c|0,4)|0;c=z()|0;if((g|0)==0&(c|0)==0){g=h;break}else e=f}}while(0);c=f+1|0;a[f>>0]=112;if(j){a[c>>0]=a[327768]|0;a[c+1>>0]=a[327769]|0;a[c+2>>0]=a[327770]|0;e=f+3|0;break}e=f+2|0;if((g|0)<0){a[c>>0]=45;c=0-g|0}else{a[c>>0]=43;c=g}if((c|0)<=999)if((c|0)<=99){if((c|0)>9)l=28}else l=26;else{a[e>>0]=49;e=f+3|0;l=26}if((l|0)==26){a[e>>0]=(((c>>>0)/100|0)>>>0)%10|0|48;e=e+1|0;l=28}if((l|0)==28){a[e>>0]=(((c>>>0)/10|0)>>>0)%10|0|48;e=e+1|0}a[e>>0]=((c|0)%10|0)+48;e=e+1|0}while(0);l=e-m|0;l=l>>>0<127?l:127;_B(b|0,m|0,l|0)|0;a[b+l>>0]=0;aa=n;return}function Ox(a){a=a|0;if((a|0)>=107){a=327771;return a|0}a=c[278880+(a<<2)>>2]|0;return a|0}function Px(a,b,d){a=a|0;b=b|0;d=d|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]=d;return}function Qx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=d;c[a+24>>2]=e;return}function Rx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=d;LA(a+24|0,e);return}function Sx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=d;c[a+24>>2]=e;return}function Tx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=d;c[a+24>>2]=c[e>>2];LA(a+28|0,e+4|0);return}function Ux(a,b){a=a|0;b=b|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;Vx(a,b)|0;return}function Vx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+20|0;e=c[g>>2]|0;if((e+-40|0)>>>0<3){e=b+28|0;if((a[e+11>>0]|0)<0)HA(c[e>>2]|0)}else if((e+-43|0)>>>0>57&(e+-101|0)>>>0<5?(f=b+24|0,(a[f+11>>0]|0)<0):0)HA(c[f>>2]|0);c[g>>2]=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];e=c[d+20>>2]|0;c[g>>2]=e;if((e+-40|0)>>>0<3){c[b+24>>2]=c[d+24>>2];LA(b+28|0,d+28|0);return b|0}if((e+-43|0)>>>0<58){c[b+24>>2]=c[d+24>>2];return b|0}if((e+-101|0)>>>0<5){LA(b+24|0,d+24|0);return b|0}if((e|0)!=106)return b|0;c[b+24>>2]=c[d+24>>2];return b|0}function Wx(b){b=b|0;var d=0,e=0,f=0;f=b+20|0;d=c[f>>2]|0;if((d+-40|0)>>>0<3){d=b+28|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0)}else if((d+-43|0)>>>0>57&(d+-101|0)>>>0<5?(e=b+24|0,(a[e+11>>0]|0)<0):0)HA(c[e>>2]|0);c[f>>2]=0;return}function Xx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;e=h;f=c[d+20>>2]|0;if(f>>>0<40){e=c[278880+(f<<2)>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Az(e)|0;if(d>>>0>4294967279)JA();if(d>>>0<11){a[b+11>>0]=d;if(d)g=7}else{f=d+16&-16;g=FA(f)|0;c[b>>2]=g;c[b+8>>2]=f|-2147483648;c[b+4>>2]=d;b=g;g=7}if((g|0)==7)_B(b|0,e|0,d|0)|0;a[b+d>>0]=0;aa=h;return}if((f+-40|0)>>>0<3){LA(b,d+28|0);aa=h;return}if((f+-43|0)>>>0<58){Zl(e,c[d+24>>2]|0);e=c[e>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Az(e)|0;if(d>>>0>4294967279)JA();if(d>>>0<11){a[b+11>>0]=d;if(d)g=17}else{f=d+16&-16;g=FA(f)|0;c[b>>2]=g;c[b+8>>2]=f|-2147483648;c[b+4>>2]=d;b=g;g=17}if((g|0)==17)_B(b|0,e|0,d|0)|0;a[b+d>>0]=0;aa=h;return}e=d+24|0;if((f+-101|0)>>>0<5){LA(b,e);aa=h;return}do switch(c[e>>2]|0){case -1:{e=328637;break}case -2:{e=328633;break}case -3:{e=328629;break}case -4:{e=328625;break}case -5:{e=328620;break}case -16:{e=328612;break}case -32:{e=328607;break}case -24:{e=328596;break}case -64:{e=328591;break}case 0:{e=328587;break}case -17:{e=328580;break}default:e=328567}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Az(e)|0;if(d>>>0>4294967279)JA();if(d>>>0<11){a[b+11>>0]=d;if(d)g=38}else{f=d+16&-16;g=FA(f)|0;c[b>>2]=g;c[b+8>>2]=f|-2147483648;c[b+4>>2]=d;b=g;g=38}if((g|0)==38)_B(b|0,e|0,d|0)|0;a[b+d>>0]=0;aa=h;return} -function ut(a){a=a|0;var b=0;switch(a|0){case 6:case 5:case 4:case 3:case 2:case 1:case 0:{b=a;break}case 13:{b=7;break}case 7:{b=8;break}case 8:{b=9;break}case 9:{b=10;break}case 12:{b=11;break}case 10:{b=12;break}case 11:{b=13;break}default:{}}return b|0}function vt(a){a=a|0;var b=0;do switch(a|0){case 0:{b=311061;break}case 1:{b=311056;break}case 2:{b=311049;break}case 3:{b=311040;break}case 4:{b=311034;break}case 5:{b=311027;break}case 6:{b=311020;break}case 13:{b=311014;break}case 7:{b=311007;break}case 8:{b=311001;break}case 9:{b=310996;break}case 12:{b=310986;break}case 10:{b=310981;break}case 11:{b=310976;break}default:{}}while(0);return b|0}function wt(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=aa;aa=aa+208|0;q=u+48|0;p=u+40|0;o=u+32|0;r=u+24|0;n=u+16|0;m=u+8|0;j=u;t=u+52|0;c[t>>2]=e;i=t+4|0;c[i>>2]=b;c[t+8>>2]=e;l=t+12|0;c[l>>2]=0;s=t+16|0;b=g+12|0;mx(s,c[b>>2]|0,f);k=t+36|0;c[k>>2]=(c[b>>2]|0)==0?f:s;s=t+40|0;b=t+76|0;e=s;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b>>2]=g;c[t+80>>2]=-1;a[t+84>>0]=0;a[t+85>>0]=0;b=t+144|0;e=t+88|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b>>2]=-1;na[c[(c[f>>2]|0)+12>>2]&31](f,i);b=c[l>>2]|0;f=b+4|0;g=c[t>>2]|0;do if(f>>>0<=g>>>0){h=c[t+4>>2]|0;j=h+b|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[l>>2]=f;if((j|0)!=1836278016){xt(t,311105,m);e=1;break}e=b+8|0;if(e>>>0>g>>>0){c[n>>2]=311074;c[n+4>>2]=311121;xt(t,311083,n);e=1;break}b=h+f|0;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;c[l>>2]=e;if((b|0)!=1){c[r>>2]=b;c[r+4>>2]=1;xt(t,311129,r);e=1;break}r=c[k>>2]|0;if(fa[c[(c[r>>2]|0)+16>>2]&511](r,1)|0){xt(t,311171,o);e=1;break}if((yt(t)|0)!=1){if((c[t+116>>2]|0)!=(c[t+136>>2]|0)){xt(t,311199,p);e=1;break}r=c[k>>2]|0;if(!(ea[c[(c[r>>2]|0)+20>>2]&127](r)|0))e=0;else{xt(t,311247,q);e=1}}else e=1}else{c[j>>2]=311074;c[j+4>>2]=311068;xt(t,311083,j);e=1}while(0);b=c[t+64>>2]|0;if(b|0){c[t+68>>2]=b;HA(b)}b=c[t+52>>2]|0;if(b|0){c[t+56>>2]=b;HA(b)}b=c[s>>2]|0;if(!b){aa=u;return e|0}c[t+44>>2]=b;HA(b);aa=u;return e|0}function xt(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;m=aa;aa=aa+208|0;l=m+160|0;h=m+144|0;i=m+128|0;g=m;k=m+172|0;if(!(a[b+85>>0]|0))j=1;else j=d[(c[b+76>>2]|0)+18>>0]|0;c[h>>2]=f;c[i>>2]=c[h>>2];h=(Bz(g,128,e,h)|0)+1|0;if(h>>>0>128){g=aa;aa=aa+((1*h|0)+15&-16)|0;Bz(g,h,e,i)|0}f=b+12|0;h=c[f>>2]|0;e=Az(g)|0;c[k>>2]=j;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=h;h=k+24|0;tn(h,g,e);b=c[b+36>>2]|0;if(!(fa[c[(c[b>>2]|0)+8>>2]&511](b,k)|0)){c[l>>2]=c[f>>2];c[l+4>>2]=(j|0)==0?322064:322072;c[l+8>>2]=g;gA(0,322078,l)}if((a[h+11>>0]|0)>=0){aa=m;return}HA(c[h>>2]|0);aa=m;return}function yt(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,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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,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,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0;wf=aa;aa=aa+2432|0;Oa=wf+2392|0;Pa=wf+2368|0;jf=wf+2360|0;hf=wf+2352|0;gf=wf+2344|0;ff=wf+2336|0;ef=wf+2328|0;cf=wf+2320|0;bf=wf+2312|0;af=wf+2304|0;$e=wf+2296|0;_e=wf+2280|0;Ze=wf+2272|0;Ye=wf+2264|0;We=wf+2256|0;Ve=wf+2248|0;Ue=wf+2240|0;Te=wf+2232|0;Se=wf+2224|0;Re=wf+2216|0;Qe=wf+2208|0;Pe=wf+2200|0;Oe=wf+2192|0;Me=wf+2184|0;Le=wf+2176|0;Ke=wf+2168|0;Je=wf+2160|0;Ie=wf+2152|0;He=wf+2144|0;Ge=wf+2128|0;Fe=wf+2120|0;Ee=wf+2112|0;De=wf+2104|0;Ce=wf+2096|0;Be=wf+2088|0;ze=wf+2080|0;ye=wf+2072|0;xe=wf+2064|0;we=wf+2056|0;ve=wf+2048|0;ue=wf+2040|0;te=wf+2024|0;se=wf+2016|0;re=wf+2008|0;qe=wf+2e3|0;pe=wf+1992|0;ne=wf+1984|0;me=wf+1968|0;le=wf+1960|0;ke=wf+1952|0;je=wf+1944|0;ie=wf+1936|0;he=wf+1928|0;ge=wf+1920|0;fe=wf+1912|0;ee=wf+1896|0;de=wf+1888|0;be=wf+1880|0;ae=wf+1872|0;$d=wf+1864|0;_d=wf+1856|0;Zd=wf+1848|0;Yd=wf+1840|0;Xd=wf+1832|0;Wd=wf+1824|0;Vd=wf+1808|0;Ud=wf+1800|0;Td=wf+1792|0;Sd=wf+1784|0;Qd=wf+1776|0;Pd=wf+1768|0;Od=wf+1760|0;Nd=wf+1752|0;Md=wf+1744|0;Ld=wf+1736|0;Kd=wf+1728|0;Jd=wf+1720|0;Hd=wf+1712|0;Gd=wf+1704|0;Fd=wf+1696|0;Ed=wf+1688|0;Dd=wf+1680|0;Cd=wf+1672|0;Bd=wf+1664|0;Ad=wf+1648|0;zd=wf+1640|0;yd=wf+1632|0;xd=wf+1624|0;wd=wf+1616|0;vd=wf+1608|0;ud=wf+1600|0;td=wf+1592|0;sd=wf+1584|0;rd=wf+1568|0;qd=wf+1560|0;od=wf+1552|0;nd=wf+1544|0;md=wf+1536|0;ld=wf+1528|0;kd=wf+1520|0;jd=wf+1504|0;id=wf+1496|0;hd=wf+1488|0;fd=wf+1480|0;ed=wf+1472|0;dd=wf+1464|0;cd=wf+1456|0;ad=wf+1440|0;$c=wf+1432|0;_c=wf+1424|0;Zc=wf+1416|0;Yc=wf+1408|0;Xc=wf+1400|0;Wc=wf+1392|0;Uc=wf+1384|0;Tc=wf+1368|0;Sc=wf+1360|0;Rc=wf+1352|0;Qc=wf+1344|0;Pc=wf+1336|0;Oc=wf+1328|0;Nc=wf+1320|0;Lc=wf+1312|0;Kc=wf+1304|0;Jc=wf+1296|0;Ic=wf+1288|0;Hc=wf+1280|0;Gc=wf+1272|0;Fc=wf+1264|0;Ec=wf+1256|0;Dc=wf+1248|0;Cc=wf+1240|0;Ac=wf+1232|0;zc=wf+1224|0;yc=wf+1208|0;xc=wf+1200|0;wc=wf+1192|0;vc=wf+1184|0;uc=wf+1176|0;sc=wf+1168|0;rc=wf+1160|0;qc=wf+1152|0;pc=wf+1144|0;oc=wf+1128|0;nc=wf+1120|0;mc=wf+1112|0;lc=wf+1104|0;jc=wf+1096|0;ic=wf+1080|0;hc=wf+1072|0;gc=wf+1064|0;fc=wf+1056|0;ec=wf+1048|0;cc=wf+1032|0;bc=wf+1024|0;ac=wf+1016|0;$b=wf+1008|0;_b=wf+1e3|0;Zb=wf+992|0;Yb=wf+984|0;Wb=wf+976|0;Vb=wf+968|0;Ub=wf+960|0;Tb=wf+952|0;Sb=wf+944|0;Rb=wf+936|0;Qb=wf+928|0;Pb=wf+920|0;Ob=wf+912|0;Nb=wf+904|0;Mb=wf+896|0;Lb=wf+888|0;Jb=wf+880|0;Ib=wf+872|0;Hb=wf+864|0;Gb=wf+856|0;Fb=wf+848|0;Eb=wf+840|0;Db=wf+832|0;Cb=wf+824|0;Ab=wf+816|0;zb=wf+808|0;yb=wf+800|0;xb=wf+792|0;wb=wf+784|0;vb=wf+776|0;ub=wf+768|0;sb=wf+760|0;rb=wf+752|0;qb=wf+744|0;pb=wf+736|0;ob=wf+728|0;nb=wf+720|0;mb=wf+712|0;lb=wf+704|0;jb=wf+696|0;ib=wf+680|0;hb=wf+672|0;gb=wf+664|0;fb=wf+656|0;eb=wf+648|0;db=wf+640|0;cb=wf+632|0;bb=wf+624|0;ab=wf+616|0;$a=wf+608|0;Za=wf+600|0;Ya=wf+592|0;Xa=wf+584|0;Wa=wf+576|0;Va=wf+568|0;Ua=wf+560|0;Ta=wf+552|0;Sa=wf+544|0;vf=wf+536|0;uf=wf+528|0;tf=wf+520|0;rf=wf+504|0;qf=wf+496|0;pf=wf+488|0;of=wf+480|0;nf=wf+472|0;mf=wf+464|0;kf=wf+448|0;df=wf+440|0;Xe=wf+432|0;Ne=wf+424|0;Ae=wf+416|0;oe=wf+408|0;ce=wf+400|0;Rd=wf+392|0;Id=wf+384|0;pd=wf+368|0;bd=wf+360|0;Vc=wf+352|0;Mc=wf+344|0;Bc=wf+336|0;tc=wf+328|0;kc=wf+320|0;dc=wf+312|0;Xb=wf+304|0;Kb=wf+296|0;Bb=wf+288|0;tb=wf+280|0;kb=wf+272|0;_a=wf+264|0;sf=wf+256|0;lf=wf+248|0;gd=wf+240|0;Ra=wf+232|0;Qa=wf+224|0;A=wf+216|0;$=wf+208|0;R=wf+200|0;S=wf+192|0;T=wf+184|0;U=wf+176|0;_=wf+152|0;Z=wf+128|0;B=wf+120|0;C=wf+112|0;D=wf+104|0;E=wf+96|0;F=wf+88|0;G=wf+80|0;H=wf+72|0;I=wf+64|0;J=wf+56|0;K=wf+48|0;L=wf+40|0;M=wf+32|0;N=wf+24|0;O=wf+16|0;P=wf+8|0;Q=wf;Aa=wf+2416|0;wa=d+12|0;e=c[wa>>2]|0;Ca=d+8|0;if(e>>>0>=(c[Ca>>2]|0)>>>0){vf=0;aa=wf;return vf|0}V=d+4|0;ba=d+80|0;Y=d+84|0;X=d+36|0;xa=d+76|0;Da=F+4|0;ta=d+88|0;qa=d+92|0;na=d+116|0;va=d+120|0;ra=d+124|0;pa=d+128|0;la=d+132|0;ma=d+136|0;w=d+85|0;Na=d+96|0;da=d+140|0;ya=d+40|0;x=d+44|0;za=d+52|0;y=d+56|0;Ga=A+4|0;Ma=$+4|0;ua=d+100|0;sa=d+104|0;oa=d+108|0;ca=d+112|0;Ia=Pa+4|0;W=d+144|0;Ha=A+4|0;Ka=A+4|0;Ja=A+4|0;Ea=R+4|0;La=R+4|0;Fa=T+4|0;Ba=F+4|0;g=e;v=c[d>>2]|0;e=0;a:while(1){f=c[V>>2]|0;f=Ql(f+g|0,f+v|0,Aa)|0;if(!f){s=4;break}v=(c[wa>>2]|0)+f|0;c[wa>>2]=v;f=c[V>>2]|0;f=Ql(f+v|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=6;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;i=c[Oa>>2]|0;v=c[d>>2]|0;f=i+f|0;c[d>>2]=f;u=c[Aa>>2]|0;if(u>>>0>13){s=8;break}if(f>>>0>(c[Ca>>2]|0)>>>0){s=10;break}f=c[ba>>2]|0;t=(u|0)==0;if(!(t|(f|0)==-1)?(r=ut(u)|0,(r|0)<=(ut(f)|0)):0){s=13;break}if(!(t|(a[Y>>0]|0)==0)){s=15;break}r=c[X>>2]|0;if(ga[c[(c[r>>2]|0)+24>>2]&127](r,u,i)|0){s=17;break}f=c[xa>>2]|0;g=(a[f+17>>0]|0)!=0;do switch(u|0){case 0:{c[F>>2]=0;c[Da>>2]=0;do if((zt(d,F,311490)|0)==1)f=1;else{r=c[X>>2]|0;q=c[(c[r>>2]|0)+28>>2]|0;o=F;h=c[o>>2]|0;o=c[o+4>>2]|0;p=G;c[p>>2]=h;c[p+4>>2]=o;c[Oa>>2]=c[G>>2];c[Oa+4>>2]=c[G+4>>2];if(ga[q&127](r,i,Oa)|0){xt(d,311503,tb);f=1;break}r=a[w>>0]|0;a[w>>0]=1;f=c[Ba>>2]|0;b:do if((a[(c[xa>>2]|0)+16>>0]|0)!=0?(vn(h,f,311538,4)|0)==0:0){q=c[X>>2]|0;if(fa[c[(c[q>>2]|0)+596>>2]&511](q,i)|0){xt(d,311543,Bb);f=1;break}f=c[wa>>2]|0;h=c[d>>2]|0;c:do if(f>>>0<h>>>0){p=0;q=0;d:while(1){o=c[V>>2]|0;f=Ql(o+f|0,o+h|0,Pa)|0;if(!f){s=30;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;h=q;q=c[Pa>>2]|0;if(p|0){if((q|0)==(h|0)){s=33;break}if(q>>>0<h>>>0){s=35;break}}o=c[V>>2]|0;f=Ql(o+f|0,o+(c[d>>2]|0)|0,Oa)|0;if(!f){s=37;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;i=c[Oa>>2]|0;f=i+f|0;h=c[d>>2]|0;if(f>>>0>h>>>0){s=39;break}c[d>>2]=f;e:do switch(q|0){case 0:{o=c[X>>2]|0;if(ha[c[(c[o>>2]|0)+600>>2]&63](o,p,0,i)|0){s=42;break d}if(!i)break e;c[A>>2]=0;c[Ha>>2]=0;if((zt(d,A,311732)|0)==1){s=47;break d}o=c[X>>2]|0;n=c[(c[o>>2]|0)+604>>2]|0;k=A;l=c[k+4>>2]|0;m=$;c[m>>2]=c[k>>2];c[m+4>>2]=l;c[Oa>>2]=c[$>>2];c[Oa+4>>2]=c[$+4>>2];if(fa[n&511](o,Oa)|0){s=46;break d}break}case 1:{o=c[X>>2]|0;if(ha[c[(c[o>>2]|0)+608>>2]&63](o,p,1,i)|0){s=50;break d}if(!i)break e;i=c[V>>2]|0;i=Ql(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=53;break d}i=(c[wa>>2]|0)+i|0;c[wa>>2]=i;l=c[Oa>>2]|0;i=(c[d>>2]|0)-i|0;if(l>>>0>i>>>0){s=55;break d}o=c[X>>2]|0;if(fa[c[(c[o>>2]|0)+612>>2]&511](o,l)|0){s=57;break d}if(!l)break e;j=0;k=-1;while(1){c[A>>2]=0;c[Ka>>2]=0;i=c[V>>2]|0;i=Ql(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=61;break d}c[wa>>2]=(c[wa>>2]|0)+i;i=c[Oa>>2]|0;if((i|0)==(k|0)){s=63;break d}if(!((k|0)==-1|i>>>0>k>>>0)){s=65;break d}if(i>>>0>=((c[na>>2]|0)+(c[Na>>2]|0)|0)>>>0){s=67;break d}if((zt(d,A,312010)|0)==1){s=72;break d}o=c[X>>2]|0;n=c[(c[o>>2]|0)+616>>2]|0;xf=A;k=c[xf+4>>2]|0;m=R;c[m>>2]=c[xf>>2];c[m+4>>2]=k;c[Oa>>2]=c[R>>2];c[Oa+4>>2]=c[R+4>>2];if(ga[n&127](o,i,Oa)|0){s=70;break d}j=j+1|0;if(j>>>0>=l>>>0)break;else k=i}break}case 2:{xf=c[X>>2]|0;if(ha[c[(c[xf>>2]|0)+620>>2]&63](xf,p,2,i)|0){s=74;break d}if(!i)break e;i=c[V>>2]|0;i=Ql(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=77;break d}i=(c[wa>>2]|0)+i|0;c[wa>>2]=i;o=c[Oa>>2]|0;i=(c[d>>2]|0)-i|0;if(o>>>0>i>>>0){s=79;break d}xf=c[X>>2]|0;if(fa[c[(c[xf>>2]|0)+624>>2]&511](xf,o)|0){s=81;break d}if(!o)break e;m=0;n=-1;do{i=c[V>>2]|0;i=Ql(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=85;break d}i=(c[wa>>2]|0)+i|0;c[wa>>2]=i;j=n;n=c[Oa>>2]|0;if(n>>>0>=((c[na>>2]|0)+(c[Na>>2]|0)|0)>>>0){s=87;break d}if(!((j|0)==-1|n>>>0>j>>>0)){s=89;break d}xf=c[V>>2]|0;i=Ql(xf+i|0,xf+(c[d>>2]|0)|0,Oa)|0;if(!i){s=91;break d}i=(c[wa>>2]|0)+i|0;c[wa>>2]=i;l=c[Oa>>2]|0;i=(c[d>>2]|0)-i|0;if(l>>>0>i>>>0){s=93;break d}xf=c[X>>2]|0;if(ga[c[(c[xf>>2]|0)+628>>2]&127](xf,n,l)|0){s=95;break d}if(l|0){j=0;k=-1;while(1){c[A>>2]=0;c[Ja>>2]=0;i=c[V>>2]|0;i=Ql(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=99;break d}c[wa>>2]=(c[wa>>2]|0)+i;i=c[Oa>>2]|0;if((i|0)==(k|0)){s=101;break d}if(!((k|0)==-1|i>>>0>k>>>0)){s=103;break d}if((zt(d,A,311538)|0)==1){s=108;break d}xf=c[X>>2]|0;k=c[(c[xf>>2]|0)+632>>2]|0;Af=A;zf=c[Af+4>>2]|0;yf=S;c[yf>>2]=c[Af>>2];c[yf+4>>2]=zf;c[Oa>>2]=c[S>>2];c[Oa+4>>2]=c[S+4>>2];if(ha[k&63](xf,n,i,Oa)|0){s=106;break d}j=j+1|0;if(j>>>0>=l>>>0)break;else k=i}}m=m+1|0}while(m>>>0<o>>>0);break}default:c[wa>>2]=f}while(0);if((c[wa>>2]|0)!=(f|0)){s=112;break}c[d>>2]=h;if(f>>>0>=h>>>0)break c;else p=p+1|0}switch(s|0){case 30:{c[Kb>>2]=311577;xt(d,311286,Kb);s=113;break}case 33:{xt(d,311587,Xb);s=113;break}case 35:{xt(d,311609,dc);s=113;break}case 37:{c[kc>>2]=311634;xt(d,311286,kc);s=113;break}case 39:{xt(d,311650,tc);s=113;break}case 42:{s=0;xt(d,311693,Bc);break}case 46:{xt(d,311744,Mc);s=47;break}case 50:{s=0;xt(d,311773,Vc);break}case 53:{s=0;c[bd>>2]=311814;xt(d,311286,bd);break}case 55:{s=0;c[pd>>2]=311814;c[pd+4>>2]=l;c[pd+8>>2]=i;xt(d,311825,pd);break}case 57:{s=0;xt(d,311871,Id);break}case 61:{c[Rd>>2]=311908;xt(d,311286,Rd);s=72;break}case 63:{c[ce>>2]=k;xt(d,311923,ce);s=72;break}case 65:{c[oe>>2]=i;xt(d,311951,oe);s=72;break}case 67:{c[Ae>>2]=i;xt(d,311983,Ae);s=72;break}case 70:{xt(d,312024,Ne);s=72;break}case 74:{s=0;xt(d,312055,Xe);break}case 77:{s=0;c[df>>2]=312093;xt(d,311286,df);break}case 79:{s=0;c[kf>>2]=312093;c[kf+4>>2]=o;c[kf+8>>2]=i;xt(d,311825,kf);break}case 81:{s=0;xt(d,312108,mf);break}case 85:{s=0;c[nf>>2]=311908;xt(d,311286,nf);break}case 87:{s=0;c[of>>2]=n;xt(d,311983,of);break}case 89:{s=0;c[pf>>2]=n;xt(d,312149,pf);break}case 91:{s=0;c[qf>>2]=312188;xt(d,311286,qf);break}case 93:{s=0;c[rf>>2]=312188;c[rf+4>>2]=l;c[rf+8>>2]=i;xt(d,311825,rf);break}case 95:{s=0;xt(d,312200,tf);break}case 99:{c[uf>>2]=312238;xt(d,311286,uf);s=108;break}case 101:{c[vf>>2]=k;xt(d,312250,vf);s=108;break}case 103:{c[Sa>>2]=i;xt(d,312276,Sa);s=108;break}case 106:{xt(d,312305,Ta);s=108;break}case 112:{s=0;c[Ua>>2]=f;xt(d,312333,Ua);break}}if((s|0)==47)s=0;else if((s|0)==72)s=0;else if((s|0)==108)s=0;else if((s|0)==113){s=0;f=1;break b}c[d>>2]=h;f=1;break b}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+636>>2]&127](Af)|0)){a[Y>>0]=1;s=281;break}else{xt(d,312378,Va);f=1;break}}else s=119;while(0);f:do if((s|0)==119){s=0;if(!(vn(h,f,312410,6)|0)){Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+656>>2]&511](Af,i)|0){xt(d,312417,Wa);f=1;break}f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;do if(!f){c[Xa>>2]=312452;xt(d,311286,Xa);f=1}else{Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Ql(f+Af|0,f+(c[d>>2]|0)|0,A)|0;if(!f){c[Ya>>2]=312461;xt(d,311286,Ya);f=1;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Ql(f+Af|0,f+(c[d>>2]|0)|0,$)|0;if(!f){c[Za>>2]=312471;xt(d,311286,Za);f=1;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Ql(f+Af|0,f+(c[d>>2]|0)|0,R)|0;if(!f){c[$a>>2]=312482;xt(d,311286,$a);f=1;break}c[wa>>2]=(c[wa>>2]|0)+f;Af=c[X>>2]|0;if(ia[c[(c[Af>>2]|0)+660>>2]&31](Af,c[Pa>>2]|0,c[A>>2]|0,c[$>>2]|0,c[R>>2]|0)|0){xt(d,312494,ab);f=1;break}f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,S)|0;g:do if(!f){c[bb>>2]=312523;xt(d,311286,bb);f=1}else{c[wa>>2]=(c[wa>>2]|0)+f;Af=c[X>>2]|0;f=c[S>>2]|0;if(fa[c[(c[Af>>2]|0)+664>>2]&511](Af,f)|0){xt(d,312538,cb);f=1;break}h=f+-1|0;c[S>>2]=h;do if(f|0){while(1){c[T>>2]=0;c[Fa>>2]=0;if((zt(d,T,312574)|0)==1){s=139;break}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+668>>2]|0;s=T;xf=c[s+4>>2]|0;yf=U;c[yf>>2]=c[s>>2];c[yf+4>>2]=xf;c[Oa>>2]=c[U>>2];c[Oa+4>>2]=c[U+4>>2];if(fa[zf&511](Af,Oa)|0){s=141;break}f=h+-1|0;if(!h){s=143;break}else h=f}if((s|0)==139){s=0;c[S>>2]=h;f=1;break g}else if((s|0)==141){s=0;c[S>>2]=h;xt(d,312588,db);f=1;break g}else if((s|0)==143){s=0;c[S>>2]=f;break}}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+672>>2]&127](Af)|0)){f=0;break}xt(d,312619,eb);f=1}while(0)}while(0);if((f|0)==1){f=1;break}else{s=281;break}}if(!(wn(h,f)|0)){Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+640>>2]&511](Af,i)|0){xt(d,312658,fb);f=1;break}f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;h:do if(f){Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Ql(f+Af|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[hb>>2]=312706;xt(d,311286,hb);break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;l=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(l>>>0>f>>>0){c[ib>>2]=312706;c[ib+4>>2]=l;c[ib+8>>2]=f;xt(d,311825,ib);break}Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+644>>2]&127](Af,l,c[Pa>>2]|0)|0){xt(d,312723,jb);break}i:do if(l|0){k=0;j:while(1){c[$>>2]=0;f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,A)|0;if(!f){s=162;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Ql(f+Af|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=164;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;j=c[Oa>>2]|0;f=c[V>>2]|0;f=Ql(f+Af|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=166;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;h=c[Oa>>2]|0;i=c[A>>2]|0;switch(i|0){case 9:case 8:case 5:case 4:case 3:{Af=c[V>>2]|0;f=Rl(Af+f|0,Af+(c[d>>2]|0)|0,$)|0;if(!f){s=170;break j}c[wa>>2]=(c[wa>>2]|0)+f;f=c[$>>2]|0;break}default:f=0}Af=c[X>>2]|0;if(ia[c[(c[Af>>2]|0)+648>>2]&31](Af,i,j,h,f)|0){s=172;break}k=k+1|0;if(k>>>0>=l>>>0)break i}if((s|0)==162){s=0;c[lb>>2]=312752;xt(d,311286,lb)}else if((s|0)==164){s=0;c[mb>>2]=328020;xt(d,311286,mb)}else if((s|0)==166){s=0;c[nb>>2]=312768;xt(d,311286,nb)}else if((s|0)==170){s=0;c[ob>>2]=312774;xt(d,312781,ob)}else if((s|0)==172){s=0;xt(d,312811,pb)}break h}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+652>>2]&127](Af)|0)){s=281;break f}else{xt(d,312835,qb);break}}else{c[gb>>2]=312692;xt(d,311286,gb)}while(0);f=1;break}if(vn(h,f,312867,7)|0){c[wa>>2]=c[d>>2];s=281;break}Af=c[X>>2]|0;if(!(fa[c[(c[Af>>2]|0)+676>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;k:do if(!f){c[sb>>2]=311121;xt(d,311286,sb);f=1}else{h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Pa>>2]|0;if((f|0)!=2){c[ub>>2]=f;xt(d,312911,ub);f=1;break}f=c[d>>2]|0;l:do if(h>>>0<f>>>0){n=h;m:while(1){Af=c[V>>2]|0;f=Ql(Af+n|0,Af+f|0,A)|0;if(!f){s=189;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Ql(f+Af|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=191;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;n=(c[Oa>>2]|0)+h|0;f=c[d>>2]|0;if(n>>>0>f>>>0){s=193;break}c[d>>2]=n;n:do switch(c[A>>2]|0){case 8:{Af=c[V>>2]|0;h=Ql(Af+h|0,Af+n|0,$)|0;if(!h){s=196;break m}c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;l=c[$>>2]|0;if(fa[c[(c[Af>>2]|0)+680>>2]&511](Af,l)|0){s=198;break m}if(!l)break n;m=0;do{c[R>>2]=0;c[Ea>>2]=0;c[S>>2]=0;c[T>>2]=0;h=c[V>>2]|0;h=Ql(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,T)|0;o:do if(!h){c[Ab>>2]=312988;xt(d,311286,Ab);h=0}else{Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Ql(h+Af|0,h+(c[d>>2]|0)|0,S)|0;if(!h){c[Cb>>2]=312997;xt(d,311286,Cb);h=0;break}c[wa>>2]=(c[wa>>2]|0)+h;j=c[T>>2]|0;Af=c[X>>2]|0;k=c[S>>2]|0;if(ha[c[(c[Af>>2]|0)+684>>2]&63](Af,m,j,k)|0){xt(d,313007,Db);h=0;break}switch(j|0){case 2:case 0:{c[U>>2]=0;h=c[V>>2]|0;h=Ql(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,U)|0;p:do if(!h){c[Eb>>2]=312768;xt(d,311286,Eb)}else{c[wa>>2]=(c[wa>>2]|0)+h;if((k&16|0)==0?(zt(d,R,313032)|0)==1:0)break;h=c[X>>2]|0;i=c[h>>2]|0;do if(!j){zf=c[i+692>>2]|0;xf=R;yf=c[xf+4>>2]|0;Af=_;c[Af>>2]=c[xf>>2];c[Af+4>>2]=yf;Af=c[U>>2]|0;c[Oa>>2]=c[_>>2];c[Oa+4>>2]=c[_+4>>2];if(!(ia[zf&31](h,m,k,Oa,Af)|0))break;xt(d,313044,Fb);break p}else{zf=c[i+696>>2]|0;xf=R;yf=c[xf+4>>2]|0;Af=Z;c[Af>>2]=c[xf>>2];c[Af+4>>2]=yf;Af=c[U>>2]|0;c[Oa>>2]=c[Z>>2];c[Oa+4>>2]=c[Z+4>>2];if(!(ia[zf&31](h,m,k,Oa,Af)|0))break;xt(d,313077,Gb);break p}while(0);h=1;break o}while(0);h=0;break o}case 1:{c[U>>2]=0;c[B>>2]=0;c[C>>2]=0;q:do if((zt(d,R,313032)|0)!=1){do if(!(k&16)){h=c[V>>2]|0;h=Ql(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,U)|0;if(!h){c[Hb>>2]=313108;xt(d,311286,Hb);break q}Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Ql(h+Af|0,h+(c[d>>2]|0)|0,B)|0;if(!h){c[Ib>>2]=328020;xt(d,311286,Ib);break q}Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Ql(h+Af|0,h+(c[d>>2]|0)|0,C)|0;if(!h){c[Jb>>2]=313116;xt(d,311286,Jb);break q}else{c[wa>>2]=(c[wa>>2]|0)+h;h=c[U>>2]|0;i=c[B>>2]|0;j=c[C>>2]|0;break}}else{h=0;i=0;j=0}while(0);Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+688>>2]|0;q=R;xf=c[q+4>>2]|0;yf=D;c[yf>>2]=c[q>>2];c[yf+4>>2]=xf;c[Oa>>2]=c[D>>2];c[Oa+4>>2]=c[D+4>>2];if(!(ka[zf&31](Af,m,k,Oa,h,i,j)|0)){h=1;break o}else{xt(d,313121,Lb);break}}while(0);h=0;break o}case 3:{c[Oa>>2]=0;h=c[V>>2]|0;h=Ql(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,Oa)|0;do if(h){c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;if(!(ha[c[(c[Af>>2]|0)+700>>2]&63](Af,m,k,c[Oa>>2]|0)|0)){h=1;break o}else{xt(d,313150,Nb);break}}else{c[Mb>>2]=312768;xt(d,311286,Mb)}while(0);h=0;break o}default:{h=1;break o}}}while(0);m=m+1|0;if(!h)break m}while(m>>>0<l>>>0);break}case 5:{Af=c[V>>2]|0;h=Ql(Af+h|0,Af+n|0,$)|0;if(!h){s=241;break m}c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;i=c[$>>2]|0;if(fa[c[(c[Af>>2]|0)+704>>2]&511](Af,i)|0){s=243;break m}if(!i)break n;j=0;do{c[R>>2]=0;c[La>>2]=0;do if((zt(d,R,313228)|0)==1)h=0;else{h=c[V>>2]|0;h=Ql(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,S)|0;if(!h){c[Qb>>2]=313241;xt(d,311286,Qb);h=0;break}Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Ql(h+Af|0,h+(c[d>>2]|0)|0,T)|0;if(!h){c[Rb>>2]=313259;xt(d,311286,Rb);h=0;break}c[wa>>2]=(c[wa>>2]|0)+h;yf=c[X>>2]|0;xf=c[(c[yf>>2]|0)+708>>2]|0;q=R;Af=c[q+4>>2]|0;zf=E;c[zf>>2]=c[q>>2];c[zf+4>>2]=Af;zf=c[S>>2]|0;Af=c[T>>2]|0;c[Oa>>2]=c[E>>2];c[Oa+4>>2]=c[E+4>>2];if(!(ia[xf&31](yf,j,Oa,zf,Af)|0)){h=1;break}xt(d,313273,Sb);h=0}while(0);j=j+1|0;if(!h)break m}while(j>>>0<i>>>0);break}case 6:{Af=c[V>>2]|0;h=Ql(Af+h|0,Af+n|0,$)|0;if(!h){s=256;break m}c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;h=c[$>>2]|0;if(fa[c[(c[Af>>2]|0)+712>>2]&511](Af,h)|0){s=258;break m}i=h+-1|0;c[$>>2]=i;if(!h)break n;while(1){h=c[V>>2]|0;h=Ql(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,Oa)|0;if(!h){s=262;break m}Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Ql(h+Af|0,h+(c[d>>2]|0)|0,R)|0;if(!h){s=264;break m}c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+716>>2]&127](Af,c[Oa>>2]|0,c[R>>2]|0)|0){s=266;break m}h=i+-1|0;if(!i)break;else i=h}c[$>>2]=h;break}default:c[wa>>2]=n}while(0);if((c[wa>>2]|0)!=(n|0)){s=272;break}c[d>>2]=f;if(n>>>0>=f>>>0)break l}switch(s|0){case 189:{c[vb>>2]=328089;xt(d,311286,vb);s=273;break}case 191:{c[wb>>2]=311634;xt(d,311286,wb);s=273;break}case 193:{xt(d,311650,xb);s=273;break}case 196:{s=0;c[yb>>2]=312948;xt(d,311286,yb);break}case 198:{s=0;xt(d,312958,zb);break}case 241:{s=0;c[Ob>>2]=313182;xt(d,311286,Ob);break}case 243:{s=0;xt(d,313193,Pb);break}case 256:{s=0;c[Tb>>2]=313182;xt(d,311286,Tb);break}case 258:{s=0;xt(d,313303,Ub);break}case 262:{c[$>>2]=i;c[Vb>>2]=313339;xt(d,311286,Vb);s=267;break}case 264:{c[$>>2]=i;c[Wb>>2]=311908;xt(d,311286,Wb);s=267;break}case 266:{c[$>>2]=i;xt(d,313348,Yb);s=267;break}case 272:{s=0;c[Zb>>2]=n;xt(d,312333,Zb);break}}if((s|0)==267)s=0;else if((s|0)==273){s=0;f=1;break k}c[d>>2]=f;f=1;break k}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+720>>2]&127](Af)|0)){f=0;break}xt(d,313379,_b);f=1}while(0)}else{xt(d,312875,rb);f=1}if((f|0)==1)f=1;else s=281}while(0);if((s|0)==281){Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+32>>2]&127](Af)|0))f=0;else{xt(d,313413,$b);f=1}}a[w>>0]=r}while(0);s=(a[(c[xa>>2]|0)+18>>0]|0)==0;e=s?e:((e|0)==1|(f|0)==1)&1;g=g&(s^1);s=712;break}case 1:{Af=c[X>>2]|0;r:do if(!(fa[c[(c[Af>>2]|0)+36>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[bc>>2]=313479;xt(d,311286,bc);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[ta>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[cc>>2]=313479;c[cc+4>>2]=f;c[cc+8>>2]=h;xt(d,311825,cc);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+40>>2]&511](Af,f)|0){xt(d,313490,ec);f=1;break}s:do if(c[ta>>2]|0){n=0;t:while(1){c[Oa>>2]=0;f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=297;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;if((f|0)!=-32){s=299;break}f=c[V>>2]|0;f=Ql(f+h|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=301;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;m=c[Oa>>2]|0;h=c[d>>2]|0;i=h-f|0;if(m>>>0>i>>>0){s=303;break}i=c[ya>>2]|0;j=(c[x>>2]|0)-i>>2;if(m>>>0<=j>>>0){if(m>>>0<j>>>0)c[x>>2]=i+(m<<2);if(!m)l=1;else s=309}else{At(ya,m-j|0);f=c[wa>>2]|0;s=309}if((s|0)==309){s=0;h=f;i=0;do{c[Oa>>2]=0;f=c[V>>2]|0;f=Rl(f+h|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=311;break t}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;switch(f|0){case -4:case -3:case -2:case -1:break;case -5:{if(!(a[(c[xa>>2]|0)+4>>0]|0)){f=-5;s=316;break t}break}case -17:{if(!(a[(c[xa>>2]|0)+9>>0]|0)){f=-17;s=316;break t}break}default:{s=315;break t}}c[(c[ya>>2]|0)+(i<<2)>>2]=f;i=i+1|0}while(i>>>0<m>>>0);f=h;h=c[d>>2]|0;l=0}Af=c[V>>2]|0;f=Ql(Af+f|0,Af+h|0,Oa)|0;if(!f){s=321;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;k=c[Oa>>2]|0;h=(c[d>>2]|0)-f|0;if(k>>>0>h>>>0){s=323;break}if(k>>>0>=2?(a[(c[xa>>2]|0)+6>>0]|0)==0:0){s=326;break}h=c[za>>2]|0;i=(c[y>>2]|0)-h>>2;if(k>>>0<=i>>>0){if(k>>>0<i>>>0)c[y>>2]=h+(k<<2);if(!k)h=0;else s=332}else{At(za,k-i|0);f=c[wa>>2]|0;s=332}u:do if((s|0)==332){s=0;i=f;j=0;while(1){c[Oa>>2]=0;f=c[V>>2]|0;f=Rl(f+i|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=334;break t}i=(c[wa>>2]|0)+f|0;c[wa>>2]=i;f=c[Oa>>2]|0;switch(f|0){case -4:case -3:case -2:case -1:break;case -5:{if(!(a[(c[xa>>2]|0)+4>>0]|0)){f=-5;s=339;break t}break}case -17:{if(!(a[(c[xa>>2]|0)+9>>0]|0)){f=-17;s=339;break t}break}default:{s=338;break t}}h=c[za>>2]|0;c[h+(j<<2)>>2]=f;j=j+1|0;if(j>>>0>=k>>>0)break u}}while(0);if(l)f=0;else f=c[ya>>2]|0;Af=c[X>>2]|0;if(ja[c[(c[Af>>2]|0)+44>>2]&31](Af,n,m,f,k,h)|0){s=345;break}n=n+1|0;if(n>>>0>=(c[ta>>2]|0)>>>0)break s}switch(s|0){case 297:{c[fc>>2]=313518;xt(d,312781,fc);f=1;break r}case 299:{c[gc>>2]=(f|0)<0?313528:329996;c[gc+4>>2]=(f|0)>-1?f:0-f|0;xt(d,313530,gc);f=1;break r}case 301:{c[hc>>2]=313563;xt(d,311286,hc);f=1;break r}case 303:{c[ic>>2]=313563;c[ic+4>>2]=m;c[ic+8>>2]=i;xt(d,311825,ic);f=1;break r}case 311:{c[jc>>2]=313584;xt(d,312781,jc);f=1;break r}case 315:{if((f|0)<0)s=316;else{c[mc>>2]=329996;c[mc+4>>2]=f;xt(d,313604,mc);f=1;break r}break}case 321:{c[nc>>2]=313642;xt(d,311286,nc);f=1;break r}case 323:{c[oc>>2]=313642;c[oc+4>>2]=k;c[oc+8>>2]=h;xt(d,311825,oc);f=1;break r}case 326:{xt(d,313664,pc);f=1;break r}case 334:{c[qc>>2]=313692;xt(d,312781,qc);f=1;break r}case 338:{if((f|0)<0)s=339;else{c[sc>>2]=329996;c[sc+4>>2]=f;xt(d,313713,sc);f=1;break r}break}case 345:{xt(d,313752,uc);f=1;break r}}if((s|0)==316){c[lc>>2]=313528;c[lc+4>>2]=0-f;xt(d,313604,lc);f=1;break r}else if((s|0)==339){c[rc>>2]=313528;c[rc+4>>2]=0-f;xt(d,313713,rc);f=1;break r}}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+48>>2]&127](Af)|0))f=0;else{xt(d,313775,vc);f=1}}else{xt(d,313446,ac);f=1}while(0);e=f|(e|0)==1;s=712;break}case 2:{Af=c[X>>2]|0;v:do if(!(fa[c[(c[Af>>2]|0)+52>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[xc>>2]=313841;xt(d,311286,xc);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[qa>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[yc>>2]=313841;c[yc+4>>2]=f;c[yc+8>>2]=h;xt(d,311825,yc);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+56>>2]&511](Af,f)|0){xt(d,313854,zc);f=1;break}w:do if(c[qa>>2]|0){l=0;x:while(1){c[A>>2]=0;c[Ga>>2]=0;if((zt(d,A,313884)|0)==1){s=360;break}c[$>>2]=0;c[Ma>>2]=0;if((zt(d,$,313903)|0)==1)break;f=c[wa>>2]|0;j=f+1|0;h=c[d>>2]|0;if(j>>>0>h>>>0){s=363;break}i=c[V>>2]|0;Af=a[i+f>>0]|0;c[wa>>2]=j;switch(Af<<24>>24){case 0:{f=Ql(i+j|0,i+h|0,Oa)|0;if(!f){s=366;break x}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;if(f>>>0>=(c[ta>>2]|0)>>>0){s=368;break x}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;i=A;h=c[i>>2]|0;i=c[i+4>>2]|0;k=R;c[k>>2]=h;c[k+4>>2]=i;k=$;j=c[k>>2]|0;k=c[k+4>>2]|0;yf=S;c[yf>>2]=j;c[yf+4>>2]=k;c[Pa>>2]=c[R>>2];c[Pa+4>>2]=c[R+4>>2];c[Oa>>2]=c[S>>2];c[Oa+4>>2]=c[S+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=370;break x}zf=c[X>>2]|0;yf=c[(c[zf>>2]|0)+64>>2]|0;Af=T;c[Af>>2]=h;c[Af+4>>2]=i;Af=U;c[Af>>2]=j;c[Af+4>>2]=k;Af=c[Na>>2]|0;c[Pa>>2]=c[T>>2];c[Pa+4>>2]=c[T+4>>2];c[Oa>>2]=c[U>>2];c[Oa+4>>2]=c[U+4>>2];if(ja[yf&31](zf,l,Pa,Oa,Af,f)|0){s=372;break x}c[Na>>2]=(c[Na>>2]|0)+1;break}case 1:{c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[Z+12>>2]=0;b[Z+16>>1]=0;if((Bt(d,_,Z)|0)==1){s=379;break x}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;j=B;c[j>>2]=f;c[j+4>>2]=h;j=$;i=c[j>>2]|0;j=c[j+4>>2]|0;yf=C;c[yf>>2]=i;c[yf+4>>2]=j;c[Pa>>2]=c[B>>2];c[Pa+4>>2]=c[B+4>>2];c[Oa>>2]=c[C>>2];c[Oa+4>>2]=c[C+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=376;break x}yf=c[X>>2]|0;xf=c[(c[yf>>2]|0)+68>>2]|0;zf=D;c[zf>>2]=f;c[zf+4>>2]=h;zf=E;c[zf>>2]=i;c[zf+4>>2]=j;zf=c[ua>>2]|0;Af=c[_>>2]|0;c[Pa>>2]=c[D>>2];c[Pa+4>>2]=c[D+4>>2];c[Oa>>2]=c[E>>2];c[Oa+4>>2]=c[E+4>>2];if(ka[xf&31](yf,l,Pa,Oa,zf,Af,Z)|0){s=378;break x}c[ua>>2]=(c[ua>>2]|0)+1;break}case 2:{c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[_+12>>2]=0;b[_+16>>1]=0;if((Ct(d,_)|0)==1){s=386;break x}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;j=F;c[j>>2]=f;c[j+4>>2]=h;j=$;i=c[j>>2]|0;j=c[j+4>>2]|0;yf=G;c[yf>>2]=i;c[yf+4>>2]=j;c[Pa>>2]=c[F>>2];c[Pa+4>>2]=c[F+4>>2];c[Oa>>2]=c[G>>2];c[Oa+4>>2]=c[G+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=383;break x}zf=c[X>>2]|0;yf=c[(c[zf>>2]|0)+72>>2]|0;Af=H;c[Af>>2]=f;c[Af+4>>2]=h;Af=I;c[Af>>2]=i;c[Af+4>>2]=j;Af=c[sa>>2]|0;c[Pa>>2]=c[H>>2];c[Pa+4>>2]=c[H+4>>2];c[Oa>>2]=c[I>>2];c[Oa+4>>2]=c[I+4>>2];if(ja[yf&31](zf,l,Pa,Oa,Af,_)|0){s=385;break x}c[sa>>2]=(c[sa>>2]|0)+1;break}case 3:{if((Dt(d,_,Z)|0)==1){s=393;break x}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;j=J;c[j>>2]=f;c[j+4>>2]=h;j=$;i=c[j>>2]|0;j=c[j+4>>2]|0;yf=K;c[yf>>2]=i;c[yf+4>>2]=j;c[Pa>>2]=c[J>>2];c[Pa+4>>2]=c[J+4>>2];c[Oa>>2]=c[K>>2];c[Oa+4>>2]=c[K+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=390;break x}xf=c[X>>2]|0;r=c[(c[xf>>2]|0)+76>>2]|0;yf=L;c[yf>>2]=f;c[yf+4>>2]=h;yf=M;c[yf>>2]=i;c[yf+4>>2]=j;yf=c[oa>>2]|0;zf=c[_>>2]|0;Af=(a[Z>>0]|0)!=0;c[Pa>>2]=c[L>>2];c[Pa+4>>2]=c[L+4>>2];c[Oa>>2]=c[M>>2];c[Oa+4>>2]=c[M+4>>2];if(ka[r&31](xf,l,Pa,Oa,yf,zf,Af)|0){s=392;break x}c[oa>>2]=(c[oa>>2]|0)+1;break}case 4:{if(!(a[c[xa>>2]>>0]|0)){s=396;break x}if((Et(d,_)|0)==1){s=402;break x}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;j=N;c[j>>2]=f;c[j+4>>2]=h;j=$;i=c[j>>2]|0;j=c[j+4>>2]|0;yf=O;c[yf>>2]=i;c[yf+4>>2]=j;c[Pa>>2]=c[N>>2];c[Pa+4>>2]=c[N+4>>2];c[Oa>>2]=c[O>>2];c[Oa+4>>2]=c[O+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=399;break x}yf=c[X>>2]|0;xf=c[(c[yf>>2]|0)+80>>2]|0;zf=P;c[zf>>2]=f;c[zf+4>>2]=h;zf=Q;c[zf>>2]=i;c[zf+4>>2]=j;zf=c[ca>>2]|0;Af=c[_>>2]|0;c[Pa>>2]=c[P>>2];c[Pa+4>>2]=c[P+4>>2];c[Oa>>2]=c[Q>>2];c[Oa+4>>2]=c[Q+4>>2];if(ja[xf&31](yf,l,Pa,Oa,zf,Af)|0){s=401;break x}c[ca>>2]=(c[ca>>2]|0)+1;break}default:{}}l=l+1|0;if(l>>>0>=(c[qa>>2]|0)>>>0)break w}switch(s|0){case 360:{f=1;break v}case 363:{s=0;c[Ac>>2]=313933;c[Ac+4>>2]=313921;xt(d,311083,Ac);break}case 366:{s=0;c[Cc>>2]=313941;xt(d,311286,Cc);break}case 368:{s=0;xt(d,313964,Dc);break}case 370:{s=0;xt(d,313995,Ec);break}case 372:{s=0;xt(d,314020,Fc);break}case 376:{xt(d,313995,Gc);s=379;break}case 378:{xt(d,314049,Hc);s=379;break}case 383:{xt(d,313995,Ic);s=386;break}case 385:{xt(d,314079,Jc);s=386;break}case 390:{xt(d,313995,Kc);s=393;break}case 392:{xt(d,314110,Lc);s=393;break}case 396:{s=0;xt(d,314141,Nc);break}case 399:{xt(d,313995,Oc);s=402;break}case 401:{xt(d,314191,Pc);s=402;break}}f=1;break v}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+84>>2]&127](Af)|0))f=0;else{xt(d,314221,Qc);f=1}}else{xt(d,313806,wc);f=1}while(0);e=f|(e|0)==1;s=712;break}case 3:{Af=c[X>>2]|0;y:do if(!(fa[c[(c[Af>>2]|0)+88>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Sc>>2]=314291;xt(d,311286,Sc);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[na>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[Tc>>2]=314291;c[Tc+4>>2]=f;c[Tc+8>>2]=h;xt(d,311825,Tc);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+92>>2]&511](Af,f)|0){xt(d,314316,Uc);f=1;break}z:do if(c[na>>2]|0){i=0;while(1){h=(c[Na>>2]|0)+i|0;f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=421;break}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;if(f>>>0>=(c[ta>>2]|0)>>>0){s=423;break}Af=c[X>>2]|0;i=i+1|0;if(ga[c[(c[Af>>2]|0)+96>>2]&127](Af,h,f)|0){s=425;break}if(i>>>0>=(c[na>>2]|0)>>>0)break z}if((s|0)==421){c[Wc>>2]=314348;xt(d,311286,Wc);f=1;break y}else if((s|0)==423){c[Xc>>2]=f;xt(d,314373,Xc);f=1;break y}else if((s|0)==425){xt(d,314410,Yc);f=1;break y}}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+100>>2]&127](Af)|0))f=0;else{xt(d,314437,Zc);f=1}}else{xt(d,314254,Rc);f=1}while(0);e=f|(e|0)==1;s=712;break}case 4:{Af=c[X>>2]|0;A:do if(!(fa[c[(c[Af>>2]|0)+104>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[$c>>2]=314506;xt(d,311286,$c);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[va>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[ad>>2]=314506;c[ad+4>>2]=f;c[ad+8>>2]=h;xt(d,311825,ad);f=1;break}if(!(f>>>0<2?1:(a[(c[xa>>2]|0)+9>>0]|0)!=0)){c[cd>>2]=f;xt(d,314518,cd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+108>>2]&511](Af,f)|0){xt(d,314550,dd);f=1;break}B:do if(c[va>>2]|0){h=0;while(1){f=c[ua>>2]|0;c[Pa>>2]=0;c[Pa+4>>2]=0;c[Pa+8>>2]=0;c[Pa+12>>2]=0;b[Pa+16>>1]=0;if((Bt(d,Oa,Pa)|0)==1)break;Af=c[X>>2]|0;if(ha[c[(c[Af>>2]|0)+112>>2]&63](Af,f+h|0,c[Oa>>2]|0,Pa)|0){s=443;break}h=h+1|0;if(h>>>0>=(c[va>>2]|0)>>>0)break B}if((s|0)==443)xt(d,314579,ed);f=1;break A}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+116>>2]&127](Af)|0))f=0;else{xt(d,314603,fd);f=1}}else{xt(d,314472,_c);f=1}while(0);e=f|(e|0)==1;s=712;break}case 5:{Af=c[X>>2]|0;C:do if(!(fa[c[(c[Af>>2]|0)+120>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[id>>2]=314670;xt(d,311286,id);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[ra>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[jd>>2]=314670;c[jd+4>>2]=f;c[jd+8>>2]=h;xt(d,311825,jd);f=1;break}if(f>>>0>=2){xt(d,314683,kd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+124>>2]&511](Af,f)|0){xt(d,314711,ld);f=1;break}D:do if(c[ra>>2]|0){h=0;while(1){f=c[sa>>2]|0;c[Oa>>2]=0;c[Oa+4>>2]=0;c[Oa+8>>2]=0;c[Oa+12>>2]=0;b[Oa+16>>1]=0;if((Ct(d,Oa)|0)==1)break;Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+128>>2]&127](Af,f+h|0,Oa)|0){s=463;break}h=h+1|0;if(h>>>0>=(c[ra>>2]|0)>>>0)break D}if((s|0)==463)xt(d,314741,md);f=1;break C}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+132>>2]&127](Af)|0))f=0;else{xt(d,314766,nd);f=1}}else{xt(d,314635,hd);f=1}while(0);e=f|(e|0)==1;s=712;break}case 6:{Af=c[X>>2]|0;E:do if(!(fa[c[(c[Af>>2]|0)+136>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[qd>>2]=314834;xt(d,311286,qd);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[pa>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[rd>>2]=314834;c[rd+4>>2]=f;c[rd+8>>2]=h;xt(d,311825,rd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+140>>2]&511](Af,f)|0){xt(d,314847,sd);f=1;break}F:do if(c[pa>>2]|0){h=0;while(1){f=(c[oa>>2]|0)+h|0;if((Dt(d,Oa,Pa)|0)==1)break;Af=c[X>>2]|0;if(ha[c[(c[Af>>2]|0)+144>>2]&63](Af,f,c[Oa>>2]|0,(a[Pa>>0]|0)!=0)|0){s=481;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+148>>2]&511](Af,f)|0){s=483;break}if((Ft(d,f,0)|0)==1)break;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+152>>2]&511](Af,f)|0){s=486;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+156>>2]&511](Af,f)|0){s=488;break}h=h+1|0;if(h>>>0>=(c[pa>>2]|0)>>>0)break F}if((s|0)==481)xt(d,314877,td);else if((s|0)==483)xt(d,314905,ud);else if((s|0)==486)xt(d,314941,vd);else if((s|0)==488)xt(d,314975,wd);f=1;break E}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+160>>2]&127](Af)|0))f=0;else{xt(d,315001,xd);f=1}}else{xt(d,314799,od);f=1}while(0);e=f|(e|0)==1;s=712;break}case 7:{Af=c[X>>2]|0;G:do if(!(fa[c[(c[Af>>2]|0)+164>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[zd>>2]=315069;xt(d,311286,zd);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[la>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[Ad>>2]=315069;c[Ad+4>>2]=f;c[Ad+8>>2]=h;xt(d,311825,Ad);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+168>>2]&511](Af,f)|0){xt(d,315082,Bd);f=1;break}H:do if(c[la>>2]|0){l=0;I:while(1){c[Pa>>2]=0;c[Ia>>2]=0;if((zt(d,Pa,315112)|0)==1)break;f=c[wa>>2]|0;j=f+1|0;h=c[d>>2]|0;if(j>>>0>h>>>0){s=506;break}i=c[V>>2]|0;k=a[i+f>>0]|0;c[wa>>2]=j;if((k&255)>=5){s=508;break}f=Ql(i+j|0,i+h|0,Oa)|0;if(!f){s=510;break}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;switch(k<<24>>24){case 0:{if(f>>>0>=((c[na>>2]|0)+(c[Na>>2]|0)|0)>>>0){s=513;break I}break}case 1:{if(f>>>0>=((c[va>>2]|0)+(c[ua>>2]|0)|0)>>>0){s=515;break I}break}case 2:{if(f>>>0>=((c[ra>>2]|0)+(c[sa>>2]|0)|0)>>>0){s=517;break I}break}case 3:{if(f>>>0>=((c[pa>>2]|0)+(c[oa>>2]|0)|0)>>>0){s=519;break I}break}case 4:{if(!(a[c[xa>>2]>>0]|0)){s=521;break I}break}default:{}}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+172>>2]|0;r=Pa;xf=c[r+4>>2]|0;yf=A;c[yf>>2]=c[r>>2];c[yf+4>>2]=xf;c[Oa>>2]=c[A>>2];c[Oa+4>>2]=c[A+4>>2];if(ia[zf&31](Af,l,k&255,f,Oa)|0){s=523;break}l=l+1|0;if(l>>>0>=(c[la>>2]|0)>>>0)break H}if((s|0)==506){c[Cd>>2]=313933;c[Cd+4>>2]=315129;xt(d,311083,Cd)}else if((s|0)==508){c[Dd>>2]=k&255;xt(d,315141,Dd)}else if((s|0)==510){c[Ed>>2]=315174;xt(d,311286,Ed)}else if((s|0)==513){c[Fd>>2]=f;xt(d,315192,Fd)}else if((s|0)==515){c[Gd>>2]=f;xt(d,315222,Gd)}else if((s|0)==517){c[Hd>>2]=f;xt(d,315253,Hd)}else if((s|0)==519){c[Jd>>2]=f;xt(d,315285,Jd)}else if((s|0)==521)xt(d,315317,Kd);else if((s|0)==523)xt(d,315367,Ld);f=1;break G}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+176>>2]&127](Af)|0))f=0;else{xt(d,315392,Md);f=1}}else{xt(d,315034,yd);f=1}while(0);e=f|(e|0)==1;s=712;break}case 8:{Af=c[X>>2]|0;do if(!(fa[c[(c[Af>>2]|0)+180>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Od>>2]=315459;xt(d,311286,Od);f=1;break}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;if(f>>>0>=((c[na>>2]|0)+(c[Na>>2]|0)|0)>>>0){c[Pd>>2]=f;xt(d,315480,Pd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+184>>2]&511](Af,f)|0){xt(d,315513,Qd);f=1;break}Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+188>>2]&127](Af)|0))f=0;else{xt(d,315545,Sd);f=1}}else{xt(d,315425,Nd);f=1}while(0);e=f|(e|0)==1;s=712;break}case 9:{Af=c[X>>2]|0;J:do if(!(fa[c[(c[Af>>2]|0)+516>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Ud>>2]=315610;xt(d,311286,Ud);f=1;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;k=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(k>>>0>f>>>0){c[Vd>>2]=315610;c[Vd+4>>2]=k;c[Vd+8>>2]=f;xt(d,311825,Vd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+520>>2]&511](Af,k)|0){xt(d,315629,Wd);f=1;break}K:do if(k|0){if((c[va>>2]|0)==(0-(c[ua>>2]|0)|0)){xt(d,315664,Xd);f=1;break J}j=0;L:while(1){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;if(!f){s=553;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Pa>>2]|0;if(f>>>0>=3){s=555;break}i=f&255;if(i<<24>>24==2){f=c[V>>2]|0;f=Ql(f+h|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=559;break}c[wa>>2]=(c[wa>>2]|0)+f;h=c[Oa>>2]|0}else h=0;Af=c[X>>2]|0;f=i<<24>>24==1;if(ha[c[(c[Af>>2]|0)+524>>2]&63](Af,j,h,f)|0){s=561;break}if(!f){Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+528>>2]&511](Af,j)|0){s=564;break}if((Ft(d,j,1)|0)==1)break;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+532>>2]&511](Af,j)|0){s=567;break}}f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=569;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;i=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(i>>>0>f>>>0){s=571;break}Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+536>>2]&127](Af,j,i)|0){s=573;break}if(i|0){h=0;do{f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=578;break L}c[wa>>2]=(c[wa>>2]|0)+f;Af=c[X>>2]|0;h=h+1|0;if(ga[c[(c[Af>>2]|0)+540>>2]&127](Af,j,c[Oa>>2]|0)|0){s=580;break L}}while(h>>>0<i>>>0)}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+544>>2]&511](Af,j)|0){s=582;break}j=j+1|0;if(j>>>0>=k>>>0)break K}switch(s|0){case 553:{c[Yd>>2]=315699;xt(d,311286,Yd);break}case 555:{xt(d,315718,Zd);break}case 559:{c[_d>>2]=315745;xt(d,311286,_d);break}case 561:{xt(d,315770,$d);break}case 564:{xt(d,315803,ae);break}case 567:{xt(d,315844,be);break}case 569:{c[de>>2]=315883;xt(d,311286,de);break}case 571:{c[ee>>2]=315883;c[ee+4>>2]=i;c[ee+8>>2]=f;xt(d,311825,ee);break}case 573:{xt(d,315917,fe);break}case 578:{c[ge>>2]=315965;xt(d,311286,ge);break}case 580:{xt(d,315993,he);break}case 582:{xt(d,316036,ie);break}}f=1;break J}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+548>>2]&127](Af)|0))f=0;else{xt(d,316067,je);f=1}}else{xt(d,315577,Td);f=1}while(0);e=f|(e|0)==1;s=712;break}case 10:{Af=c[X>>2]|0;M:do if(!(fa[c[(c[Af>>2]|0)+192>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[le>>2]=316131;xt(d,311286,le);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[ma>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[me>>2]=316131;c[me+4>>2]=f;c[me+8>>2]=h;xt(d,311825,me);f=1;break}if((c[na>>2]|0)!=(f|0)){xt(d,311199,ne);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+196>>2]&511](Af,f)|0){xt(d,316151,pe);f=1;break}N:do if(c[ma>>2]|0){o=0;O:while(1){n=(c[Na>>2]|0)+o|0;f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;if(!f){s=601;break}m=(c[wa>>2]|0)+f|0;c[wa>>2]=m;Af=c[Pa>>2]|0;m=Af+m|0;zf=c[X>>2]|0;if(ga[c[(c[zf>>2]|0)+200>>2]&127](zf,n,Af)|0){s=603;break}f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=605;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;l=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(l>>>0>f>>>0){s=607;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+204>>2]&511](Af,l)|0){s=609;break}P:do if(l|0){i=0;j=0;k=0;while(1){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=614;break O}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;h=c[Oa>>2]|0;if(!h){s=616;break O}i=QB(i|0,j|0,h|0,0)|0;j=z()|0;if(!(j>>>0<0|(j|0)==0&i>>>0<4294967295)){s=618;break O}c[Oa>>2]=0;Af=c[V>>2]|0;f=Rl(Af+f|0,Af+(c[d>>2]|0)|0,Oa)|0;if(!f){s=620;break O}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;switch(f|0){case -4:case -3:case -2:case -1:break;case -5:{if(!(a[(c[xa>>2]|0)+4>>0]|0)){s=624;break O}break}case -17:{if(!(a[(c[xa>>2]|0)+9>>0]|0)){s=624;break O}break}default:{s=624;break O}}Af=c[X>>2]|0;if(ha[c[(c[Af>>2]|0)+208>>2]&63](Af,k,h,f)|0){s=626;break O}k=k+1|0;if(k>>>0>=l>>>0)break P}}while(0);if((Gt(d,m)|0)==1)break;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+500>>2]&511](Af,n)|0){s=629;break}o=o+1|0;if(o>>>0>=(c[ma>>2]|0)>>>0)break N}switch(s|0){case 601:{c[qe>>2]=316187;xt(d,311286,qe);break}case 603:{xt(d,316206,re);break}case 605:{c[se>>2]=316240;xt(d,311286,se);break}case 607:{c[te>>2]=316240;c[te+4>>2]=l;c[te+8>>2]=f;xt(d,311825,te);break}case 609:{xt(d,316264,ue);break}case 614:{c[ve>>2]=316297;xt(d,311286,ve);break}case 616:{xt(d,316314,we);break}case 618:{xt(d,316338,xe);break}case 620:{c[ye>>2]=316371;xt(d,312781,ye);break}case 624:{xt(d,316382,ze);break}case 626:{xt(d,316408,Be);break}case 629:{xt(d,316436,Ce);break}}f=1;break M}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+504>>2]&127](Af)|0))f=0;else{xt(d,316468,De);f=1}}else{xt(d,316098,ke);f=1}while(0);e=f|(e|0)==1;s=712;break}case 11:{Af=c[X>>2]|0;Q:do if(!(fa[c[(c[Af>>2]|0)+552>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Fe>>2]=316532;xt(d,311286,Fe);f=1;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;k=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(k>>>0>f>>>0){c[Ge>>2]=316532;c[Ge+4>>2]=k;c[Ge+8>>2]=f;xt(d,311825,Ge);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+556>>2]&511](Af,k)|0){xt(d,316551,He);f=1;break}f=(k|0)==0;if(!f?(c[ra>>2]|0)==(0-(c[sa>>2]|0)|0):0){xt(d,316586,Ie);f=1;break}Af=c[W>>2]|0;if(!((Af|0)==-1|(Af|0)==(k|0))){xt(d,316622,Je);f=1;break}R:do if(!f){j=0;while(1){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;if(!f){s=651;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Pa>>2]|0;if(f>>>0>=3){s=653;break}i=f&255;if(i<<24>>24==2){f=c[V>>2]|0;f=Ql(f+h|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=657;break}c[wa>>2]=(c[wa>>2]|0)+f;h=c[Oa>>2]|0}else h=0;Af=c[X>>2]|0;f=i<<24>>24==1;if(ha[c[(c[Af>>2]|0)+560>>2]&63](Af,j,h,f)|0){s=659;break}if(!f){Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+564>>2]&511](Af,j)|0){s=662;break}if((Ft(d,j,1)|0)==1)break;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+568>>2]&511](Af,j)|0){s=665;break}}c[Oa>>2]=0;f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=667;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;i=f+h|0;if(i>>>0>(c[d>>2]|0)>>>0){s=669;break}Af=(c[V>>2]|0)+h|0;c[wa>>2]=i;zf=c[X>>2]|0;if(ha[c[(c[zf>>2]|0)+572>>2]&63](zf,j,Af,f)|0){s=672;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+576>>2]&511](Af,j)|0){s=674;break}j=j+1|0;if(j>>>0>=k>>>0)break R}switch(s|0){case 651:{s=0;c[Ke>>2]=316683;xt(d,311286,Ke);break}case 653:{s=0;xt(d,316702,Le);break}case 657:{s=0;c[Me>>2]=316729;xt(d,311286,Me);break}case 659:{s=0;xt(d,316755,Oe);break}case 662:{s=0;xt(d,316788,Pe);break}case 665:{s=0;xt(d,316829,Qe);break}case 667:{c[Re>>2]=316886;xt(d,311286,Re);s=670;break}case 669:{c[Se>>2]=316868;xt(d,316896,Se);s=670;break}case 672:{s=0;xt(d,316920,Te);break}case 674:{s=0;xt(d,316954,Ue);break}}f=1;break Q}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+580>>2]&127](Af)|0))f=0;else{xt(d,316985,Ve);f=1}}else{xt(d,316499,Ee);f=1}while(0);e=f|(e|0)==1;s=712;break}case 13:{if(!(a[f>>0]|0)){s=681;break a}Af=c[X>>2]|0;S:do if(!(fa[c[(c[Af>>2]|0)+724>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Ze>>2]=317050;xt(d,311286,Ze);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[da>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[_e>>2]=317050;c[_e+4>>2]=f;c[_e+8>>2]=h;xt(d,311825,_e);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+728>>2]&511](Af,f)|0){xt(d,317062,$e);f=1;break}T:do if(c[da>>2]|0){h=0;while(1){f=c[ca>>2]|0;if((Et(d,Oa)|0)==1)break;Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+732>>2]&127](Af,f+h|0,c[Oa>>2]|0)|0){s=694;break}h=h+1|0;if(h>>>0>=(c[da>>2]|0)>>>0)break T}if((s|0)==694)xt(d,317091,af);f=1;break S}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+736>>2]&127](Af)|0))f=0;else{xt(d,317119,bf);f=1}}else{xt(d,317016,Ye);f=1}while(0);e=f|(e|0)==1;s=712;break}case 12:{if(!(a[f+8>>0]|0)){s=701;break a}Af=c[X>>2]|0;do if(!(fa[c[(c[Af>>2]|0)+584>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Ql(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[ff>>2]=317189;xt(d,311286,ff);f=1;break}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+588>>2]&511](Af,f)|0){xt(d,317200,gf);f=1;break}Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+592>>2]&127](Af)|0)){c[W>>2]=f;f=0;break}else{xt(d,317228,hf);f=1;break}}else{xt(d,317151,ef);f=1}while(0);e=f|(e|0)==1;s=712;break}default:if(g){s=720;break a}else s=714}while(0);if((s|0)==712){s=0;if((f|0)==1)if(g){s=720;break}else s=714}if((s|0)==714){s=0;c[wa>>2]=c[d>>2]}g=c[wa>>2]|0;f=c[d>>2]|0;if((g|0)!=(f|0)){s=716;break}if(!t)c[ba>>2]=u;c[d>>2]=v;if(g>>>0>=(c[Ca>>2]|0)>>>0){s=722;break}}switch(s|0){case 4:{c[Qa>>2]=311273;xt(d,311286,Qa);s=719;break}case 6:{c[Ra>>2]=311316;xt(d,311286,Ra);s=719;break}case 8:{c[gd>>2]=u;xt(d,311329,gd);s=720;break}case 10:{xt(d,311354,lf);s=720;break}case 13:{Af=vt(u)|0;c[sf>>2]=Af;xt(d,311393,sf);s=720;break}case 15:{Af=vt(u)|0;c[_a>>2]=Af;xt(d,311417,_a);s=720;break}case 17:{xt(d,311461,kb);s=720;break}case 681:{c[We>>2]=13;xt(d,311329,We);s=720;break}case 701:{c[cf>>2]=12;xt(d,311329,cf);s=720;break}case 716:{c[jf>>2]=f;xt(d,317264,jf);s=720;break}case 722:{aa=wf;return e|0}}if((s|0)==719){Af=1;aa=wf;return Af|0}else if((s|0)==720){c[d>>2]=v;Af=1;aa=wf;return Af|0}return 0}function zt(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=aa;aa=aa+32|0;k=l+16|0;j=l+8|0;f=l;g=l+20|0;c[g>>2]=0;h=a+4|0;e=c[h>>2]|0;i=a+12|0;e=Ql(e+(c[i>>2]|0)|0,e+(c[a>>2]|0)|0,g)|0;if(!e){c[f>>2]=321997;xt(a,311286,f);k=1;aa=l;return k|0}f=(c[i>>2]|0)+e|0;c[i>>2]=f;e=c[g>>2]|0;if((e+f|0)>>>0>(c[a>>2]|0)>>>0){c[j>>2]=d;xt(a,322011,j);k=1;aa=l;return k|0}j=(c[h>>2]|0)+f|0;c[b>>2]=j;c[b+4>>2]=e;c[i>>2]=(c[i>>2]|0)+e;if(rz(j,e)|0){k=0;aa=l;return k|0}c[k>>2]=d;xt(a,322037,k);k=1;aa=l;return k|0}function At(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;k=a+8|0;e=c[k>>2]|0;j=a+4|0;d=c[j>>2]|0;if(e-d>>2>>>0>=b>>>0){aC(d|0,0,b<<2|0)|0;c[j>>2]=d+(b<<2);return}i=c[a>>2]|0;g=d-i|0;f=g>>2;d=f+b|0;if(d>>>0>1073741823)oB();m=e-i|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{l=FA(e<<2)|0;h=l;break}else{h=0;l=0}while(0);d=l+(f<<2)|0;aC(d|0,0,b<<2|0)|0;if((g|0)>0)_B(h|0,i|0,g|0)|0;c[a>>2]=l;c[j>>2]=d+(b<<2);c[k>>2]=l+(e<<2);if(!i)return;HA(i);return}function Bt(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=aa;aa=aa+64|0;q=r+48|0;o=r+40|0;l=r+32|0;i=r+24|0;h=r+16|0;g=r;j=r+60|0;m=r+56|0;p=r+52|0;c[j>>2]=0;k=b+4|0;f=c[k>>2]|0;n=b+12|0;f=Rl(f+(c[n>>2]|0)|0,f+(c[b>>2]|0)|0,j)|0;if(!f){c[g>>2]=321805;xt(b,312781,g);e=1;aa=r;return e|0}f=(c[n>>2]|0)+f|0;c[n>>2]=f;g=c[j>>2]|0;c[d>>2]=g;if((g+17|0)>>>0>=2){xt(b,321821,r+8|0);e=1;aa=r;return e|0}c[p>>2]=0;d=c[k>>2]|0;f=Ql(d+f|0,d+(c[b>>2]|0)|0,j)|0;do if(!f){c[h>>2]=321863;xt(b,311286,h);f=1}else{h=(c[n>>2]|0)+f|0;c[n>>2]=h;f=c[k>>2]|0;f=Ql(f+h|0,f+(c[b>>2]|0)|0,m)|0;if(!f){c[i>>2]=321875;xt(b,311286,i);f=1;break}g=(c[n>>2]|0)+f|0;c[n>>2]=g;j=c[j>>2]|0;f=j&1;d=f&255;if(j&2|0){xt(b,321900,l);f=1;break}if(f){f=c[k>>2]|0;f=Ql(f+g|0,f+(c[b>>2]|0)|0,p)|0;if(!f){c[o>>2]=321925;xt(b,311286,o);f=1;break}c[n>>2]=(c[n>>2]|0)+f;g=c[m>>2]|0;f=c[p>>2]|0;if(g>>>0>f>>>0){xt(b,321946,q);f=1;break}}else{g=c[m>>2]|0;f=0}a[e+16>>0]=d;q=e;c[q>>2]=g;c[q+4>>2]=0;e=e+8|0;c[e>>2]=f;c[e+4>>2]=0;f=0}while(0);e=f;aa=r;return e|0}function Ct(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;q=aa;aa=aa+64|0;p=q+48|0;o=q+40|0;n=q+32|0;g=q+8|0;f=q;i=q+60|0;h=q+56|0;l=q+52|0;c[l>>2]=0;k=b+4|0;e=c[k>>2]|0;m=b+12|0;e=Ql(e+(c[m>>2]|0)|0,e+(c[b>>2]|0)|0,i)|0;if(!e){c[f>>2]=321617;xt(b,311286,f);d=1;aa=q;return d|0}j=(c[m>>2]|0)+e|0;c[m>>2]=j;e=c[k>>2]|0;e=Ql(e+j|0,e+(c[b>>2]|0)|0,h)|0;if(!e){c[g>>2]=321630;xt(b,311286,g);d=1;aa=q;return d|0}f=(c[m>>2]|0)+e|0;c[m>>2]=f;j=c[h>>2]|0;if(j>>>0>=65537){xt(b,321656,q+16|0);d=1;aa=q;return d|0}i=c[i>>2]|0;e=i&1;h=e&255;g=i>>>1&1;if((i&3|0)==2){xt(b,321684,q+24|0);d=1;aa=q;return d|0}if(e){e=c[k>>2]|0;e=Ql(e+f|0,e+(c[b>>2]|0)|0,l)|0;if(!e){c[n>>2]=321719;xt(b,311286,n);d=1;aa=q;return d|0}c[m>>2]=(c[m>>2]|0)+e;e=c[l>>2]|0;if(e>>>0>=65537){xt(b,321741,o);d=1;aa=q;return d|0}if(j>>>0>e>>>0){xt(b,321765,p);d=1;aa=q;return d|0}}else e=0;a[d+16>>0]=h;a[d+17>>0]=g;p=d;c[p>>2]=j;c[p+4>>2]=0;d=d+8|0;c[d>>2]=e;c[d+4>>2]=0;d=0;aa=q;return d|0}function Dt(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=aa;aa=aa+32|0;n=o+24|0;l=o+16|0;i=o+8|0;g=o;h=o+28|0;c[h>>2]=0;k=b+4|0;f=c[k>>2]|0;m=b+12|0;f=Rl(f+(c[m>>2]|0)|0,f+(c[b>>2]|0)|0,h)|0;if(!f){c[g>>2]=321529;xt(b,312781,g);n=1;aa=o;return n|0}f=(c[m>>2]|0)+f|0;c[m>>2]=f;h=c[h>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{if(!(a[(c[b+76>>2]|0)+4>>0]|0))j=6;break}case -17:{if(!(a[(c[b+76>>2]|0)+9>>0]|0))j=6;break}default:j=6}if((j|0)==6){c[i>>2]=h;xt(b,321541,i);n=1;aa=o;return n|0}g=f+1|0;if(g>>>0>(c[b>>2]|0)>>>0){c[l>>2]=313933;c[l+4>>2]=321566;xt(b,311083,l);n=1;aa=o;return n|0}f=a[(c[k>>2]|0)+f>>0]|0;c[m>>2]=g;if((f&255)<2){c[d>>2]=h;a[e>>0]=f<<24>>24!=0&1;n=0;aa=o;return n|0}else{xt(b,321584,n);n=1;aa=o;return n|0}return 0}function Et(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=aa;aa=aa+32|0;j=k+16|0;e=k;i=k+24|0;f=k+20|0;g=a+4|0;d=c[g>>2]|0;h=a+12|0;d=Ql(d+(c[h>>2]|0)|0,d+(c[a>>2]|0)|0,f)|0;if(!d){c[e>>2]=321465;xt(a,311286,e);j=1;aa=k;return j|0}d=(c[h>>2]|0)+d|0;c[h>>2]=d;if(c[f>>2]|0){xt(a,321481,k+8|0);j=1;aa=k;return j|0}g=c[g>>2]|0;d=Ql(g+d|0,g+(c[a>>2]|0)|0,i)|0;if(!d){c[j>>2]=321507;xt(a,311286,j);j=1;aa=k;return j|0}else{c[h>>2]=(c[h>>2]|0)+d;c[b>>2]=c[i>>2];j=0;aa=k;return j|0}return 0}function Ft(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;v=aa;aa=aa+160|0;q=v+112|0;u=v+104|0;t=v+96|0;k=v+88|0;j=v+80|0;p=v+72|0;h=v+64|0;m=v+48|0;n=v+32|0;l=v+16|0;i=v;r=v+144|0;o=v+128|0;if((Ht(b,r)|0)==1){u=1;aa=v;return u|0}s=c[r>>2]|0;if(!(am(s,c[b+76>>2]|0)|0)){It(b,s,0);u=1;aa=v;return u|0}a:do switch(s|0){case 52:{c[q>>2]=0;g=c[b+4>>2]|0;h=b+12|0;g=Rl(g+(c[h>>2]|0)|0,g+(c[b>>2]|0)|0,q)|0;if(!g){c[i>>2]=320973;xt(b,312781,i);u=1;aa=v;return u|0}c[h>>2]=(c[h>>2]|0)+g;p=c[b+36>>2]|0;if(!(ga[c[(c[p>>2]|0)+756>>2]&127](p,e,c[q>>2]|0)|0))break a;xt(b,320999,v+8|0);u=1;aa=v;return u|0}case 53:{g=q;c[g>>2]=0;c[g+4>>2]=0;g=c[b+4>>2]|0;h=b+12|0;g=Sl(g+(c[h>>2]|0)|0,g+(c[b>>2]|0)|0,q)|0;if(!g){c[l>>2]=321038;xt(b,318092,l);u=1;aa=v;return u|0}c[h>>2]=(c[h>>2]|0)+g;p=c[b+36>>2]|0;if(!(ha[c[(c[p>>2]|0)+760>>2]&63](p,e,c[q>>2]|0,c[q+4>>2]|0)|0))break a;xt(b,321064,v+24|0);u=1;aa=v;return u|0}case 54:{i=b+12|0;g=c[i>>2]|0;h=g+4|0;if(h>>>0>(c[b>>2]|0)>>>0){c[n>>2]=318200;c[n+4>>2]=321103;xt(b,311083,n);u=1;aa=v;return u|0}q=(c[b+4>>2]|0)+g|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;c[i>>2]=h;p=c[b+36>>2]|0;if(ga[c[(c[p>>2]|0)+740>>2]&127](p,e,q)|0){xt(b,321129,v+40|0);u=1;aa=v;return u|0}break}case 55:{i=b+12|0;g=c[i>>2]|0;h=g+8|0;if(h>>>0>(c[b>>2]|0)>>>0){c[m>>2]=318281;c[m+4>>2]=321168;xt(b,311083,m);u=1;aa=v;return u|0}q=(c[b+4>>2]|0)+g|0;p=q;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;c[i>>2]=h;o=c[b+36>>2]|0;if(ha[c[(c[o>>2]|0)+744>>2]&63](o,e,p,q)|0){xt(b,321194,v+56|0);u=1;aa=v;return u|0}break}case 212:{c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;k=b+12|0;g=c[k>>2]|0;j=g+16|0;if(j>>>0>(c[b>>2]|0)>>>0){c[h>>2]=328620;c[h+4>>2]=321233;xt(b,311083,h);u=1;aa=v;return u|0}i=o;g=(c[b+4>>2]|0)+g|0;h=i+16|0;do{a[i>>0]=a[g>>0]|0;i=i+1|0;g=g+1|0}while((i|0)<(h|0));c[k>>2]=j;n=c[b+36>>2]|0;m=c[(c[n>>2]|0)+748>>2]|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];if(!(ga[m&127](n,e,q)|0))break a;xt(b,321260,p);u=1;aa=v;return u|0}case 25:{g=c[b+4>>2]|0;h=b+12|0;g=Ql(g+(c[h>>2]|0)|0,g+(c[b>>2]|0)|0,q)|0;if(!g){c[j>>2]=321300;xt(b,311286,j);u=1;aa=v;return u|0}c[h>>2]=(c[h>>2]|0)+g;p=c[b+36>>2]|0;if(ga[c[(c[p>>2]|0)+752>>2]&127](p,e,c[q>>2]|0)|0){xt(b,321327,k);u=1;aa=v;return u|0}break}case 11:{u=0;aa=v;return u|0}default:{It(b,s,321367);u=1;aa=v;return u|0}}while(0);b:do if(f){switch(s|0){case 25:case 52:break b;default:{}}xt(b,321393,t);u=1;aa=v;return u|0}while(0);if((Ht(b,r)|0)==1){u=1;aa=v;return u|0}if((c[r>>2]|0)==11){u=0;aa=v;return u|0}xt(b,321416,u);u=1;aa=v;return u|0}function Gt(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,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,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,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0;Zd=aa;aa=aa+1840|0;Q=Zd+1712|0;G=Zd+1824|0;Yd=Zd+1704|0;Xd=Zd+1696|0;yd=Zd+1688|0;xd=Zd+1680|0;vd=Zd+1672|0;ud=Zd+1664|0;td=Zd+1656|0;sd=Zd+1648|0;qd=Zd+1640|0;pd=Zd+1632|0;od=Zd+1624|0;nd=Zd+1616|0;md=Zd+1608|0;ld=Zd+1600|0;kd=Zd+1592|0;jd=Zd+1584|0;id=Zd+1576|0;hd=Zd+1568|0;gd=Zd+1560|0;fd=Zd+1552|0;ed=Zd+1544|0;cd=Zd+1536|0;bd=Zd+1528|0;ad=Zd+1520|0;$c=Zd+1512|0;_c=Zd+1504|0;Zc=Zd+1496|0;Yc=Zd+1488|0;Xc=Zd+1480|0;Vc=Zd+1472|0;Uc=Zd+1464|0;Tc=Zd+1456|0;Sc=Zd+1448|0;Rc=Zd+1440|0;Qc=Zd+1432|0;Pc=Zd+1424|0;Oc=Zd+1416|0;Mc=Zd+1408|0;Lc=Zd+1400|0;Kc=Zd+1392|0;Jc=Zd+1384|0;Ic=Zd+1376|0;Hc=Zd+1368|0;Gc=Zd+1360|0;Fc=Zd+1352|0;Ec=Zd+1344|0;Dc=Zd+1336|0;Cc=Zd+1328|0;Ac=Zd+1320|0;zc=Zd+1312|0;yc=Zd+1304|0;xc=Zd+1296|0;wc=Zd+1288|0;vc=Zd+1280|0;uc=Zd+1272|0;tc=Zd+1264|0;rc=Zd+1256|0;qc=Zd+1248|0;pc=Zd+1240|0;oc=Zd+1232|0;nc=Zd+1224|0;mc=Zd+1216|0;lc=Zd+1208|0;kc=Zd+1200|0;ic=Zd+1192|0;hc=Zd+1184|0;gc=Zd+1176|0;fc=Zd+1168|0;ec=Zd+1160|0;dc=Zd+1152|0;cc=Zd+1144|0;bc=Zd+1136|0;$b=Zd+1128|0;_b=Zd+1120|0;Zb=Zd+1112|0;Yb=Zd+1104|0;Xb=Zd+1096|0;Wb=Zd+1088|0;Vb=Zd+1080|0;Ub=Zd+1072|0;Tb=Zd+1064|0;Rb=Zd+1056|0;Qb=Zd+1048|0;Pb=Zd+1040|0;Ob=Zd+1032|0;Nb=Zd+1024|0;Lb=Zd+1016|0;Kb=Zd+1008|0;Jb=Zd+1e3|0;Ib=Zd+992|0;Gb=Zd+984|0;Fb=Zd+976|0;Eb=Zd+968|0;Db=Zd+960|0;Cb=Zd+952|0;Bb=Zd+944|0;Ab=Zd+936|0;zb=Zd+928|0;xb=Zd+920|0;wb=Zd+912|0;vb=Zd+904|0;ub=Zd+896|0;tb=Zd+888|0;sb=Zd+880|0;rb=Zd+872|0;qb=Zd+864|0;pb=Zd+856|0;ob=Zd+848|0;mb=Zd+840|0;lb=Zd+832|0;kb=Zd+824|0;jb=Zd+816|0;ib=Zd+808|0;hb=Zd+800|0;gb=Zd+792|0;fb=Zd+784|0;eb=Zd+776|0;db=Zd+768|0;cb=Zd+760|0;bb=Zd+752|0;$a=Zd+744|0;_a=Zd+736|0;Za=Zd+728|0;Ya=Zd+720|0;Xa=Zd+712|0;Wa=Zd+704|0;Va=Zd+696|0;Ua=Zd+688|0;Ta=Zd+680|0;Ra=Zd+672|0;Qa=Zd+664|0;Pa=Zd+656|0;Oa=Zd+648|0;Na=Zd+640|0;Ma=Zd+632|0;La=Zd+624|0;Ja=Zd+616|0;Ia=Zd+608|0;Ha=Zd+600|0;Ga=Zd+592|0;Fa=Zd+584|0;Ea=Zd+576|0;Da=Zd+568|0;Ca=Zd+560|0;Aa=Zd+552|0;za=Zd+544|0;ya=Zd+536|0;xa=Zd+528|0;wa=Zd+520|0;va=Zd+512|0;ua=Zd+504|0;ta=Zd+496|0;sa=Zd+488|0;ra=Zd+480|0;qa=Zd+472|0;pa=Zd+464|0;oa=Zd+456|0;ma=Zd+448|0;la=Zd+440|0;ka=Zd+432|0;ja=Zd+424|0;ia=Zd+416|0;da=Zd+408|0;ca=Zd+400|0;ba=Zd+392|0;_=Zd+384|0;Z=Zd+376|0;Y=Zd+368|0;X=Zd+360|0;Vd=Zd+352|0;Ud=Zd+344|0;Td=Zd+336|0;Sd=Zd+328|0;Qd=Zd+320|0;Pd=Zd+312|0;Od=Zd+304|0;Nd=Zd+296|0;Md=Zd+288|0;Ld=Zd+280|0;Kd=Zd+272|0;Jd=Zd+264|0;Id=Zd+256|0;Gd=Zd+248|0;Fd=Zd+240|0;Ed=Zd+232|0;Dd=Zd+224|0;Cd=Zd+216|0;Bd=Zd+208|0;Ad=Zd+200|0;zd=Zd+192|0;rd=Zd+184|0;dd=Zd+176|0;Wc=Zd+168|0;Nc=Zd+160|0;Bc=Zd+152|0;sc=Zd+144|0;jc=Zd+136|0;ac=Zd+128|0;Sb=Zd+120|0;Hb=Zd+112|0;yb=Zd+104|0;nb=Zd+96|0;ab=Zd+88|0;Sa=Zd+80|0;Ka=Zd+72|0;Ba=Zd+64|0;na=Zd+56|0;$=Zd+48|0;Rd=Zd+40|0;Hd=Zd+32|0;wd=Zd+24|0;Mb=Zd+16|0;W=Zd+8|0;V=Zd;U=Zd+1744|0;R=Zd+1816|0;T=Zd+1728|0;y=Zd+1812|0;z=Zd+1808|0;A=Zd+1804|0;B=Zd+1800|0;C=Zd+1796|0;D=Zd+1792|0;E=Zd+1788|0;F=Zd+1784|0;H=Zd+1780|0;I=Zd+1776|0;J=Zd+1772|0;K=Zd+1768|0;L=Zd+1764|0;M=Zd+1760|0;N=Zd+1756|0;O=Zd+1752|0;P=Zd+1748|0;S=b+12|0;g=c[S>>2]|0;a:do if(g>>>0<e>>>0){m=b+36|0;o=b+76|0;l=b+4|0;t=b+64|0;k=b+68|0;u=b+96|0;v=b+116|0;n=b+88|0;w=b+100|0;x=b+120|0;f=0;b:while(1){if((Ht(b,U)|0)==1)break;i=c[m>>2]|0;h=c[(c[i>>2]|0)+212>>2]|0;j=c[U>>2]|0;c[R>>2]=j;c[Q>>2]=c[R>>2];if(fa[h&511](i,Q)|0){Wd=5;break}if(!(am(j,c[o>>2]|0)|0)){Wd=7;break}c:do switch(j|0){case 0:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+496>>2]&127](j)|0){Wd=10;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=12;break b}break}case 2:{c[Q>>2]=0;g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=14;break b}c[S>>2]=(c[S>>2]|0)+g;h=c[Q>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;Wd=18;break}case -17:{g=(c[o>>2]|0)+9|0;Wd=18;break}default:{p=0;Wd=19}}if((Wd|0)==18){p=(a[g>>0]|0)!=0;Wd=19}if((Wd|0)==19?(Wd=0,!((h|0)==-64|p)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){Wd=22;break b}if((c[n>>2]|0)>>>0<=h>>>0){Wd=22;break b}}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+284>>2]&511](j,h)|0){Wd=24;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+252>>2]&511](j,h)|0){Wd=26;break b}break}case 3:{c[Q>>2]=0;g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=28;break b}c[S>>2]=(c[S>>2]|0)+g;h=c[Q>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;Wd=32;break}case -17:{g=(c[o>>2]|0)+9|0;Wd=32;break}default:{r=0;Wd=33}}if((Wd|0)==32){r=(a[g>>0]|0)!=0;Wd=33}if((Wd|0)==33?(Wd=0,!((h|0)==-64|r)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){Wd=36;break b}if((c[n>>2]|0)>>>0<=h>>>0){Wd=36;break b}}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+388>>2]&511](j,h)|0){Wd=38;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+252>>2]&511](j,h)|0){Wd=40;break b}break}case 4:{c[Q>>2]=0;g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=42;break b}c[S>>2]=(c[S>>2]|0)+g;h=c[Q>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;Wd=46;break}case -17:{g=(c[o>>2]|0)+9|0;Wd=46;break}default:{s=0;Wd=47}}if((Wd|0)==46){s=(a[g>>0]|0)!=0;Wd=47}if((Wd|0)==47?(Wd=0,!((h|0)==-64|s)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){Wd=50;break b}if((c[n>>2]|0)>>>0<=h>>>0){Wd=50;break b}}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+368>>2]&511](j,h)|0){Wd=52;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+252>>2]&511](j,h)|0){Wd=54;break b}break}case 5:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+328>>2]&127](j)|0){Wd=56;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=58;break b}break}case 21:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+472>>2]&127](j)|0){Wd=60;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=62;break b}break}case 12:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=64;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+288>>2]&511](j,g)|0){Wd=66;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=68;break b}break}case 13:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=70;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+292>>2]&511](j,g)|0){Wd=72;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=74;break b}break}case 14:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=76;break b}g=(c[S>>2]|0)+g|0;c[S>>2]=g;j=c[Q>>2]|0;h=c[t>>2]|0;i=(c[k>>2]|0)-h>>2;if(j>>>0<=i>>>0){if(j>>>0<i>>>0)c[k>>2]=h+(j<<2);if(!j)h=1;else Wd=82}else{Jt(t,j-i|0);g=c[S>>2]|0;Wd=82}if((Wd|0)==82){Wd=0;h=0;while(1){i=c[l>>2]|0;g=Ql(i+g|0,i+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=85;break b}g=(c[S>>2]|0)+g|0;c[S>>2]=g;c[(c[t>>2]|0)+(h<<2)>>2]=c[Q>>2];h=h+1|0;if(h>>>0>=j>>>0){h=0;break}}}i=c[l>>2]|0;g=Ql(i+g|0,i+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=87;break b}c[S>>2]=(c[S>>2]|0)+g;if(h)g=0;else g=c[t>>2]|0;i=c[m>>2]|0;if(ha[c[(c[i>>2]|0)+300>>2]&63](i,j,g,c[Q>>2]|0)|0){Wd=91;break b}break}case 15:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+460>>2]&127](j)|0){Wd=93;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=95;break b}break}case 1:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+452>>2]&127](j)|0){Wd=97;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=99;break b}break}case 20:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+324>>2]&127](j)|0){Wd=101;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=103;break b}break}case 11:{g=c[m>>2]|0;h=c[g>>2]|0;if((c[S>>2]|0)==(e|0))if(!(ea[c[h+336>>2]&127](g)|0)){f=1;break c}else{Wd=106;break b}else if(!(ea[c[h+332>>2]&127](g)|0))break c;else{Wd=108;break b}}case 52:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=110;break b}c[S>>2]=(c[S>>2]|0)+g;j=c[m>>2]|0;g=c[Q>>2]|0;if(fa[c[(c[j>>2]|0)+360>>2]&511](j,g)|0){Wd=112;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+220>>2]&511](j,g)|0){Wd=114;break b}break}case 53:{g=c[l>>2]|0;g=Sl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=117;break b}c[S>>2]=(c[S>>2]|0)+g;j=c[m>>2]|0;h=Q;g=c[h>>2]|0;h=c[h+4>>2]|0;if(ga[c[(c[j>>2]|0)+364>>2]&127](j,g,h)|0){Wd=119;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+236>>2]&127](j,g,h)|0){Wd=121;break b}break}case 54:{g=c[S>>2]|0;h=g+4|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=124;break b}g=(c[l>>2]|0)+g|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;c[S>>2]=h;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+340>>2]&511](j,g)|0){Wd=126;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+240>>2]&511](j,g)|0){Wd=128;break b}break}case 55:{g=c[S>>2]|0;i=g+8|0;if(i>>>0>(c[b>>2]|0)>>>0){Wd=130;break b}h=(c[l>>2]|0)+g|0;g=h;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+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;c[S>>2]=i;j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+344>>2]&127](j,g,h)|0){Wd=132;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+244>>2]&127](j,g,h)|0){Wd=134;break b}break}case 212:{c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;g=c[S>>2]|0;h=g+16|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=136;break b}j=G;g=(c[l>>2]|0)+g|0;i=j+16|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0));c[S>>2]=h;j=c[m>>2]|0;i=c[(c[j>>2]|0)+348>>2]|0;c[Q>>2]=c[G>>2];c[Q+4>>2]=c[G+4>>2];c[Q+8>>2]=c[G+8>>2];c[Q+12>>2]=c[G+12>>2];if(fa[i&511](j,Q)|0){Wd=138;break b}j=c[m>>2]|0;i=c[(c[j>>2]|0)+248>>2]|0;c[Q>>2]=c[G>>2];c[Q+4>>2]=c[G+4>>2];c[Q+8>>2]=c[G+8>>2];c[Q+12>>2]=c[G+12>>2];if(fa[i&511](j,Q)|0){Wd=140;break b}break}case 25:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=143;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+352>>2]&511](j,g)|0){Wd=145;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=147;break b}break}case 22:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=149;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+376>>2]&511](j,g)|0){Wd=151;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=153;break b}break}case 26:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=155;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+356>>2]&511](j,g)|0){Wd=157;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=159;break b}break}case 23:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=161;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+380>>2]&511](j,g)|0){Wd=163;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=165;break b}break}case 16:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=167;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;if(g>>>0>=((c[v>>2]|0)+(c[u>>2]|0)|0)>>>0){Wd=169;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+304>>2]&511](j,g)|0){Wd=171;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=173;break b}break}case 17:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=175;break b}g=(c[S>>2]|0)+g|0;c[S>>2]=g;i=c[Q>>2]|0;if(i>>>0>=(c[n>>2]|0)>>>0){Wd=177;break b}if(!(a[(c[o>>2]|0)+9>>0]|0)){h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=184;break b}j=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(!(j<<24>>24))g=0;else{Wd=186;break b}}else{j=c[l>>2]|0;g=Ql(j+g|0,j+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=180;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;if(g>>>0>=((c[x>>2]|0)+(c[w>>2]|0)|0)>>>0){Wd=182;break b}}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+308>>2]&127](j,i,g)|0){Wd=188;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+232>>2]&127](j,i,g)|0){Wd=190;break b}break}case 18:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=192;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;if(g>>>0>=((c[v>>2]|0)+(c[u>>2]|0)|0)>>>0){Wd=194;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+464>>2]&511](j,g)|0){Wd=196;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=198;break b}break}case 19:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=200;break b}g=(c[S>>2]|0)+g|0;c[S>>2]=g;i=c[Q>>2]|0;if(i>>>0>=(c[n>>2]|0)>>>0){Wd=202;break b}if(!(a[(c[o>>2]|0)+9>>0]|0)){h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=209;break b}j=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(!(j<<24>>24))g=0;else{Wd=211;break b}}else{j=c[l>>2]|0;g=Ql(j+g|0,j+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=205;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;if(g>>>0>=((c[x>>2]|0)+(c[w>>2]|0)|0)>>>0){Wd=207;break b}}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+468>>2]&127](j,i,g)|0){Wd=213;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+232>>2]&127](j,i,g)|0){Wd=215;break b}break}case 24:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=217;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+384>>2]&511](j,g)|0){Wd=219;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=221;break b}break}case 210:case 30:case 29:case 28:case 27:case 40:case 39:case 38:case 37:case 36:case 35:case 34:case 33:case 32:case 31:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=223;break b}i=(c[S>>2]|0)+g|0;c[S>>2]=i;g=c[l>>2]|0;g=Ql(g+i|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=225;break b}c[S>>2]=(c[S>>2]|0)+g;i=c[m>>2]|0;_d=c[(c[i>>2]|0)+372>>2]|0;c[y>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[y>>2];if(ha[_d&63](i,Q,g,h)|0){Wd=227;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=229;break b}break}case 211:case 44:case 43:case 42:case 41:case 49:case 48:case 47:case 46:case 45:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=233;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Ql(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=235;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+476>>2]|0;c[z>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[z>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=237;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=239;break b}break}case 50:{g=c[S>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=243;break b}_d=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(_d<<24>>24){Wd=245;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+412>>2]&127](_d)|0){Wd=247;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,0)|0){Wd=249;break b}break}case 51:{g=c[S>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=251;break b}_d=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(_d<<24>>24){Wd=253;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+404>>2]&127](_d)|0){Wd=255;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,0)|0){Wd=257;break b}break}case 338:case 329:case 339:case 330:case 337:case 328:case 336:case 327:case 341:case 332:case 340:case 331:case 279:case 278:case 277:case 321:case 320:case 312:case 311:case 299:case 298:case 286:case 285:case 319:case 310:case 297:case 284:case 305:case 304:case 292:case 291:case 302:case 301:case 289:case 288:case 315:case 306:case 293:case 323:case 314:case 303:case 290:case 322:case 313:case 300:case 287:case 153:case 152:case 151:case 150:case 149:case 148:case 147:case 139:case 138:case 137:case 136:case 135:case 134:case 133:case 124:case 125:case 122:case 123:case 121:case 120:case 119:case 118:case 117:case 116:case 115:case 114:case 113:case 112:case 111:case 106:case 107:case 104:case 105:case 103:case 102:case 101:case 100:case 99:case 98:case 97:case 96:case 95:case 94:case 93:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+280>>2]|0;c[A>>2]=j;c[Q>>2]=c[A>>2];if(fa[i&511](_d,Q)|0){Wd=259;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=261;break b}break}case 275:case 269:case 263:case 262:case 253:case 252:case 243:case 242:case 273:case 267:case 259:case 258:case 249:case 248:case 239:case 238:case 274:case 268:case 261:case 260:case 251:case 250:case 241:case 240:case 272:case 266:case 257:case 256:case 247:case 246:case 237:case 236:case 271:case 265:case 255:case 245:case 235:case 270:case 264:case 254:case 244:case 234:case 89:case 87:case 88:case 86:case 85:case 84:case 83:case 81:case 82:case 80:case 79:case 78:case 77:case 73:case 76:case 72:case 75:case 71:case 74:case 70:case 69:case 68:case 66:case 62:case 65:case 61:case 64:case 60:case 63:case 59:case 58:case 57:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+316>>2]|0;c[B>>2]=j;c[Q>>2]=c[B>>2];if(fa[i&511](_d,Q)|0){Wd=263;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=265;break b}break}case 335:case 326:case 333:case 324:case 334:case 325:case 318:case 309:case 296:case 283:case 317:case 308:case 295:case 282:case 276:case 316:case 307:case 294:case 281:case 231:case 228:case 225:case 222:case 218:case 214:case 146:case 145:case 144:case 143:case 142:case 141:case 140:case 132:case 131:case 130:case 129:case 128:case 127:case 126:case 110:case 109:case 108:case 92:case 91:case 90:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+488>>2]|0;c[C>>2]=j;c[Q>>2]=c[C>>2];if(fa[i&511](_d,Q)|0){Wd=267;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=269;break b}break}case 280:{_d=c[m>>2]|0;j=c[(c[_d>>2]|0)+492>>2]|0;c[D>>2]=280;c[Q>>2]=c[D>>2];if(fa[j&511](_d,Q)|0){Wd=271;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=273;break b}break}case 233:case 230:case 227:case 224:case 221:case 217:case 232:case 229:case 226:case 223:case 220:case 219:case 216:case 215:{g=c[S>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=275;break b}g=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+508>>2]|0;c[E>>2]=j;g=g&255;c[Q>>2]=c[E>>2];if(ha[i&63](_d,Q,g,0)|0){Wd=277;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+236>>2]&127](_d,g,0)|0){Wd=279;break b}break}case 213:{g=c[S>>2]|0;h=g+16|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=281;break b}j=T;g=(c[l>>2]|0)+g|0;i=j+16|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0));c[S>>2]=h;_d=c[m>>2]|0;j=c[(c[_d>>2]|0)+512>>2]|0;c[F>>2]=213;c[G>>2]=c[F>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];if(ga[j&127](_d,G,Q)|0){Wd=283;break b}_d=c[m>>2]|0;j=c[(c[_d>>2]|0)+248>>2]|0;c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];if(fa[j&511](_d,Q)|0){Wd=285;break b}break}case 345:case 344:case 343:case 342:case 349:case 348:case 347:case 346:case 67:case 56:case 176:case 175:case 178:case 174:case 173:case 172:case 171:case 170:case 177:case 169:case 168:case 167:case 166:case 165:case 160:case 159:case 164:case 162:case 163:case 161:case 154:case 158:case 156:case 157:case 155:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+320>>2]|0;c[H>>2]=j;c[Q>>2]=c[H>>2];if(fa[i&511](_d,Q)|0){Wd=288;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=290;break b}break}case 6:{c[Q>>2]=0;g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=292;break b}c[S>>2]=(c[S>>2]|0)+g;h=c[Q>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;Wd=296;break}case -17:{g=(c[o>>2]|0)+9|0;Wd=296;break}default:{q=0;Wd=297}}if((Wd|0)==296){q=(a[g>>0]|0)!=0;Wd=297}if((Wd|0)==297?(Wd=0,!((h|0)==-64|q)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){Wd=300;break b}if((c[n>>2]|0)>>>0<=h>>>0){Wd=300;break b}}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+484>>2]&511](_d,h)|0){Wd=302;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+252>>2]&511](_d,h)|0){Wd=304;break b}break}case 7:{_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+312>>2]&127](_d)|0){Wd=306;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=308;break b}break}case 9:{_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+456>>2]&127](_d)|0){Wd=310;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=312;break b}break}case 8:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=314;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+480>>2]&511](_d,g)|0){Wd=316;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+224>>2]&511](_d,g)|0){Wd=318;break b}break}case 10:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=320;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;h=c[Q>>2]|0;g=c[l>>2]|0;g=Ql(g+_d|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=322;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+296>>2]&127](_d,h,g)|0){Wd=324;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+228>>2]&127](_d,h,g)|0){Wd=326;break b}break}case 183:case 182:case 181:case 180:case 179:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+488>>2]|0;c[I>>2]=j;c[Q>>2]=c[I>>2];if(fa[i&511](_d,Q)|0){Wd=328;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=330;break b}break}case 196:case 195:case 194:case 193:case 192:case 191:case 190:case 189:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+320>>2]|0;c[J>>2]=j;c[Q>>2]=c[J>>2];if(fa[i&511](_d,Q)|0){Wd=332;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=334;break b}break}case 350:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=336;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Ql(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=338;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;j=c[(c[_d>>2]|0)+276>>2]|0;c[K>>2]=350;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[K>>2];if(ha[j&63](_d,Q,g,h)|0){Wd=340;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=342;break b}break}case 352:case 351:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=346;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Ql(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=348;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+272>>2]|0;c[L>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[L>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=350;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=352;break b}break}case 354:case 353:case 359:case 358:case 357:case 356:case 355:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=356;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Ql(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=358;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+256>>2]|0;c[M>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[M>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=360;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=362;break b}break}case 361:case 360:case 366:case 365:case 364:case 363:case 362:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=366;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Ql(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=368;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+260>>2]|0;c[N>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[N>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=370;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=372;break b}break}case 408:case 407:case 406:case 405:case 404:case 403:case 402:case 401:case 400:case 399:case 398:case 397:case 396:case 395:case 394:case 393:case 392:case 391:case 390:case 389:case 388:case 387:case 386:case 385:case 384:case 383:case 382:case 381:case 380:case 379:case 378:case 377:case 376:case 375:case 374:case 373:case 372:case 371:case 370:case 369:case 368:case 367:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=376;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Ql(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=378;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+264>>2]|0;c[O>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[O>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=380;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=382;break b}break}case 415:case 414:case 413:case 412:case 411:case 410:case 409:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=386;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Ql(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=388;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+268>>2]|0;c[P>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[P>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=390;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=392;break b}break}case 201:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=396;break b}h=(c[S>>2]|0)+g|0;c[S>>2]=h;g=c[Q>>2]|0;i=h+1|0;if(i>>>0>(c[b>>2]|0)>>>0){Wd=398;break b}_d=a[(c[l>>2]|0)+h>>0]|0;c[S>>2]=i;if(_d<<24>>24){Wd=400;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+424>>2]&511](_d,g)|0){Wd=402;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,0)|0){Wd=404;break b}break}case 197:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=406;break b}i=(c[S>>2]|0)+g|0;c[S>>2]=i;g=c[Q>>2]|0;h=i+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=408;break b}_d=a[(c[l>>2]|0)+i>>0]|0;c[S>>2]=h;if(_d<<24>>24){Wd=410;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+408>>2]&511](_d,g)|0){Wd=412;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,0)|0){Wd=414;break b}break}case 202:case 198:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=416;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;h=c[m>>2]|0;i=c[h>>2]|0;if((j|0)==198){if(fa[c[i+396>>2]&511](h,g)|0){Wd=419;break b}}else if(fa[c[i+420>>2]&511](h,g)|0){Wd=421;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=423;break b}break}case 200:{g=c[S>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=425;break b}_d=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(_d<<24>>24){Wd=427;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+400>>2]&127](_d)|0){Wd=429;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,0)|0){Wd=431;break b}break}case 199:{g=c[S>>2]|0;j=g+1|0;h=c[b>>2]|0;if(j>>>0>h>>>0){Wd=433;break b}i=c[l>>2]|0;_d=a[i+g>>0]|0;c[S>>2]=j;if(_d<<24>>24){Wd=435;break b}g=g+2|0;if(g>>>0>h>>>0){Wd=437;break b}_d=a[i+j>>0]|0;c[S>>2]=g;if(_d<<24>>24){Wd=439;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+392>>2]&127](_d)|0){Wd=441;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,0,0)|0){Wd=443;break b}break}case 203:{g=c[S>>2]|0;j=g+1|0;h=c[b>>2]|0;if(j>>>0>h>>>0){Wd=445;break b}i=c[l>>2]|0;_d=a[i+g>>0]|0;c[S>>2]=j;if(_d<<24>>24){Wd=447;break b}g=g+2|0;if(g>>>0>h>>>0){Wd=449;break b}_d=a[i+j>>0]|0;c[S>>2]=g;if(_d<<24>>24){Wd=451;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+416>>2]&127](_d)|0){Wd=453;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,0,0)|0){Wd=455;break b}break}case 204:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=457;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+428>>2]&511](_d,g)|0){Wd=459;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=461;break b}break}case 205:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=463;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+432>>2]&511](_d,g)|0){Wd=465;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=467;break b}break}case 206:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=469;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+436>>2]&511](_d,g)|0){Wd=471;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=473;break b}break}case 207:{g=c[l>>2]|0;g=Ql(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=475;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+440>>2]&511](_d,g)|0){Wd=477;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=479;break b}break}case 208:{_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+444>>2]&127](_d)|0){Wd=481;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=483;break b}break}case 209:{_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+448>>2]&127](_d)|0){Wd=485;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=487;break b}break}default:{Wd=488;break b}}while(0);g=c[S>>2]|0;if(g>>>0>=e>>>0)break a}switch(Wd|0){case 5:{xt(b,317305,V);break}case 7:{It(b,j,0);break}case 10:{xt(b,317330,W);break}case 12:{xt(b,317364,Mb);break}case 14:{c[wd>>2]=317393;xt(b,312781,wd);break}case 22:{xt(b,317414,Hd);break}case 24:{xt(b,317450,Rd);break}case 26:{xt(b,317478,$);break}case 28:{c[na>>2]=317511;xt(b,312781,na);break}case 36:{xt(b,317414,Ba);break}case 38:{xt(b,317531,Ka);break}case 40:{xt(b,317478,Sa);break}case 42:{c[ab>>2]=317558;xt(b,312781,ab);break}case 50:{xt(b,317414,nb);break}case 52:{xt(b,317576,yb);break}case 54:{xt(b,317478,Hb);break}case 56:{xt(b,317601,Sb);break}case 58:{xt(b,317364,ac);break}case 60:{xt(b,317628,jc);break}case 62:{xt(b,317364,sc);break}case 64:{c[Bc>>2]=317657;xt(b,311286,Bc);break}case 66:{xt(b,317666,Nc);break}case 68:{xt(b,317691,Wc);break}case 70:{c[dd>>2]=317721;xt(b,311286,dd);break}case 72:{xt(b,317733,rd);break}case 74:{xt(b,317691,zd);break}case 76:{c[Ad>>2]=317760;xt(b,311286,Ad);break}case 85:{c[Bd>>2]=317782;xt(b,311286,Bd);break}case 87:{c[Cd>>2]=317804;xt(b,311286,Cd);break}case 91:{xt(b,317834,Dd);break}case 93:{xt(b,317864,Ed);break}case 95:{xt(b,317364,Fd);break}case 97:{xt(b,317893,Gd);break}case 99:{xt(b,317364,Id);break}case 101:{xt(b,317919,Jd);break}case 103:{xt(b,317364,Kd);break}case 106:{xt(b,317946,Ld);break}case 108:{xt(b,317972,Md);break}case 110:{c[Nd>>2]=317998;xt(b,312781,Nd);break}case 112:{xt(b,318014,Od);break}case 114:{xt(b,318045,Pd);break}case 117:{c[Qd>>2]=318076;xt(b,318092,Qd);break}case 119:{xt(b,318122,Sd);break}case 121:{xt(b,318153,Td);break}case 124:{c[Ud>>2]=318200;c[Ud+4>>2]=318184;xt(b,311083,Ud);break}case 126:{xt(b,318206,Vd);break}case 128:{xt(b,318237,X);break}case 130:{c[Y>>2]=318281;c[Y+4>>2]=318265;xt(b,311083,Y);break}case 132:{xt(b,318288,Z);break}case 134:{xt(b,318319,_);break}case 136:{c[ba>>2]=328620;c[ba+4>>2]=318347;xt(b,311083,ba);break}case 138:{xt(b,318364,ca);break}case 140:{xt(b,318396,da);break}case 143:{c[ia>>2]=318425;xt(b,311286,ia);break}case 145:{xt(b,318449,ja);break}case 147:{xt(b,317691,ka);break}case 149:{c[la>>2]=318481;xt(b,311286,la);break}case 151:{xt(b,318503,ma);break}case 153:{xt(b,317691,oa);break}case 155:{c[pa>>2]=318534;xt(b,311286,pa);break}case 157:{xt(b,318558,qa);break}case 159:{xt(b,317691,ra);break}case 161:{c[sa>>2]=318590;xt(b,311286,sa);break}case 163:{xt(b,318612,ta);break}case 165:{xt(b,317691,ua);break}case 167:{c[va>>2]=318643;xt(b,311286,va);break}case 169:{c[wa>>2]=g;xt(b,318663,wa);break}case 171:{xt(b,318695,xa);break}case 173:{xt(b,317691,ya);break}case 175:{c[za>>2]=318722;xt(b,311286,za);break}case 177:{xt(b,318752,Aa);break}case 180:{c[Ca>>2]=318790;xt(b,311286,Ca);break}case 182:{xt(b,318816,Da);break}case 184:{c[Ea>>2]=313933;c[Ea+4>>2]=318850;xt(b,311083,Ea);break}case 186:{xt(b,318873,Fa);break}case 188:{xt(b,318912,Ga);break}case 190:{xt(b,318947,Ha);break}case 192:{c[Ia>>2]=328875;xt(b,311286,Ia);break}case 194:{c[Ja>>2]=g;xt(b,318984,Ja);break}case 196:{xt(b,319023,La);break}case 198:{xt(b,317691,Ma);break}case 200:{c[Na>>2]=328887;xt(b,311286,Na);break}case 202:{xt(b,319056,Oa);break}case 205:{c[Pa>>2]=319101;xt(b,311286,Pa);break}case 207:{xt(b,319134,Qa);break}case 209:{c[Ra>>2]=313933;c[Ra+4>>2]=319175;xt(b,311083,Ra);break}case 211:{xt(b,319205,Ta);break}case 213:{xt(b,319251,Ua);break}case 215:{xt(b,318947,Va);break}case 217:{c[Wa>>2]=319292;xt(b,311286,Wa);break}case 219:{xt(b,319314,Xa);break}case 221:{xt(b,317691,Ya);break}case 223:{c[Za>>2]=319345;xt(b,311286,Za);break}case 225:{c[_a>>2]=319360;xt(b,311286,_a);Wd=230;break}case 227:{xt(b,319372,$a);Wd=230;break}case 229:{xt(b,318947,bb);Wd=230;break}case 233:{c[cb>>2]=319399;xt(b,311286,cb);break}case 235:{c[db>>2]=319415;xt(b,311286,db);Wd=240;break}case 237:{xt(b,319428,eb);Wd=240;break}case 239:{xt(b,318947,fb);Wd=240;break}case 243:{c[gb>>2]=313933;c[gb+4>>2]=319456;xt(b,311083,gb);break}case 245:{xt(b,319477,hb);break}case 247:{xt(b,319514,ib);break}case 249:{xt(b,318045,jb);break}case 251:{c[kb>>2]=313933;c[kb+4>>2]=319547;xt(b,311083,kb);break}case 253:{xt(b,319568,lb);break}case 255:{xt(b,319605,mb);break}case 257:{xt(b,318045,ob);break}case 259:{xt(b,319638,pb);break}case 261:{xt(b,317364,qb);break}case 263:{xt(b,319667,rb);break}case 265:{xt(b,317364,sb);break}case 267:{xt(b,319697,tb);break}case 269:{xt(b,317364,ub);break}case 271:{xt(b,319725,vb);break}case 273:{xt(b,317364,wb);break}case 275:{c[xb>>2]=313933;c[xb+4>>2]=319755;xt(b,311083,xb);break}case 277:{xt(b,319764,zb);break}case 279:{xt(b,318153,Ab);break}case 281:{c[Bb>>2]=328620;c[Bb+4>>2]=319797;xt(b,311083,Bb);break}case 283:{xt(b,319811,Cb);break}case 285:{xt(b,318396,Db);break}case 288:{xt(b,319847,Eb);break}case 290:{xt(b,317364,Fb);break}case 292:{c[Gb>>2]=319877;xt(b,312781,Gb);break}case 300:{xt(b,317414,Ib);break}case 302:{xt(b,319896,Jb);break}case 304:{xt(b,317478,Kb);break}case 306:{xt(b,319922,Lb);break}case 308:{xt(b,317364,Nb);break}case 310:{xt(b,319950,Ob);break}case 312:{xt(b,317364,Pb);break}case 314:{c[Qb>>2]=319980;xt(b,311286,Qb);break}case 316:{xt(b,319992,Rb);break}case 318:{xt(b,317691,Tb);break}case 320:{c[Ub>>2]=320020;xt(b,311286,Ub);break}case 322:{c[Vb>>2]=319980;xt(b,311286,Vb);break}case 324:{xt(b,320036,Wb);break}case 326:{xt(b,320066,Xb);break}case 328:{xt(b,319697,Yb);break}case 330:{xt(b,317364,Zb);break}case 332:{xt(b,319847,_b);break}case 334:{xt(b,317364,$b);break}case 336:{c[bc>>2]=319345;xt(b,311286,bc);break}case 338:{c[cc>>2]=319360;xt(b,311286,cc);Wd=343;break}case 340:{xt(b,320101,dc);Wd=343;break}case 342:{xt(b,318947,ec);Wd=343;break}case 346:{c[fc>>2]=319345;xt(b,311286,fc);break}case 348:{c[gc>>2]=319360;xt(b,311286,gc);Wd=353;break}case 350:{xt(b,320136,hc);Wd=353;break}case 352:{xt(b,318947,ic);Wd=353;break}case 356:{c[kc>>2]=319345;xt(b,311286,kc);break}case 358:{c[lc>>2]=319360;xt(b,311286,lc);Wd=363;break}case 360:{xt(b,320169,mc);Wd=363;break}case 362:{xt(b,318947,nc);Wd=363;break}case 366:{c[oc>>2]=319399;xt(b,311286,oc);break}case 368:{c[pc>>2]=319415;xt(b,311286,pc);Wd=373;break}case 370:{xt(b,320202,qc);Wd=373;break}case 372:{xt(b,318947,rc);Wd=373;break}case 376:{c[tc>>2]=320236;xt(b,311286,tc);break}case 378:{c[uc>>2]=320253;xt(b,311286,uc);Wd=383;break}case 380:{xt(b,320267,vc);Wd=383;break}case 382:{xt(b,318947,wc);Wd=383;break}case 386:{c[xc>>2]=320236;xt(b,311286,xc);break}case 388:{c[yc>>2]=320253;xt(b,311286,yc);Wd=393;break}case 390:{xt(b,320299,zc);Wd=393;break}case 392:{xt(b,318947,Ac);Wd=393;break}case 396:{c[Cc>>2]=320338;xt(b,311286,Cc);break}case 398:{c[Dc>>2]=313933;c[Dc+4>>2]=320357;xt(b,311083,Dc);break}case 400:{xt(b,320378,Ec);break}case 402:{xt(b,320403,Fc);break}case 404:{xt(b,318947,Gc);break}case 406:{c[Hc>>2]=320338;xt(b,311286,Hc);break}case 408:{c[Ic>>2]=313933;c[Ic+4>>2]=320435;xt(b,311083,Ic);break}case 410:{xt(b,320378,Jc);break}case 412:{xt(b,320457,Kc);break}case 414:{xt(b,318947,Lc);break}case 416:{c[Mc>>2]=320490;xt(b,311286,Mc);break}case 419:{xt(b,320504,Oc);break}case 421:{xt(b,320535,Pc);break}case 423:{xt(b,318045,Qc);break}case 425:{c[Rc>>2]=313933;c[Rc+4>>2]=320435;xt(b,311083,Rc);break}case 427:{xt(b,320378,Sc);break}case 429:{xt(b,320566,Tc);break}case 431:{xt(b,318045,Uc);break}case 433:{c[Vc>>2]=313933;c[Vc+4>>2]=320435;xt(b,311083,Vc);break}case 435:{xt(b,320378,Xc);break}case 437:{c[Yc>>2]=313933;c[Yc+4>>2]=320435;xt(b,311083,Yc);break}case 439:{xt(b,320378,Zc);break}case 441:{xt(b,320599,_c);break}case 443:{xt(b,318947,$c);break}case 445:{c[ad>>2]=313933;c[ad+4>>2]=320357;xt(b,311083,ad);break}case 447:{xt(b,320378,bd);break}case 449:{c[cd>>2]=313933;c[cd+4>>2]=320357;xt(b,311083,cd);break}case 451:{xt(b,320378,ed);break}case 453:{xt(b,320632,fd);break}case 455:{xt(b,318947,gd);break}case 457:{c[hd>>2]=320664;xt(b,311286,hd);break}case 459:{xt(b,320676,id);break}case 461:{xt(b,318045,jd);break}case 463:{c[kd>>2]=320664;xt(b,311286,kd);break}case 465:{xt(b,320707,ld);break}case 467:{xt(b,318045,md);break}case 469:{c[nd>>2]=320664;xt(b,311286,nd);break}case 471:{xt(b,320738,od);break}case 473:{xt(b,318045,pd);break}case 475:{c[qd>>2]=320664;xt(b,311286,qd);break}case 477:{xt(b,320770,sd);break}case 479:{xt(b,318045,td);break}case 481:{xt(b,320802,ud);break}case 483:{xt(b,317364,vd);break}case 485:{xt(b,320832,xd);break}case 487:{xt(b,317364,yd);break}case 488:{It(b,j,0);break}}_d=1;aa=Zd;return _d|0}else f=0;while(0);if((g|0)!=(e|0)){xt(b,320864,Xd);_d=1;aa=Zd;return _d|0}if(f){_d=0;aa=Zd;return _d|0}xt(b,320901,Yd);_d=1;aa=Zd;return _d|0}function Ht(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;n=aa;aa=aa+16|0;m=n+8|0;f=n;k=n+12|0;l=b+12|0;g=c[l>>2]|0;j=g+1|0;h=c[b>>2]|0;if(j>>>0>h>>>0){c[f>>2]=313933;c[f+4>>2]=320966;xt(b,311083,f);d=1;aa=n;return d|0}f=c[b+4>>2]|0;i=a[f+g>>0]|0;c[l>>2]=j;if((i+4&255)>=3){m=i&255;b=c[16736+(m<<2)>>2]|0;c[d>>2]=i<<24>>24==0|(b|0)!=0?b:0-m|0;d=0;aa=n;return d|0}f=Ql(f+j|0,f+h|0,k)|0;if(!f){c[m>>2]=320966;xt(b,311286,m);d=1;aa=n;return d|0}c[l>>2]=(c[l>>2]|0)+f;g=c[k>>2]|0;f=(g>>>0<255?g:255)|(i&255)<<8;if(!(f>>>0<65536?(e=c[16736+(f<<2)>>2]|0,(g|0)==0|(e|0)!=0):0))e=0-f|0;c[d>>2]=e;d=0;aa=n;return d|0}function It(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;q=aa;aa=aa+48|0;n=q+8|0;p=q;o=q+36|0;k=q+24|0;m=q+12|0;g=FA(32)|0;c[o>>2]=g;c[o+8>>2]=-2147483616;c[o+4>>2]=17;h=g;i=320940;j=h+17|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[g+17>>0]=0;if(f|0){dB(o,32);cB(o,f)|0}cB(o,320958)|0;cm(k,e);l=c[k>>2]|0;j=k+4|0;g=c[j>>2]|0;if((l|0)!=(g|0)){h=m+11|0;i=m+4|0;f=l;do{c[n>>2]=d[f>>0];zj(m,320960,n);r=a[h>>0]|0;k=r<<24>>24<0;e=c[m>>2]|0;bB(o,k?e:m,k?c[i>>2]|0:r&255)|0;if(k)HA(e);f=f+1|0}while((f|0)!=(g|0))}g=o+11|0;c[p>>2]=(a[g>>0]|0)<0?c[o>>2]|0:o;xt(b,328562,p);if(l|0){c[j>>2]=l;HA(l)}if((a[g>>0]|0)>=0){aa=q;return}HA(c[o>>2]|0);aa=q;return}function Jt(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;k=a+8|0;e=c[k>>2]|0;j=a+4|0;d=c[j>>2]|0;if(e-d>>2>>>0>=b>>>0){aC(d|0,0,b<<2|0)|0;c[j>>2]=d+(b<<2);return}i=c[a>>2]|0;g=d-i|0;f=g>>2;d=f+b|0;if(d>>>0>1073741823)oB();m=e-i|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{l=FA(e<<2)|0;h=l;break}else{h=0;l=0}while(0);d=l+(f<<2)|0;aC(d|0,0,b<<2|0)|0;if((g|0)>0)_B(h|0,i|0,g|0)|0;c[a>>2]=l;c[j>>2]=d+(b<<2);c[k>>2]=l+(e<<2);if(!i)return;HA(i);return}function Kt(a){a=a|0;return}function Lt(a){a=a|0;HA(a);return}function Mt(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+8>>2]&511](a,b)|0}function Nt(a,b){a=a|0;b=b|0;c[a+4>>2]=b;a=c[a+12>>2]|0;na[c[(c[a>>2]|0)+12>>2]&31](a,b);return}function Ot(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,327665,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;b=fa[c[(c[h>>2]|0)+16>>2]&511](h,b)|0;aa=i;return b|0}function Pt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,327654,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+20>>2]&127](g)|0;aa=h;return g|0}function Qt(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+24>>2]&127](a,b,d)|0}function Rt(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=aa;aa=aa+32|0;j=k+8|0;h=k;i=a+16|0;e=c[i>>2]|0;if(e>>>0<=142){f=a+8|0;if(!e)e=f;else g=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[i>>2]|0;g=6}if((g|0)==6){nn(c[f>>2]|0,16560,e,0,0);e=f}f=c[e>>2]|0;g=c[d>>2]|0;c[j>>2]=c[d+4>>2];c[j+4>>2]=g;c[j+8>>2]=b;mn(f,327615,j);c[i>>2]=(c[i>>2]|0)+2;a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+28>>2]|0;f=d;g=c[f+4>>2]|0;d=h;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];j=ga[i&127](a,b,j)|0;aa=k;return j|0}function St(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,327597,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+32>>2]&127](g)|0;aa=h;return g|0}function Tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,327574,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+36>>2]&511](h,b)|0;aa=i;return h|0}function Ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,327557,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+40>>2]&511](h,b)|0;aa=i;return h|0}function Vt(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=aa;aa=aa+80|0;u=v+64|0;t=v+56|0;s=v+48|0;r=v+40|0;q=v+32|0;p=v+24|0;o=v+16|0;n=v+8|0;m=v;j=a+16|0;h=c[j>>2]|0;if(h>>>0<=142){i=a+8|0;if(!h)l=i;else k=6}else{i=a+8|0;do{nn(c[i>>2]|0,16560,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[j>>2]|0;k=6}if((k|0)==6){nn(c[i>>2]|0,16560,h,0,0);l=i}k=c[l>>2]|0;c[m>>2]=b;mn(k,327516,m);mn(c[l>>2]|0,327543,n);if(d|0){i=d+-1|0;j=a+8|0;h=0;do{lx(c[j>>2]|0,c[e+(h<<2)>>2]|0);if((h|0)!=(i|0))mn(c[l>>2]|0,328641,o);h=h+1|0}while((h|0)!=(d|0))}mn(c[l>>2]|0,328565,p);mn(c[l>>2]|0,327545,q);mn(c[l>>2]|0,327543,r);if(!f){s=c[l>>2]|0;mn(s,328565,t);t=c[l>>2]|0;mn(t,324528,u);u=a+12|0;u=c[u>>2]|0;t=c[u>>2]|0;t=t+44|0;t=c[t>>2]|0;u=ja[t&31](u,b,d,e,f,g)|0;aa=v;return u|0}i=f+-1|0;j=a+8|0;h=0;do{lx(c[j>>2]|0,c[g+(h<<2)>>2]|0);if((h|0)!=(i|0))mn(c[l>>2]|0,328641,s);h=h+1|0}while((h|0)!=(f|0));s=c[l>>2]|0;mn(s,328565,t);t=c[l>>2]|0;mn(t,324528,u);u=a+12|0;u=c[u>>2]|0;t=c[u>>2]|0;t=t+44|0;t=c[t>>2]|0;u=ja[t&31](u,b,d,e,f,g)|0;aa=v;return u|0}function Wt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{nn(c[b>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)nn(c[b>>2]|0,16560,d,0,0);mn(c[b>>2]|0,327500,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+48>>2]&127](g)|0;aa=h;return g|0}function Xt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{nn(c[e>>2]|0,16560,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){nn(c[e>>2]|0,16560,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;mn(f,327475,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+52>>2]&511](h,b)|0;aa=i;return h|0}function Yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{nn(c[d>>2]|0,16560,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)nn(c[d>>2]|0,16560,e,0,0);g=c[d>>2]|0;c[h>>2]=b;mn(g,327456,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+56>>2]&511](h,b)|0;aa=i;return h|0}function Zt(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;n=aa;aa=aa+48|0;m=n+16|0;l=n+40|0;j=n+8|0;k=n;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{nn(c[f>>2]|0,16560,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)nn(c[f>>2]|0,16560,g,0,0);i=c[f>>2]|0;o=c[d+4>>2]|0;f=c[d>>2]|0;h=c[e+4>>2]|0;g=c[e>>2]|0;c[m>>2]=b;c[m+4>>2]=o;c[m+8>>2]=f;c[m+12>>2]=h;c[m+16>>2]=g;mn(i,327404,m);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+60>>2]|0;g=d;d=c[g+4>>2]|0;h=j;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=e;e=c[h+4>>2]|0;d=k;c[d>>2]=c[h>>2];c[d+4>>2]=e;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=ha[i&63](a,b,l,m)|0;aa=n;return m|0}function _t(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;p=aa;aa=aa+48|0;o=p+16|0;n=p+32|0;l=p+8|0;m=p;j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){h=a+8|0;if(i)k=6}else{h=a+8|0;do{nn(c[h>>2]|0,16560,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)nn(c[h>>2]|0,16560,i,0,0);k=c[h>>2]|0;c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=g;mn(k,327341,o);a=c[a+12>>2]|0;k=c[(c[a>>2]|0)+64>>2]|0;i=d;d=c[i+4>>2]|0;j=l;c[j>>2]=c[i>>2];c[j+4>>2]=d;j=e;e=c[j+4>>2]|0;d=m;c[d>>2]=c[j>>2];c[d+4>>2]=e;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];o=ja[k&31](a,b,n,o,f,g)|0;aa=p;return o|0} -function Fp(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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;wa=aa;aa=aa+1680|0;va=wa+304|0;qa=wa+296|0;pa=wa+288|0;oa=wa+280|0;ea=wa+272|0;da=wa+264|0;ca=wa+256|0;ba=wa+248|0;$=wa+240|0;_=wa+232|0;Z=wa+224|0;Y=wa+216|0;X=wa+208|0;W=wa+200|0;V=wa+192|0;U=wa+184|0;T=wa+176|0;S=wa+168|0;R=wa+160|0;Q=wa+152|0;P=wa+144|0;O=wa+136|0;N=wa+128|0;M=wa+120|0;L=wa+112|0;na=wa+104|0;la=wa+96|0;K=wa+88|0;J=wa+80|0;e=wa+40|0;ua=wa;ta=wa+344|0;g=wa+1632|0;s=wa+1592|0;u=wa+1552|0;h=wa+1512|0;i=wa+1472|0;k=wa+1432|0;p=wa+1392|0;t=wa+1352|0;v=wa+1312|0;w=wa+1272|0;x=wa+1232|0;ra=wa+1196|0;sa=wa+1160|0;j=wa+1120|0;l=wa+1080|0;m=wa+1040|0;n=wa+1e3|0;o=wa+960|0;y=wa+936|0;B=wa+896|0;z=wa+872|0;C=wa+832|0;q=wa+792|0;r=wa+752|0;D=wa+728|0;fa=wa+688|0;E=wa+664|0;ga=wa+624|0;F=wa+600|0;ha=wa+560|0;G=wa+536|0;ia=wa+496|0;H=wa+472|0;ja=wa+432|0;I=wa+408|0;ka=wa+368|0;pp(ta,b);A=b+96|0;if(!(c[A>>2]|0)){f=b+100|0;do{tt(va,c[b>>2]|0,b);xa=c[A>>2]|0;c[A>>2]=xa+1;xa=b+16+(((c[f>>2]|0)+xa&1)*40|0)|0;Wx(xa);Ux(xa,va);Wx(va)}while(!(c[A>>2]|0))}else f=b+100|0;f=c[f>>2]&1;do switch(c[b+16+(f*40|0)+20>>2]|0){case 100:{xa=b+100|0;Ux(g,b+16+(f*40|0)|0);e=b+16+((c[xa>>2]&1)*40|0)|0;Wx(e);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[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(g);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=54;c[xa>>2]=287464;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 84:{xa=b+100|0;Ux(s,b+16+(f*40|0)|0);e=b+16+((c[xa>>2]&1)*40|0)|0;Wx(e);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[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(s);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=32;c[xa>>2]=287640;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 61:{xa=b+100|0;Ux(u,b+16+(f*40|0)|0);e=b+16+((c[xa>>2]&1)*40|0)|0;Wx(e);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[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(u);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=17;c[xa>>2]=288008;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 89:{xa=b+100|0;Ux(h,b+16+(f*40|0)|0);e=b+16+((c[xa>>2]&1)*40|0)|0;Wx(e);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[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(h);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=39;c[xa>>2]=287560;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 51:{xa=b+100|0;Ux(i,b+16+(f*40|0)|0);sa=b+16+((c[xa>>2]&1)*40|0)|0;Wx(sa);c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa+20>>2]=0;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(i);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=8;c[xa>>2]=288136;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 52:{xa=b+100|0;Ux(k,b+16+(f*40|0)|0);sa=b+16+((c[xa>>2]&1)*40|0)|0;Wx(sa);c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa+20>>2]=0;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(k);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=9;c[xa>>2]=288120;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 53:{xa=b+100|0;Ux(p,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(p);f=FA(108)|0;c[f+4>>2]=0;c[f+8>>2]=0;xa=f+12|0;c[xa>>2]=c[ta>>2];c[xa+4>>2]=c[ta+4>>2];c[xa+8>>2]=c[ta+8>>2];c[xa+12>>2]=c[ta+12>>2];c[xa+16>>2]=c[ta+16>>2];c[f+32>>2]=10;c[f>>2]=288104;xa=f+36|0;c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;vl(xa,-1,va);e=f+72|0;c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;vl(e,-1,va);if((Ap(b,xa)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);xa=1;aa=wa;return xa|0}if((Ap(b,e)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);xa=1;aa=wa;return xa|0}e=c[d>>2]|0;c[d>>2]=f;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 54:{g=b+100|0;Ux(t,b+16+(f*40|0)|0);xa=b+16+((c[g>>2]&1)*40|0)|0;Wx(xa);c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;c[xa+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(t);g=FA(84)|0;c[g+4>>2]=0;c[g+8>>2]=0;xa=g+12|0;c[xa>>2]=c[ta>>2];c[xa+4>>2]=c[ta+4>>2];c[xa+8>>2]=c[ta+8>>2];c[xa+12>>2]=c[ta+12>>2];c[xa+16>>2]=c[ta+16>>2];c[g+32>>2]=11;c[g>>2]=288088;xa=g+36|0;c[xa>>2]=0;e=g+40|0;c[e>>2]=0;c[g+44>>2]=0;f=g+48|0;c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;vl(f,-1,va);if(!(Sp(b,xa)|0)){ma[c[(c[g>>2]|0)+4>>2]&255](g);xa=1;aa=wa;return xa|0}zl(f,(c[e>>2]|0)+-36|0)|0;xa=(c[e>>2]|0)+-36|0;Cl(xa);c[e>>2]=xa;e=c[d>>2]|0;c[d>>2]=g;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 86:{xa=b+100|0;Ux(v,b+16+(f*40|0)|0);e=b+16+((c[xa>>2]&1)*40|0)|0;Wx(e);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[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(v);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=36;c[xa>>2]=287608;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 55:{xa=b+100|0;Ux(w,b+16+(f*40|0)|0);sa=b+16+((c[xa>>2]&1)*40|0)|0;Wx(sa);c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa+20>>2]=0;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(w);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=12;c[xa>>2]=288072;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 56:{i=b+100|0;Ux(x,b+16+(f*40|0)|0);e=b+16+((c[i>>2]&1)*40|0)|0;Wx(e);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[i>>2]=c[i>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(x);i=FA(136)|0;c[i+4>>2]=0;c[i+8>>2]=0;e=i+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[i+32>>2]=13;c[i>>2]=288056;e=i+36|0;a[e>>0]=0;h=i+40|0;c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;vl(h,-1,va);f=i+76|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;g=i+100|0;c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;vl(g,-1,va);do if(up(b,39)|0){a[e>>0]=1;if((Ap(b,h)|0)!=1?(vp(b,34)|0)!=1:0)break;ma[c[(c[i>>2]|0)+4>>2]&255](i);xa=1;aa=wa;return xa|0}else a[e>>0]=0;while(0);if((Op(b,f)|0)==1){ma[c[(c[i>>2]|0)+4>>2]&255](i);xa=1;aa=wa;return xa|0};c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;vl(ra,0,va);Bp(b,g,ra)|0;Cl(ra);e=c[d>>2]|0;c[d>>2]=i;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 87:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[J>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,J)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=37;c[xa>>2]=287592;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 88:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[K>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,K)}Wx(ua);i=FA(136)|0;c[i+4>>2]=0;c[i+8>>2]=0;e=i+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[i+32>>2]=38;c[i>>2]=287576;e=i+36|0;a[e>>0]=0;h=i+40|0;c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;vl(h,-1,va);f=i+76|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;g=i+100|0;c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;vl(g,-1,va);do if(up(b,39)|0){a[e>>0]=1;if((Ap(b,h)|0)!=1?(vp(b,34)|0)!=1:0)break;ma[c[(c[i>>2]|0)+4>>2]&255](i);xa=1;aa=wa;return xa|0}else a[e>>0]=0;while(0);if((Op(b,f)|0)==1){ma[c[(c[i>>2]|0)+4>>2]&255](i);xa=1;aa=wa;return xa|0};c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;vl(sa,0,va);Bp(b,g,sa)|0;Cl(sa);e=c[d>>2]|0;c[d>>2]=i;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 65:{xa=b+100|0;Ux(j,b+16+(f*40|0)|0);sa=b+16+((c[xa>>2]&1)*40|0)|0;Wx(sa);c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa+20>>2]=0;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(j);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=22;c[xa>>2]=287944;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 91:{xa=b+100|0;Ux(l,b+16+(f*40|0)|0);sa=b+16+((c[xa>>2]&1)*40|0)|0;Wx(sa);c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa+20>>2]=0;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(l);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=23;c[xa>>2]=287928;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 95:{xa=b+100|0;Ux(m,b+16+(f*40|0)|0);sa=b+16+((c[xa>>2]&1)*40|0)|0;Wx(sa);c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa+20>>2]=0;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(m);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=24;c[xa>>2]=287912;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 64:{xa=b+100|0;Ux(n,b+16+(f*40|0)|0);sa=b+16+((c[xa>>2]&1)*40|0)|0;Wx(sa);c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa+20>>2]=0;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(n);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=18;c[xa>>2]=287368;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 90:{xa=b+100|0;Ux(o,b+16+(f*40|0)|0);sa=b+16+((c[xa>>2]&1)*40|0)|0;Wx(sa);c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa+20>>2]=0;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(o);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=19;c[xa>>2]=287992;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 67:{c[y>>2]=c[ta>>2];c[y+4>>2]=c[ta+4>>2];c[y+8>>2]=c[ta+8>>2];c[y+12>>2]=c[ta+12>>2];c[y+16>>2]=c[ta+16>>2];ua=b+100|0;Ux(B,b+16+(f*40|0)|0);xa=b+16+((c[ua>>2]&1)*40|0)|0;Wx(xa);c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;c[xa+20>>2]=0;c[ua>>2]=c[ua>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;ua=c[B+24>>2]|0;Tp(b,va);Up(b,e);xa=FA(48)|0;b=c[e>>2]|0;e=c[va>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[y>>2];c[va+4>>2]=c[y+4>>2];c[va+8>>2]=c[y+8>>2];c[va+12>>2]=c[y+12>>2];c[va+16>>2]=c[y+16>>2];c[xa+32>>2]=21;c[xa>>2]=287960;c[xa+36>>2]=ua;c[xa+40>>2]=b;c[xa+44>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(B);xa=0;aa=wa;return xa|0}case 94:{c[z>>2]=c[ta>>2];c[z+4>>2]=c[ta+4>>2];c[z+8>>2]=c[ta+8>>2];c[z+12>>2]=c[ta+12>>2];c[z+16>>2]=c[ta+16>>2];ua=b+100|0;Ux(C,b+16+(f*40|0)|0);xa=b+16+((c[ua>>2]&1)*40|0)|0;Wx(xa);c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;c[xa+20>>2]=0;c[ua>>2]=c[ua>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;ua=c[C+24>>2]|0;Tp(b,va);Up(b,e);xa=FA(48)|0;b=c[e>>2]|0;e=c[va>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[z>>2];c[va+4>>2]=c[z+4>>2];c[va+8>>2]=c[z+8>>2];c[va+12>>2]=c[z+12>>2];c[va+16>>2]=c[z+16>>2];c[xa+32>>2]=42;c[xa>>2]=287544;c[xa+36>>2]=ua;c[xa+40>>2]=b;c[xa+44>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(C);xa=0;aa=wa;return xa|0}case 59:{c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;Dl(e,0,va);if((Vp(b,e)|0)==1){xa=1;aa=wa;return xa|0}h=FA(80)|0;c[h+4>>2]=0;c[h+8>>2]=0;g=h+12|0;c[g>>2]=c[ta>>2];c[g+4>>2]=c[ta+4>>2];c[g+8>>2]=c[ta+8>>2];c[g+12>>2]=c[ta+12>>2];c[g+16>>2]=c[ta+16>>2];c[h+32>>2]=15;c[h>>2]=287352;g=h+40|0;f=g+40|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));e=c[d>>2]|0;c[d>>2]=h;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 99:{g=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[g>>2]&1)*40|0)|0;Wx(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;c[g>>2]=c[g>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=ua+24|0;g=c[f>>2]|0;if(!(am(g,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,g);c[la>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,la)}xa=FA(40)|0;e=c[f>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[ta>>2];c[va+4>>2]=c[ta+4>>2];c[va+8>>2]=c[ta+8>>2];c[va+12>>2]=c[ta+12>>2];c[va+16>>2]=c[ta+16>>2];c[xa+32>>2]=53;c[xa>>2]=287496;c[xa+36>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ua);xa=0;aa=wa;return xa|0}case 49:{xa=FA(40)|0;e=b+100|0;Ux(va,b+16+(f*40|0)|0);b=b+16+((c[e>>2]&1)*40|0)|0;Wx(b);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[e>>2]=c[e>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;e=c[va+24>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;b=xa+12|0;c[b>>2]=c[ta>>2];c[b+4>>2]=c[ta+4>>2];c[b+8>>2]=c[ta+8>>2];c[b+12>>2]=c[ta+12>>2];c[b+16>>2]=c[ta+16>>2];c[xa+32>>2]=6;c[xa>>2]=288168;c[xa+36>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(va);xa=0;aa=wa;return xa|0}case 58:{xa=FA(40)|0;e=b+100|0;Ux(va,b+16+(f*40|0)|0);b=b+16+((c[e>>2]&1)*40|0)|0;Wx(b);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[e>>2]=c[e>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;e=c[va+24>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;b=xa+12|0;c[b>>2]=c[ta>>2];c[b+4>>2]=c[ta+4>>2];c[b+8>>2]=c[ta+8>>2];c[b+12>>2]=c[ta+12>>2];c[b+16>>2]=c[ta+16>>2];c[xa+32>>2]=14;c[xa>>2]=288040;c[xa+36>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(va);xa=0;aa=wa;return xa|0}case 60:{g=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[g>>2]&1)*40|0)|0;Wx(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;c[g>>2]=c[g>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=ua+24|0;g=c[f>>2]|0;if(!(am(g,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,g);c[na>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,na)}xa=FA(40)|0;e=c[f>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[ta>>2];c[va+4>>2]=c[ta+4>>2];c[va+8>>2]=c[ta+8>>2];c[va+12>>2]=c[ta+12>>2];c[va+16>>2]=c[ta+16>>2];c[xa+32>>2]=16;c[xa>>2]=288024;c[xa+36>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ua);xa=0;aa=wa;return xa|0}case 69:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[L>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,L)}Wx(ua);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=26;c[xa>>2]=287880;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 71:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[M>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,M)}Wx(ua);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=28;c[xa>>2]=287848;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 70:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[N>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,N)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=27;c[xa>>2]=287864;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 73:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[O>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,O)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=30;c[xa>>2]=287816;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 74:{xa=b+100|0;Ux(q,b+16+(f*40|0)|0);e=b+16+((c[xa>>2]&1)*40|0)|0;Wx(e);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[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(q);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=31;c[xa>>2]=287800;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 72:{xa=b+100|0;Ux(r,b+16+(f*40|0)|0);e=b+16+((c[xa>>2]&1)*40|0)|0;Wx(e);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[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;Wx(r);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=29;c[xa>>2]=287832;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 75:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[P>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,P)}Wx(ua);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=43;c[xa>>2]=287784;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 76:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[Q>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,Q)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=44;c[xa>>2]=287768;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 77:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[R>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,R)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=45;c[xa>>2]=287752;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 78:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[S>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,S)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=46;c[xa>>2]=287736;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 79:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[T>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,T)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=49;c[xa>>2]=287720;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 80:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[U>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,U)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=47;c[xa>>2]=287704;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 81:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[V>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,V)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=48;c[xa>>2]=287688;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 82:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[W>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,W)}Wx(ua);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=34;c[xa>>2]=287672;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 83:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[X>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,X)}Wx(ua);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=33;c[xa>>2]=287656;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 97:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[Y>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,Y)}Wx(ua);c[ua>>2]=c[ta>>2];c[ua+4>>2]=c[ta+4>>2];c[ua+8>>2]=c[ta+8>>2];c[ua+12>>2]=c[ta+12>>2];c[ua+16>>2]=c[ta+16>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;vl(va,-1,e);if((Ap(b,va)|0)==1){Cl(va);xa=1;aa=wa;return xa|0}xa=FA(72)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];c[xa+32>>2]=51;c[xa>>2]=287528;yl(xa+36|0,va);e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Cl(va);xa=0;aa=wa;return xa|0}case 85:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[Z>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,Z)}Wx(ua);xa=FA(36)|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=35;c[xa>>2]=287624;e=c[d>>2]|0;c[d>>2]=xa;if(!e){xa=0;aa=wa;return xa|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);xa=0;aa=wa;return xa|0}case 48:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[_>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,_)};c[D>>2]=c[ta>>2];c[D+4>>2]=c[ta+4>>2];c[D+8>>2]=c[ta+8>>2];c[D+12>>2]=c[ta+12>>2];c[D+16>>2]=c[ta+16>>2];Ux(fa,ua);ta=c[fa+24>>2]|0;Tp(b,va);Up(b,e);xa=FA(48)|0;b=c[e>>2]|0;e=c[va>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[D>>2];c[va+4>>2]=c[D+4>>2];c[va+8>>2]=c[D+8>>2];c[va+12>>2]=c[D+12>>2];c[va+16>>2]=c[D+16>>2];c[xa+32>>2]=4;c[xa>>2]=288184;c[xa+36>>2]=ta;c[xa+40>>2]=b;c[xa+44>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(fa);Wx(ua);xa=0;aa=wa;return xa|0}case 47:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[$>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,$)};c[E>>2]=c[ta>>2];c[E+4>>2]=c[ta+4>>2];c[E+8>>2]=c[ta+8>>2];c[E+12>>2]=c[ta+12>>2];c[E+16>>2]=c[ta+16>>2];Ux(ga,ua);ta=c[ga+24>>2]|0;Tp(b,va);Up(b,e);xa=FA(48)|0;b=c[e>>2]|0;e=c[va>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[E>>2];c[va+4>>2]=c[E+4>>2];c[va+8>>2]=c[E+8>>2];c[va+12>>2]=c[E+12>>2];c[va+16>>2]=c[E+16>>2];c[xa+32>>2]=5;c[xa>>2]=288200;c[xa+36>>2]=ta;c[xa+40>>2]=b;c[xa+44>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ga);Wx(ua);xa=0;aa=wa;return xa|0}case 43:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[ba>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,ba)};c[F>>2]=c[ta>>2];c[F+4>>2]=c[ta+4>>2];c[F+8>>2]=c[ta+8>>2];c[F+12>>2]=c[ta+12>>2];c[F+16>>2]=c[ta+16>>2];Ux(ha,ua);ta=c[ha+24>>2]|0;Tp(b,va);Up(b,e);xa=FA(48)|0;b=c[e>>2]|0;e=c[va>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[F>>2];c[va+4>>2]=c[F+4>>2];c[va+8>>2]=c[F+8>>2];c[va+12>>2]=c[F+12>>2];c[va+16>>2]=c[F+16>>2];c[xa+32>>2]=0;c[xa>>2]=288264;c[xa+36>>2]=ta;c[xa+40>>2]=b;c[xa+44>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ha);Wx(ua);xa=0;aa=wa;return xa|0}case 46:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[ca>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,ca)};c[G>>2]=c[ta>>2];c[G+4>>2]=c[ta+4>>2];c[G+8>>2]=c[ta+8>>2];c[G+12>>2]=c[ta+12>>2];c[G+16>>2]=c[ta+16>>2];Ux(ia,ua);ta=c[ia+24>>2]|0;Tp(b,va);Up(b,e);xa=FA(48)|0;b=c[e>>2]|0;e=c[va>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[G>>2];c[va+4>>2]=c[G+4>>2];c[va+8>>2]=c[G+8>>2];c[va+12>>2]=c[G+12>>2];c[va+16>>2]=c[G+16>>2];c[xa+32>>2]=3;c[xa>>2]=288248;c[xa+36>>2]=ta;c[xa+40>>2]=b;c[xa+44>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ia);Wx(ua);xa=0;aa=wa;return xa|0}case 44:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[da>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,da)};c[H>>2]=c[ta>>2];c[H+4>>2]=c[ta+4>>2];c[H+8>>2]=c[ta+8>>2];c[H+12>>2]=c[ta+12>>2];c[H+16>>2]=c[ta+16>>2];Ux(ja,ua);ta=c[ja+24>>2]|0;Tp(b,va);Up(b,e);xa=FA(48)|0;b=c[e>>2]|0;e=c[va>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[H>>2];c[va+4>>2]=c[H+4>>2];c[va+8>>2]=c[H+8>>2];c[va+12>>2]=c[H+12>>2];c[va+16>>2]=c[H+16>>2];c[xa+32>>2]=1;c[xa>>2]=288232;c[xa+36>>2]=ta;c[xa+40>>2]=b;c[xa+44>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ja);Wx(ua);xa=0;aa=wa;return xa|0}case 45:{xa=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[xa>>2]&1)*40|0)|0;Wx(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;c[xa>>2]=c[xa>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=c[ua+24>>2]|0;if(!(am(f,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,f);c[ea>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,ea)};c[I>>2]=c[ta>>2];c[I+4>>2]=c[ta+4>>2];c[I+8>>2]=c[ta+8>>2];c[I+12>>2]=c[ta+12>>2];c[I+16>>2]=c[ta+16>>2];Ux(ka,ua);ta=c[ka+24>>2]|0;Tp(b,va);Up(b,e);xa=FA(48)|0;b=c[e>>2]|0;e=c[va>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[I>>2];c[va+4>>2]=c[I+4>>2];c[va+8>>2]=c[I+8>>2];c[va+12>>2]=c[I+12>>2];c[va+16>>2]=c[I+16>>2];c[xa+32>>2]=2;c[xa>>2]=288216;c[xa+36>>2]=ta;c[xa+40>>2]=b;c[xa+44>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ka);Wx(ua);xa=0;aa=wa;return xa|0}case 96:{g=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[g>>2]&1)*40|0)|0;Wx(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;c[g>>2]=c[g>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=ua+24|0;g=c[f>>2]|0;if(!(am(g,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,g);c[oa>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,oa)}xa=FA(40)|0;e=c[f>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;va=xa+12|0;c[va>>2]=c[ta>>2];c[va+4>>2]=c[ta+4>>2];c[va+8>>2]=c[ta+8>>2];c[va+12>>2]=c[ta+12>>2];c[va+16>>2]=c[ta+16>>2];c[xa+32>>2]=50;c[xa>>2]=287480;c[xa+36>>2]=e;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ua);xa=0;aa=wa;return xa|0}case 92:{g=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[g>>2]&1)*40|0)|0;Wx(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;c[g>>2]=c[g>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=ua+24|0;g=c[f>>2]|0;if(!(am(g,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,g);c[pa>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,pa)}if((Wp(b,va)|0)==1){Wx(ua);xa=1;aa=wa;return xa|0}xa=FA(48)|0;e=c[f>>2]|0;b=c[va>>2]|0;va=c[va+4>>2]|0;c[xa+4>>2]=0;c[xa+8>>2]=0;sa=xa+12|0;c[sa>>2]=c[ta>>2];c[sa+4>>2]=c[ta+4>>2];c[sa+8>>2]=c[ta+8>>2];c[sa+12>>2]=c[ta+12>>2];c[sa+16>>2]=c[ta+16>>2];c[xa+32>>2]=40;c[xa>>2]=287448;c[xa+36>>2]=e;e=xa+40|0;c[e>>2]=b;c[e+4>>2]=va;e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ua);xa=0;aa=wa;return xa|0}case 93:{g=b+100|0;Ux(ua,b+16+(f*40|0)|0);f=b+16+((c[g>>2]&1)*40|0)|0;Wx(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;c[g>>2]=c[g>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;f=ua+24|0;g=c[f>>2]|0;if(!(am(g,c[b+12>>2]|0)|0)){c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];c[e+8>>2]=c[ua+8>>2];c[e+12>>2]=c[ua+12>>2];c[e+16>>2]=c[ua+16>>2];Zl(va,g);c[qa>>2]=c[va>>2];c[va>>2]=c[e>>2];c[va+4>>2]=c[e+4>>2];c[va+8>>2]=c[e+8>>2];c[va+12>>2]=c[e+12>>2];c[va+16>>2]=c[e+16>>2];np(b,va,308208,qa)};c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;Dl(e,0,va);if((Xp(b,e,-1)|0)==1){Wx(ua);xa=1;aa=wa;return xa|0}xa=FA(56)|0;b=c[f>>2]|0;va=e+24|0;c[xa+4>>2]=0;c[xa+8>>2]=0;e=xa+12|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];c[e+8>>2]=c[ta+8>>2];c[e+12>>2]=c[ta+12>>2];c[e+16>>2]=c[ta+16>>2];c[xa+32>>2]=41;c[xa>>2]=287432;c[xa+36>>2]=b;e=xa+40|0;c[e>>2]=c[va>>2];c[e+4>>2]=c[va+4>>2];c[e+8>>2]=c[va+8>>2];c[e+12>>2]=c[va+12>>2];e=c[d>>2]|0;c[d>>2]=xa;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Wx(ua);xa=0;aa=wa;return xa|0}default:{xa=1;aa=wa;return xa|0}}while(0);return 0}function Gp(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;x=aa;aa=aa+32|0;p=x+16|0;v=x;c[v>>2]=0;r=v+4|0;c[r>>2]=0;t=v+8|0;c[t>>2]=0;qp(p,a);a:do if((c[p>>2]|0)==24){q=p+4|0;s=b+4|0;u=b+8|0;while(1){d=c[q>>2]|0;if(!(sp(d)|0))switch(d|0){case 98:case 66:case 68:case 50:break;default:{w=22;break a}}if(!(Ep(a,v)|0)){d=c[v>>2]|0;if(d|0){n=c[s>>2]|0;f=d;o=c[t>>2]|0;j=c[r>>2]|0;l=d;m=c[u>>2]|0;while(1){k=n;n=l;l=c[n+4>>2]|0;do if((f|0)!=(j|0)){d=n+8|0;i=c[d>>2]|0;e=n+4|0;h=i;if(!i){g=l;c[v>>2]=l;f=g}else{c[i+4>>2]=l;g=c[e>>2]|0}if(!g){c[r>>2]=h;g=i;break}else{c[g+8>>2]=h;g=j;break}}else{c[r>>2]=0;c[v>>2]=0;f=0;g=0;e=n+4|0;d=n+8|0}while(0);c[d>>2]=0;c[e>>2]=0;o=o+-1|0;if(!k)d=b;else{c[n+8>>2]=k;d=k+4|0}c[d>>2]=n;m=m+1|0;if(!l)break;else j=g}c[t>>2]=o;c[s>>2]=n;c[u>>2]=m}}else if((wp(a,99)|0)==1){e=1;break a}qp(p,a);if((c[p>>2]|0)!=24){w=22;break}}}else w=22;while(0);if((w|0)==22)e=0;d=c[v>>2]|0;if(!d){aa=x;return e|0}do{w=d;d=c[d+4>>2]|0;ma[c[(c[w>>2]|0)+4>>2]&255](w)}while((d|0)!=0);aa=x;return e|0}function Hp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+48|0;f=h;g=b+96|0;if(!(c[g>>2]|0)){e=b+100|0;do{tt(f,c[b>>2]|0,b);i=c[g>>2]|0;c[g>>2]=i+1;i=b+16+(((c[e>>2]|0)+i&1)*40|0)|0;Wx(i);Ux(i,f);Wx(f)}while(!(c[g>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)==105){i=b+100|0;Ux(f,b+16+(e*40|0)|0);b=b+16+((c[i>>2]&1)*40|0)|0;Wx(b);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[i>>2]=c[i>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;UA(d,f+24|0)|0;Wx(f);aa=h;return}e=d+11|0;if((a[e>>0]|0)<0){a[c[d>>2]>>0]=0;c[d+4>>2]=0;aa=h;return}else{a[d>>0]=0;a[e>>0]=0;aa=h;return}}function Ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+96|0;e=i+64|0;g=i;a[g>>0]=0;h=g+4|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;vl(h,-1,e);e=g+40|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;if(up(b,39)|0){a[g>>0]=1;if((Ap(b,h)|0)!=1?(vp(b,34)|0)!=1:0)f=5;else e=1}else{a[g>>0]=0;f=5}if((f|0)==5)if((Op(b,e)|0)!=1){a[d>>0]=a[g>>0]|0;zl(d+4|0,h)|0;if((g|0)==(d|0))e=0;else{ug(d+40|0,c[e>>2]|0,c[g+44>>2]|0);ug(d+52|0,c[g+52>>2]|0,c[g+56>>2]|0);e=0}}else e=1;d=c[g+52>>2]|0;if(d|0){c[g+56>>2]=d;HA(d)}d=c[g+40>>2]|0;if(!d){Cl(h);aa=i;return e|0}c[g+44>>2]=d;HA(d);Cl(h);aa=i;return e|0}function Jp(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;v=aa;aa=aa+32|0;u=v+8|0;p=v;c[u>>2]=0;q=u+4|0;c[q>>2]=0;s=u+8|0;c[s>>2]=0;r=b+4|0;t=b+8|0;a:while(1){qp(p,a);d=c[p>>2]|0;b:do if(!(sp(d)|0)){switch(d|0){case 98:case 66:case 68:case 50:break b;default:{}}o=p;d=c[o+4>>2]|0;if((c[o>>2]|0)!=24){e=0;break a}if(!(sp(d)|0))switch(d|0){case 98:case 66:case 68:case 50:break;default:{e=0;break a}}}while(0);if(!(Kp(a,u)|0)){d=c[u>>2]|0;if(d|0){n=c[r>>2]|0;f=d;j=c[q>>2]|0;o=c[s>>2]|0;l=d;m=c[t>>2]|0;while(1){k=n;n=l;l=c[n+4>>2]|0;do if((f|0)!=(j|0)){d=n+8|0;i=c[d>>2]|0;e=n+4|0;h=i;if(!i){g=l;c[u>>2]=l;f=g}else{c[i+4>>2]=l;g=c[e>>2]|0}if(!g){c[q>>2]=h;g=i;break}else{c[g+8>>2]=h;g=j;break}}else{c[q>>2]=0;c[u>>2]=0;f=0;g=0;e=n+4|0;d=n+8|0}while(0);c[d>>2]=0;c[e>>2]=0;o=o+-1|0;if(!k)d=b;else{c[n+8>>2]=k;d=k+4|0}c[d>>2]=n;m=m+1|0;if(!l)break;else j=g}c[s>>2]=o;c[r>>2]=n;c[t>>2]=m}}else if((wp(a,100)|0)==1){e=1;break}}d=c[u>>2]|0;if(!d){aa=v;return e|0}do{u=d;d=c[d+4>>2]|0;ma[c[(c[u>>2]|0)+4>>2]&255](u)}while((d|0)!=0);aa=v;return e|0}function Kp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=a+96|0;if(!(c[e>>2]|0)){d=a+100|0;do{tt(f,c[a>>2]|0,a);h=c[e>>2]|0;c[e>>2]=h+1;h=a+16+(((c[d>>2]|0)+h&1)*40|0)|0;Wx(h);Ux(h,f);Wx(f)}while(!(c[e>>2]|0))}else d=a+100|0;d=c[a+16+((c[d>>2]&1)*40|0)+20>>2]|0;if(sp(d)|0){c[f>>2]=0;h=(Fp(a,f)|0)==1;e=c[f>>2]|0;c[f>>2]=0;if(h)if(!e)d=1;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);d=1}else{a=b+4|0;d=c[a>>2]|0;if(!d)d=b;else{c[e+8>>2]=d;d=d+4|0}c[d>>2]=e;c[a>>2]=e;d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;c[f>>2]=0;d=0}h=d;aa=g;return h|0}switch(d|0){case 98:case 66:case 68:case 50:break;default:{qp(f,a);a:do if((c[f>>2]|0)==24){d=c[f+4>>2]|0;if(!(sp(d)|0))switch(d|0){case 98:case 66:case 68:case 50:break;default:break a}h=Ep(a,b)|0;aa=g;return h|0}while(0);h=1;aa=g;return h|0}}c[f>>2]=0;h=(Mp(a,f)|0)==1;e=c[f>>2]|0;c[f>>2]=0;if(h)if(!e)d=1;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);d=1}else{a=b+4|0;d=c[a>>2]|0;if(!d)d=b;else{c[e+8>>2]=d;d=d+4|0}c[d>>2]=e;c[a>>2]=e;d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;c[f>>2]=0;d=0}h=d;aa=g;return h|0}function Lp(a){a=a|0;var b=0;b=c[a>>2]|0;a:do if(!(sp(b)|0)){switch(b|0){case 98:case 66:case 68:case 50:{b=1;break a}default:{}}b=c[a+4>>2]|0;if((c[a>>2]|0)==24)if(sp(b)|0)b=1;else{switch(b|0){case 98:case 66:case 68:case 50:{b=1;break a}default:{}}b=0}else b=0}else b=1;while(0);return b|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,m=0,n=0,o=0,p=0;o=aa;aa=aa+256|0;n=o+208|0;l=o;j=o+68|0;m=o+48|0;f=o+168|0;g=o+128|0;h=o+88|0;k=o+8|0;pp(m,b);i=b+96|0;if(!(c[i>>2]|0)){e=b+100|0;do{tt(n,c[b>>2]|0,b);p=c[i>>2]|0;c[i>>2]=p+1;p=b+16+(((c[e>>2]|0)+p&1)*40|0)|0;Wx(p);Ux(p,n);Wx(n)}while(!(c[i>>2]|0))}else e=b+100|0;e=c[e>>2]&1;switch(c[b+16+(e*40|0)+20>>2]|0){case 50:{g=b+100|0;Ux(f,b+16+(e*40|0)|0);e=b+16+((c[g>>2]&1)*40|0)|0;Wx(e);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[g>>2]=c[g>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;Wx(f);f=FA(144)|0;c[f+4>>2]=0;c[f+8>>2]=0;e=f+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[f+32>>2]=7;c[f>>2]=288152;e=f+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;vl(f+52|0,-1,n);g=f+88|0;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Hp(b,e);if((Ip(b,f+48|0)|0)!=1?(Jp(b,f+112|0)|0)!=1:0){pp(n,b);p=f+124|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];if((vp(b,63)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}Np(b,e);e=c[d>>2]|0;c[d>>2]=f;if(!e){p=0;aa=o;return p|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);p=0;aa=o;return p|0}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}case 68:{f=b+100|0;Ux(g,b+16+(e*40|0)|0);e=b+16+((c[f>>2]&1)*40|0)|0;Wx(e);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[f>>2]=c[f>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;Wx(g);f=FA(144)|0;c[f+4>>2]=0;c[f+8>>2]=0;e=f+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[f+32>>2]=25;c[f>>2]=287896;e=f+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;vl(f+52|0,-1,n);g=f+88|0;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Hp(b,e);if((Ip(b,f+48|0)|0)!=1?(Jp(b,f+112|0)|0)!=1:0){pp(n,b);p=f+124|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];if((vp(b,63)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}Np(b,e);e=c[d>>2]|0;c[d>>2]=f;if(!e){p=0;aa=o;return p|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);p=0;aa=o;return p|0}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}case 66:{f=b+100|0;Ux(h,b+16+(e*40|0)|0);e=b+16+((c[f>>2]&1)*40|0)|0;Wx(e);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[f>>2]=c[f>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;Wx(h);f=FA(176)|0;c[f+4>>2]=0;c[f+8>>2]=0;e=f+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[f+32>>2]=20;c[f>>2]=287976;e=f+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;vl(f+52|0,-1,n);g=f+88|0;h=g+88|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Hp(b,e);if((Ip(b,f+48|0)|0)!=1?(Jp(b,f+112|0)|0)!=1:0){pp(n,b);p=f+124|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];do if(tp(b,62)|0){Np(b,e);if((Dp(b,f+144|0)|0)!=1){pp(n,b);p=f+156|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];break}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}while(0);if((vp(b,63)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}Np(b,e);e=c[d>>2]|0;c[d>>2]=f;if(!e){p=0;aa=o;return p|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);p=0;aa=o;return p|0}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}case 98:{p=b+100|0;Ux(k,b+16+(e*40|0)|0);e=b+16+((c[p>>2]&1)*40|0)|0;Wx(e);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[p>>2]=c[p>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;e=c[k+24>>2]|0;if(!(am(e,c[b+12>>2]|0)|0)){c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];Zl(n,e);c[l>>2]=c[n>>2];c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];np(b,n,308208,l)}Wx(k);f=FA(156)|0;c[f+4>>2]=0;c[f+8>>2]=0;e=f+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[f+32>>2]=52;c[f>>2]=287512;e=f+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;vl(f+52|0,-1,n);g=f+88|0;h=g+68|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Hp(b,e);if((Ip(b,f+48|0)|0)!=1?(Jp(b,f+112|0)|0)!=1:0){pp(n,b);p=f+124|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];if((vp(b,57)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}Np(b,e);if((Dp(b,f+144|0)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}if((vp(b,63)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}Np(b,e);e=c[d>>2]|0;c[d>>2]=f;if(!e){p=0;aa=o;return p|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);p=0;aa=o;return p|0}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}default:{p=1;aa=o;return p|0}}return 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,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=aa;aa=aa+96|0;o=s+68|0;r=s+8|0;g=s;k=s+48|0;p=s+16|0;n=s+28|0;pp(k,b);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Hp(b,p);m=p+11|0;h=a[m>>0]|0;q=h<<24>>24<0;h=q?c[p+4>>2]|0:h&255;a:do if(h|0){f=a[d+11>>0]|0;l=f<<24>>24<0;f=f&255;e=l?c[d+4>>2]|0:f;if(!e){c[g>>2]=q?c[p>>2]|0:p;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];np(b,o,308383,g);break}do if((e|0)==(h|0)){e=c[d>>2]|0;i=q?c[p>>2]|0:p;if(l){if(!(zz(e,i,h)|0))break a;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[n+16>>2]=c[k+16>>2];break}if((a[i>>0]|0)!=(e&255)<<24>>24){c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[n+16>>2]=c[k+16>>2];j=15;break}g=d;e=i;while(1){f=f+-1|0;g=g+1|0;if(!f)break a;e=e+1|0;if((a[g>>0]|0)!=(a[e>>0]|0)){j=13;break}}}else j=13;while(0);if((j|0)==13){c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[n+16>>2]=c[k+16>>2];if(l)e=c[d>>2]|0;else j=15}if((j|0)==15)e=d;q=q?c[p>>2]|0:p;c[r>>2]=e;c[r+4>>2]=q;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];np(b,o,308405,r)}while(0);if((a[m>>0]|0)>=0){aa=s;return}HA(c[p>>2]|0);aa=s;return}function Op(a,b){a=a|0;b=b|0;a:do if(up(a,29)|0){while(1){Pp(a,b);if((vp(a,34)|0)==1){b=1;break}if(!(up(a,29)|0))break a}return b|0}while(0);b=b+12|0;if(!(up(a,33)|0)){a=0;return a|0}while(1){Pp(a,b);if((vp(a,34)|0)==1){b=1;a=9;break}if(!(up(a,33)|0)){b=0;a=9;break}}if((a|0)==9)return b|0;return 0}function Pp(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=aa;aa=aa+80|0;i=m+40|0;j=m;k=a+96|0;h=a+100|0;l=j+24|0;f=b+4|0;g=b+8|0;while(1){if(!(c[k>>2]|0))do{tt(i,c[a>>2]|0,a);e=c[k>>2]|0;c[k>>2]=e+1;e=a+16+(((c[h>>2]|0)+e&1)*40|0)|0;Wx(e);Ux(e,i);Wx(i)}while(!(c[k>>2]|0));d=c[h>>2]&1;if((c[a+16+(d*40|0)+20>>2]|0)!=106)break;Ux(j,a+16+(d*40|0)|0);d=a+16+((c[h>>2]&1)*40|0)|0;Wx(d);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;c[h>>2]=c[h>>2]&1^1;c[k>>2]=(c[k>>2]|0)+-1;d=c[l>>2]|0;c[i>>2]=d;e=c[f>>2]|0;if(e>>>0<(c[g>>2]|0)>>>0){c[e>>2]=d;c[f>>2]=e+4}else Qp(b,i);Wx(j)}aa=m;return}function Qp(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function Rp(a){a=a|0;a:do if((c[a>>2]|0)==24){a=c[a+4>>2]|0;if(sp(a)|0)a=1;else{switch(a|0){case 98:case 66:case 68:case 50:{a=1;break a}default:{}}a=0}}else a=0;while(0);return a|0}function Sp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+96|0;i=j+56|0;h=j+36|0;g=j;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;vl(i,-1,h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;vl(g,-1,h);f=Bp(a,i,g)|0;Cl(g);e=b+4|0;if(!f){h=c[b>>2]|0;a=c[e>>2]|0;a=(h|0)!=(a|0);Cl(i);aa=j;return a|0}f=b+8|0;do{d=c[e>>2]|0;if((d|0)==(c[f>>2]|0))Yp(b,i);else{yl(d,i);c[e>>2]=(c[e>>2]|0)+36};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;vl(g,-1,h);d=Bp(a,i,g)|0;Cl(g)}while(d);h=c[b>>2]|0;a=c[e>>2]|0;a=(h|0)!=(a|0);Cl(i);aa=j;return a|0}function Tp(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;l=aa;aa=aa+112|0;i=l+64|0;k=l+16|0;h=l+8|0;j=l+24|0;g=l;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{tt(i,c[b>>2]|0,b);m=c[f>>2]|0;c[f>>2]=m+1;m=b+16+(((c[e>>2]|0)+m&1)*40|0)|0;Wx(m);Ux(m,i);Wx(i)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=102){c[d>>2]=0;aa=l;return}m=b+100|0;Ux(j,b+16+(e*40|0)|0);e=b+16+((c[m>>2]&1)*40|0)|0;Wx(e);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[m>>2]=c[m>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;f=j+24|0;e=a[f+11>>0]|0;m=e<<24>>24<0;f=m?c[f>>2]|0:f;e=m?c[j+28>>2]|0:e&255;if((Gx(f,f+e|0,g)|0)==1){c[h>>2]=e;c[h+4>>2]=f;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];np(b,i,308666,h)}m=g;e=c[m>>2]|0;m=c[m+4>>2]|0;if(m>>>0>0|(m|0)==0&e>>>0>4294967295){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];np(b,i,308688,k)}c[d>>2]=e;Wx(j);aa=l;return}function Up(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;k=aa;aa=aa+96|0;g=k+56|0;j=k+8|0;i=k;h=k+16|0;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{tt(g,c[b>>2]|0,b);l=c[f>>2]|0;c[f>>2]=l+1;l=b+16+(((c[e>>2]|0)+l&1)*40|0)|0;Wx(l);Ux(l,g);Wx(g)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=101){c[d>>2]=-1;aa=k;return}l=b+100|0;Ux(h,b+16+(e*40|0)|0);e=b+16+((c[l>>2]&1)*40|0)|0;Wx(e);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[l>>2]=c[l>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;f=h+24|0;e=a[f+11>>0]|0;l=e<<24>>24<0;f=l?c[f>>2]|0:f;e=l?c[h+28>>2]|0:e&255;if((Hx(f,f+e|0,d,0)|0)==1){c[i>>2]=e;c[i+4>>2]=f;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];np(b,g,308610,i)}l=c[d>>2]|0;if(!((l|0)!=0&(l+-1&l|0)==0)){c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];np(b,g,308635,j)}Wx(h);aa=k;return}function Vp(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;r=aa;aa=aa+144|0;n=r+96|0;k=r+8|0;l=r;m=r+72|0;q=r+32|0;h=r+16|0;f=b+100|0;Ux(q,b+16+((c[f>>2]&1)*40|0)|0);g=b+16+((c[f>>2]&1)*40|0)|0;Wx(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;c[f>>2]=c[f>>2]&1^1;g=b+96|0;c[g>>2]=(c[g>>2]|0)+-1;j=q+24|0;i=c[j>>2]|0;p=h+4|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;pp(n,b);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[d+16>>2]=c[n+16>>2];if(!(c[g>>2]|0))do{tt(n,c[b>>2]|0,b);e=c[g>>2]|0;c[g>>2]=e+1;e=b+16+(((c[f>>2]|0)+e&1)*40|0)|0;Wx(e);Ux(e,n);Wx(n)}while(!(c[g>>2]|0));e=c[f>>2]&1;a:do switch(c[b+16+(e*40|0)+20>>2]|0){case 40:case 41:case 42:{Ux(n,b+16+(e*40|0)|0);e=b+16+((c[f>>2]&1)*40|0)|0;Wx(e);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[f>>2]=c[f>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=c[n+24>>2];UA(p,n+28|0)|0;Wx(n);g=p+11|0;e=a[g>>0]|0;s=e<<24>>24<0;f=s?c[p>>2]|0:p;e=f+(s?c[h+8>>2]|0:e&255)|0;switch(i|0){case 212:{f=0;o=18;break a}case 52:{c[d+20>>2]=-1;e=Hx(f,e,d+24|0,1)|0;break}case 53:{c[d+20>>2]=-2;e=Gx(f,e,d+24|0)|0;break}case 54:{c[d+20>>2]=-3;e=Ix(c[h>>2]|0,f,e,d+24|0)|0;break}case 55:{c[d+20>>2]=-4;e=Kx(c[h>>2]|0,f,e,d+24|0)|0;break}default:{e=1;break a}}if((e|0)==1){c[k>>2]=(a[g>>0]|0)<0?c[p>>2]|0:p;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[n+16>>2]=c[d+16>>2];np(b,n,308455,k);e=1}else e=0;break}case 106:{if((i|0)==212){Ux(n,b+16+(e*40|0)|0);o=b+16+((c[f>>2]&1)*40|0)|0;Wx(o);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;f=c[n+24>>2]|0;Wx(n);o=18;break a}h=FA(48)|0;c[m>>2]=h;c[m+8>>2]=-2147483600;c[m+4>>2]=43;e=h;f=308532;g=e+43|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[h+43>>0]=0;e=n+4|0;f=FA(12)|0;c[n>>2]=f;s=f+12|0;c[n+8>>2]=s;LA(f,m);c[e>>2]=s;xp(b,n,308576);if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);c[e>>2]=f;HA(f);HA(h);e=1;break}default:{h=FA(32)|0;c[m>>2]=h;c[m+8>>2]=-2147483616;c[m+4>>2]=17;e=h;f=308592;g=e+17|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[h+17>>0]=0;e=n+4|0;f=FA(12)|0;c[n>>2]=f;s=f+12|0;c[n+8>>2]=s;LA(f,m);c[e>>2]=s;xp(b,n,308576);if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);c[e>>2]=f;HA(f);HA(h);e=1}}while(0);if((o|0)==18){e=c[j>>2]|0;if(!(am(e,c[b+12>>2]|0)|0)){c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[m+16>>2]=c[q+16>>2];Zl(n,e);c[l>>2]=c[n>>2];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];np(b,n,308208,l)}c[d+20>>2]=-5;e=(Xp(b,d,f)|0)==1&1}if((a[p+11>>0]|0)>=0){Wx(q);aa=r;return e|0}HA(c[p>>2]|0);Wx(q);aa=r;return e|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;j=aa;aa=aa+96|0;i=j+48|0;g=j;h=j+8|0;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{tt(i,c[b>>2]|0,b);k=c[f>>2]|0;c[f>>2]=k+1;k=b+16+(((c[e>>2]|0)+k&1)*40|0)|0;Wx(k);Ux(k,i);Wx(i)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)==42){k=b+100|0;Ux(h,b+16+(e*40|0)|0);e=b+16+((c[k>>2]&1)*40|0)|0;Wx(e);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[k>>2]=c[k>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;f=h+28|0;e=a[f+11>>0]|0;k=e<<24>>24<0;f=k?c[f>>2]|0:f;e=k?c[h+32>>2]|0:e&255;if((Fx(f,f+e|0,d)|0)==1){c[g>>2]=e;c[g+4>>2]=f;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];np(b,i,308269,g)}Wx(h);k=0;aa=j;return k|0}else{g=FA(32)|0;c[h>>2]=g;c[h+8>>2]=-2147483616;c[h+4>>2]=16;e=g;f=308515;d=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(d|0));a[g+16>>0]=0;e=i+4|0;f=FA(12)|0;c[i>>2]=f;k=f+12|0;c[i+8>>2]=k;LA(f,h);c[e>>2]=k;xp(b,i,308451);if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);c[e>>2]=f;HA(f);HA(g);k=1;aa=j;return k|0}return 0}function Xp(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;r=aa;aa=aa+96|0;q=r+56|0;o=r;n=r+32|0;p=r+16|0;if((e|0)!=-1){c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];c[q+16>>2]=c[d+16>>2];np(b,q,308476,r+8|0);q=1;aa=r;return q|0}pp(q,b);c[d>>2]=c[q>>2];c[d+4>>2]=c[q+4>>2];c[d+8>>2]=c[q+8>>2];c[d+12>>2]=c[q+12>>2];c[d+16>>2]=c[q+16>>2];j=b+96|0;i=b+100|0;m=q+24|0;k=p+4|0;l=q+28|0;g=k+11|0;h=p+8|0;d=d+24|0;f=0;while(1){pp(n,b);if(!(c[j>>2]|0))do{tt(q,c[b>>2]|0,b);e=c[j>>2]|0;c[j>>2]=e+1;e=b+16+(((c[i>>2]|0)+e&1)*40|0)|0;Wx(e);Ux(e,q);Wx(q)}while(!(c[j>>2]|0));e=c[i>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=42){d=8;break}Ux(q,b+16+(e*40|0)|0);e=b+16+((c[i>>2]&1)*40|0)|0;Wx(e);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[i>>2]=c[i>>2]&1^1;c[j>>2]=(c[j>>2]|0)+-1;c[p>>2]=c[m>>2];LA(k,l);Wx(q);e=a[g>>0]|0;s=e<<24>>24<0;t=s?c[k>>2]|0:k;if((Hx(t,t+(s?c[h>>2]|0:e&255)|0,d+(f<<2)|0,1)|0)==1){c[o>>2]=(a[g>>0]|0)<0?c[k>>2]|0:k;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];c[q+16>>2]=c[n+16>>2];np(b,q,308455,o);e=1}else e=0;if((a[g>>0]|0)<0)HA(c[k>>2]|0);f=f+1|0;if(e|0){e=1;d=17;break}if(f>>>0>=4){e=0;d=17;break}}if((d|0)==8){g=FA(16)|0;c[p>>2]=g;c[p+8>>2]=-2147483632;c[p+4>>2]=14;e=g;d=308436;f=e+14|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(f|0));a[g+14>>0]=0;e=q+4|0;d=FA(12)|0;c[q>>2]=d;t=d+12|0;c[q+8>>2]=t;LA(d,p);c[e>>2]=t;xp(b,q,308451);if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);c[e>>2]=d;HA(d);HA(g);t=1;aa=r;return t|0}else if((d|0)==17){aa=r;return e|0}return 0}function Yp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;d=c[a>>2]|0;f=((c[i>>2]|0)-d|0)/36|0;e=f+1|0;if(e>>>0>119304647)oB();j=a+8|0;h=((c[j>>2]|0)-d|0)/36|0;d=h<<1;d=h>>>0<59652323?(d>>>0<e>>>0?e:d):119304647;do if(d)if(d>>>0>119304647)U();else{g=FA(d*36|0)|0;break}else g=0;while(0);e=g+(f*36|0)|0;h=g+(d*36|0)|0;yl(e,b);b=e+36|0;g=c[a>>2]|0;d=c[i>>2]|0;if((d|0)==(g|0)){f=g;d=g}else{do{e=e+-36|0;d=d+-36|0;yl(e,d)}while((d|0)!=(g|0));f=c[a>>2]|0;d=c[i>>2]|0}c[a>>2]=e;c[i>>2]=b;c[j>>2]=h;e=f;if((d|0)!=(e|0))do{d=d+-36|0;Cl(d)}while((d|0)!=(e|0));if(!f)return;HA(f);return}function Zp(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;w=aa;aa=aa+64|0;u=w;t=w+52|0;k=w+40|0;c[k>>2]=0;v=k+4|0;c[v>>2]=0;h=k+8|0;c[h>>2]=0;j=b+96|0;i=b+100|0;g=u+24|0;while(1){if(!(c[j>>2]|0))do{tt(u,c[b>>2]|0,b);q=c[j>>2]|0;c[j>>2]=q+1;q=b+16+(((c[i>>2]|0)+q&1)*40|0)|0;Wx(q);Ux(q,u);Wx(u)}while(!(c[j>>2]|0));f=c[i>>2]&1;if((c[b+16+(f*40|0)+20>>2]|0)!=104)break;Ux(u,b+16+(f*40|0)|0);f=b+16+((c[i>>2]&1)*40|0)|0;Wx(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;c[i>>2]=c[i>>2]&1^1;c[j>>2]=(c[j>>2]|0)+-1;f=c[v>>2]|0;if((f|0)==(c[h>>2]|0))Kc(k,g);else{LA(f,g);c[v>>2]=f+12}Wx(u)}q=c[k>>2]|0;p=c[v>>2]|0;a:do if((q|0)!=(p|0)){n=d+4|0;o=d+8|0;m=q;b:while(1){f=a[m+11>>0]|0;g=f<<24>>24<0;f=g?c[m+4>>2]|0:f&255;if(f>>>0>=3?(un(u,g?c[m>>2]|0:m,f,1,f+-2|0),r=u,l=c[r+4>>2]|0,r=c[r>>2]|0,s=r+l|0,(l|0)>0):0){l=r;do{b=a[l>>0]|0;c:do if(b<<24>>24!=92){f=c[n>>2]|0;g=c[o>>2]|0;if(f>>>0<g>>>0){a[f>>0]=b;c[n>>2]=(c[n>>2]|0)+1;f=l;break}k=c[d>>2]|0;j=f-k|0;f=j+1|0;i=k;if((f|0)<0){f=93;break b}g=g-k|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<f>>>0?f:h):2147483647;if(!h)g=0;else g=FA(h)|0;f=g+j|0;a[f>>0]=b;if((j|0)>0)_B(g|0,i|0,j|0)|0;c[d>>2]=g;c[n>>2]=f+1;c[o>>2]=g+h;if(!k)f=l;else{HA(i);f=l}}else{f=l+1|0;g=a[f>>0]|0;switch(g<<24>>24|0){case 110:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=10;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=20;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=FA(i)|0;g=h+k|0;a[g>>0]=10;if((k|0)>0)_B(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;HA(j);break c}case 114:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=13;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=30;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=FA(i)|0;g=h+k|0;a[g>>0]=13;if((k|0)>0)_B(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;HA(j);break c}case 116:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=9;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=40;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=FA(i)|0;g=h+k|0;a[g>>0]=9;if((k|0)>0)_B(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;HA(j);break c}case 92:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=92;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=50;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=FA(i)|0;g=h+k|0;a[g>>0]=92;if((k|0)>0)_B(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;HA(j);break c}case 39:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=39;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=60;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=FA(i)|0;g=h+k|0;a[g>>0]=39;if((k|0)>0)_B(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;HA(j);break c}case 34:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=34;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=70;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=FA(i)|0;g=h+k|0;a[g>>0]=34;if((k|0)>0)_B(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;HA(j);break c}default:{f=l+2|0;do if((Ex(g,u)|0)==0?(Ex(a[f>>0]|0,t)|0)==0:0){l=(c[u>>2]<<4|c[t>>2])&255;g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=l;c[n>>2]=(c[n>>2]|0)+1;break}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=82;break b}h=h-b|0;i=h<<1;i=h>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=FA(i)|0;g=h+k|0;a[g>>0]=l;if((k|0)>0)_B(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(b|0)HA(j)}while(0);break c}}}while(0);l=f+1|0}while(l>>>0<s>>>0)}m=m+12|0;if((m|0)==(p|0)){e=p;break a}}if((f|0)==20)oB();else if((f|0)==30)oB();else if((f|0)==40)oB();else if((f|0)==50)oB();else if((f|0)==60)oB();else if((f|0)==70)oB();else if((f|0)==82)oB();else if((f|0)==93)oB()}else e=q;while(0);f=(q|0)!=(e|0);if(!q){aa=w;return f|0}if((e|0)!=(q|0))do{e=e+-12|0;if((a[e+11>>0]|0)<0)HA(c[e>>2]|0)}while((e|0)!=(q|0));c[v>>2]=q;HA(q);aa=w;return f|0}function _p(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;l=aa;aa=aa+112|0;k=l+72|0;g=l;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{tt(k,c[b>>2]|0,b);j=c[f>>2]|0;c[f>>2]=j+1;j=b+16+(((c[e>>2]|0)+j&1)*40|0)|0;Wx(j);Ux(j,k);Wx(k)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)==106){j=b+100|0;Ux(k,b+16+(e*40|0)|0);b=b+16+((c[j>>2]&1)*40|0)|0;Wx(b);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[j>>2]=c[j>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;c[d>>2]=c[k+24>>2];Wx(k);b=0;aa=l;return b|0}d=g+4|0;c[d>>2]=0;c[d+4>>2]=50331648;a[g>>0]=a[328637]|0;a[g+1>>0]=a[328638]|0;a[g+2>>0]=a[328639]|0;a[g+3>>0]=0;d=g+12|0;f=g+16|0;c[f>>2]=0;c[f+4>>2]=50331648;a[d>>0]=a[328633]|0;a[d+1>>0]=a[328634]|0;a[d+2>>0]=a[328635]|0;a[d+3>>0]=0;f=g+24|0;o=g+28|0;c[o>>2]=0;c[o+4>>2]=50331648;a[f>>0]=a[328629]|0;a[f+1>>0]=a[328630]|0;a[f+2>>0]=a[328631]|0;a[f+3>>0]=0;o=g+36|0;h=g+40|0;c[h>>2]=0;c[h+4>>2]=50331648;a[o>>0]=a[328625]|0;a[o+1>>0]=a[328626]|0;a[o+2>>0]=a[328627]|0;a[o+3>>0]=0;h=g+48|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a[h+11>>0]=4;c[h>>2]=942813558;a[g+52>>0]=0;n=g+60|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;a[n+11>>0]=6;a[n>>0]=a[328580]|0;a[n+1>>0]=a[328581]|0;a[n+2>>0]=a[328582]|0;a[n+3>>0]=a[328583]|0;a[n+4>>0]=a[328584]|0;a[n+5>>0]=a[328585]|0;a[n+6>>0]=0;i=k+4|0;j=FA(72)|0;c[k>>2]=j;m=j+72|0;c[k+8>>2]=m;LA(j,g);e=j+12|0;LA(e,d);d=j+24|0;LA(d,f);f=j+36|0;LA(f,o);g=j+48|0;LA(g,h);h=j+60|0;LA(h,n);c[i>>2]=m;xp(b,k,0);if((a[j+71>>0]|0)<0)HA(c[h>>2]|0);if((a[j+59>>0]|0)<0)HA(c[g>>2]|0);if((a[j+47>>0]|0)<0)HA(c[f>>2]|0);if((a[j+35>>0]|0)<0)HA(c[d>>2]|0);if((a[j+23>>0]|0)<0)HA(c[e>>2]|0);if((a[j+11>>0]|0)<0)HA(c[j>>2]|0);c[i>>2]=j;HA(j);o=1;aa=l;return o|0}function $p(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;n=aa;aa=aa+112|0;m=n+8|0;k=n;l=n+88|0;j=n+48|0;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{tt(m,c[b>>2]|0,b);h=c[f>>2]|0;c[f>>2]=h+1;h=b+16+(((c[e>>2]|0)+h&1)*40|0)|0;Wx(h);Ux(h,m);Wx(m)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=104){h=FA(16)|0;c[l>>2]=h;c[l+8>>2]=-2147483632;c[l+4>>2]=15;e=h;f=308736;g=e+15|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[h+15>>0]=0;e=m+4|0;f=FA(12)|0;c[m>>2]=f;k=f+12|0;c[m+8>>2]=k;LA(f,l);c[e>>2]=k;xp(b,m,308752);if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);c[e>>2]=f;HA(f);HA(h);m=1;aa=n;return m|0}h=b+100|0;Ux(j,b+16+(e*40|0)|0);e=b+16+((c[h>>2]&1)*40|0)|0;Wx(e);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[h>>2]=c[h>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;e=j+24|0;f=a[e+11>>0]|0;h=f<<24>>24<0;f=h?c[j+28>>2]|0:f&255;if(f>>>0>=3?(un(m,h?c[e>>2]|0:e,f,1,f+-2|0),g=m,h=c[g+4>>2]|0,g=c[g>>2]|0,i=g+h|0,(h|0)>0):0)while(1){f=a[g>>0]|0;e=g+1|0;if(f<<24>>24==92){f=a[e>>0]|0;switch(f<<24>>24|0){case 110:{dB(d,10);break}case 114:{dB(d,13);break}case 116:{dB(d,9);break}case 92:{dB(d,92);break}case 39:{dB(d,39);break}case 34:{dB(d,34);break}default:{e=g+2|0;if((Ex(f,m)|0)==0?(Ex(a[e>>0]|0,l)|0)==0:0)dB(d,(c[m>>2]<<4|c[l>>2])&255)}}e=e+1|0}else dB(d,f);if(e>>>0<i>>>0)g=e;else break}e=a[d+11>>0]|0;if(e<<24>>24<0){f=c[d>>2]|0;e=c[d+4>>2]|0}else{f=d;e=e&255}if(!(rz(f,e)|0)){c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];c[m+16>>2]=c[j+16>>2];np(b,m,308758,k)}Wx(j);m=0;aa=n;return m|0}function aq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+48|0;f=h;if((Wp(b,d)|0)==1){b=1;aa=h;return b|0}g=b+96|0;if(!(c[g>>2]|0)){e=b+100|0;do{tt(f,c[b>>2]|0,b);i=c[g>>2]|0;c[g>>2]=i+1;i=b+16+(((c[e>>2]|0)+i&1)*40|0)|0;Wx(i);Ux(i,f);Wx(f)}while(!(c[g>>2]|0))}else e=b+100|0;if((c[b+16+((c[e>>2]&1)*40|0)+20>>2]|0)==42)if((Wp(b,d+8|0)|0)==1){i=1;aa=h;return i|0}else e=1;else e=0;a[d+16>>0]=e;if(!(tp(b,35)|0)){i=0;aa=h;return i|0}a[d+17>>0]=1;i=0;aa=h;return i|0}function bq(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=aa;aa=aa+48|0;k=m+32|0;e=m+24|0;i=m;j=FA(376)|0;aC(j|0,0,212)|0;c[j+212>>2]=1065353216;l=j+216|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+232>>2]=1065353216;l=j+236|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+252>>2]=1065353216;l=j+256|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+272>>2]=1065353216;l=j+276|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+292>>2]=1065353216;l=j+296|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+312>>2]=1065353216;l=j+316|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+332>>2]=1065353216;l=j+336|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+352>>2]=1065353216;l=j+356|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+372>>2]=1065353216;l=j;a:do if(rp(b,26)|0){c[k>>2]=0;if((cq(b,0,k)|0)==1){e=c[k>>2]|0;c[k>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);break}else{e=c[k>>2]|0;c[k>>2]=0;dq(j,e+8|0)|0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);f=15;break}}else{qp(e,b);b:do if((c[e>>2]|0)==24){switch(c[e+4>>2]|0){case 37:case 36:case 25:case 21:case 20:case 39:case 17:case 16:case 15:case 13:case 12:break;default:break b}if((eq(b,j)|0)==1)break a;else{f=15;break a}}while(0);tp(b,24)|0;h=FA(16)|0;c[i>>2]=h;c[i+8>>2]=-2147483632;c[i+4>>2]=14;e=h;f=308802;g=e+14|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[h+14>>0]=0;o=i+12|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;a[o+11>>0]=8;f=o;c[f>>2]=1869422689;c[f+4>>2]=1701606756;a[i+20>>0]=0;f=k+4|0;g=FA(24)|0;c[k>>2]=g;n=g+24|0;c[k+8>>2]=n;LA(g,i);e=g+12|0;LA(e,o);c[f>>2]=n;xp(b,k,0);if((a[g+23>>0]|0)<0)HA(c[e>>2]|0);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);c[f>>2]=g;HA(g);HA(h);f=15}while(0);if(((f|0)==15?(vp(b,14)|0)!=1:0)?(o=c[b+8>>2]|0,(c[o+4>>2]|0)==(c[o>>2]|0)):0){e=c[d>>2]|0;c[d>>2]=l;if(!e){o=0;aa=m;return o|0}db(e);HA(e);o=0;aa=m;return o|0}db(j);HA(j);o=1;aa=m;return o|0}function cq(d,e,f){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;x=aa;aa=aa+128|0;u=x+96|0;q=x+8|0;p=x;g=x+92|0;v=x+48|0;r=x+16|0;m=x+72|0;n=x+28|0;c[g>>2]=0;a:do if((Fq(d,g)|0)!=1){w=FA(384)|0;t=w;c[t>>2]=0;c[t+4>>2]=0;c[w>>2]=289788;t=w+8|0;aC(t|0,0,212)|0;c[w+220>>2]=1065353216;i=w+224|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+240>>2]=1065353216;i=w+244|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+260>>2]=1065353216;i=w+264|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+280>>2]=1065353216;i=w+284|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+300>>2]=1065353216;i=w+304|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+320>>2]=1065353216;i=w+324|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+340>>2]=1065353216;i=w+344|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+360>>2]=1065353216;i=w+364|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+380>>2]=1065353216;i=c[g>>2]|0;switch(c[i+4>>2]|0){case 0:{dq(t,i+8|0)|0;break}case 1:{a[v>>0]=0;a[v+1>>0]=1;s=v+2|0;o=s;b[o>>1]=0;b[o+2>>1]=0>>>16;s=s+4|0;b[s>>1]=0;b[s+2>>1]=0>>>16;c[v+12>>2]=0;a[v+16>>0]=0;a[v+17>>0]=1;a[v+18>>0]=1;c[r>>2]=0;s=r+4|0;c[s>>2]=0;c[r+8>>2]=0;o=c[i+40>>2]|0;Nc(308946,o,(c[i+44>>2]|0)-o|0,v,r,t)|0;UA(w+28|0,i+28|0)|0;o=i+8|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2];c[t+16>>2]=c[o+16>>2];k=c[r>>2]|0;l=c[s>>2]|0;if((k|0)!=(l|0)){do{j=k+12|0;if((c[j>>2]|0)==-1){c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];h=k+24|0;if((a[h+11>>0]|0)<0)h=c[h>>2]|0;c[p>>2]=h;c[u>>2]=c[m>>2];c[u+4>>2]=c[m+4>>2];c[u+8>>2]=c[m+8>>2];c[u+12>>2]=c[m+12>>2];c[u+16>>2]=c[m+16>>2];np(d,u,308953,p)}else{c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[n+16>>2]=c[o+16>>2];h=k+24|0;if((a[h+11>>0]|0)<0)h=c[h>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=h;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];c[u+16>>2]=c[n+16>>2];np(d,u,308980,q)}k=k+36|0}while((k|0)!=(l|0));k=c[r>>2]|0}if(k|0){h=c[s>>2]|0;if((h|0)==(k|0))h=k;else{do{j=h+-12|0;h=h+-36|0;if((a[j+11>>0]|0)<0)HA(c[j>>2]|0)}while((h|0)!=(k|0));h=c[r>>2]|0}c[s>>2]=k;HA(h)}break}case 2:{m=FA(16)|0;c[v>>2]=m;c[v+8>>2]=-2147483632;c[v+4>>2]=15;h=m;j=309017;k=h+15|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));a[m+15>>0]=0;l=FA(16)|0;c[v+12>>2]=l;c[v+20>>2]=-2147483632;c[v+16>>2]=13;h=l;j=309033;k=h+13|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));a[l+13>>0]=0;h=u+4|0;j=FA(24)|0;c[u>>2]=j;f=j+24|0;c[u+8>>2]=f;LA(j,v);k=j+12|0;LA(k,v+12|0);c[h>>2]=f;xp(d,u,0);if((a[j+23>>0]|0)<0)HA(c[k>>2]|0);if((a[j+11>>0]|0)<0)HA(c[j>>2]|0);c[h>>2]=j;HA(j);HA(l);HA(m);ma[c[(c[w>>2]|0)+4>>2]&255](w);h=1;break a}default:{}}if(e|0){j=(c[e+4>>2]|0)-(c[e>>2]|0)>>2;h=a[w+39>>0]|0;if(h<<24>>24<0)h=c[w+32>>2]|0;else h=h&255;if(h|0){c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];c[v+12>>2]=c[t+12>>2];c[v+16>>2]=c[t+16>>2];c[v+20>>2]=j;e=e+12|0;Hg(u,e,w+28|0,v);zg(e,c[u>>2]|0)}c[d+4>>2]=j}h=c[f>>2]|0;c[f>>2]=w;if(!h)h=0;else{ma[c[(c[h>>2]|0)+4>>2]&255](h);h=0}}else{i=c[g>>2]|0;h=1}while(0);c[g>>2]=0;if(!i){aa=x;return h|0}ma[c[(c[i>>2]|0)+4>>2]&255](i);aa=x;return h|0}function dq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=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];f=b+20|0;g=d+20|0;e=f+11|0;if((a[e>>0]|0)<0){a[c[f>>2]>>0]=0;c[b+24>>2]=0;e=f}else{a[f>>0]=0;a[e>>0]=0;e=f}YA(f);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;f=b+32|0;g=d+32|0;e=c[f>>2]|0;if(e|0)do{h=e;e=c[e+4>>2]|0;ma[c[(c[h>>2]|0)+4>>2]&255](h)}while((e|0)!=0);h=b+36|0;c[h>>2]=0;c[f>>2]=0;i=b+40|0;c[i>>2]=0;c[f>>2]=c[g>>2];e=d+36|0;c[h>>2]=c[e>>2];h=d+40|0;c[i>>2]=c[h>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+44|0;h=d+44|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];g=b+64|0;h=d+64|0;e=c[g>>2]|0;if(!e){e=b+68|0;f=b+72|0}else{i=b+68|0;c[i>>2]=e;HA(e);f=b+72|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+68|0;c[e>>2]=c[g>>2];e=d+72|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+76|0;h=d+76|0;e=c[g>>2]|0;if(!e){e=b+80|0;f=b+84|0}else{i=b+80|0;c[i>>2]=e;HA(e);f=b+84|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+80|0;c[e>>2]=c[g>>2];e=d+84|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+88|0;h=d+88|0;e=c[g>>2]|0;if(!e){e=b+92|0;f=b+96|0}else{i=b+92|0;c[i>>2]=e;HA(e);f=b+96|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+92|0;c[e>>2]=c[g>>2];e=d+96|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+100|0;h=d+100|0;e=c[g>>2]|0;if(!e){e=b+104|0;f=b+108|0}else{i=b+104|0;c[i>>2]=e;HA(e);f=b+108|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+104|0;c[e>>2]=c[g>>2];e=d+108|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+112|0;h=d+112|0;e=c[g>>2]|0;if(!e){e=b+116|0;f=b+120|0}else{i=b+116|0;c[i>>2]=e;HA(e);f=b+120|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+116|0;c[e>>2]=c[g>>2];e=d+120|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+124|0;h=d+124|0;e=c[g>>2]|0;if(!e){e=b+128|0;f=b+132|0}else{i=b+128|0;c[i>>2]=e;HA(e);f=b+132|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+128|0;c[e>>2]=c[g>>2];e=d+132|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+136|0;h=d+136|0;e=c[g>>2]|0;if(!e){e=b+140|0;f=b+144|0}else{i=b+140|0;c[i>>2]=e;HA(e);f=b+144|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+140|0;c[e>>2]=c[g>>2];e=d+144|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+148|0;h=d+148|0;e=c[g>>2]|0;if(!e){e=b+152|0;f=b+156|0}else{i=b+152|0;c[i>>2]=e;HA(e);f=b+156|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+152|0;c[e>>2]=c[g>>2];e=d+156|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+160|0;h=d+160|0;e=c[g>>2]|0;if(!e){e=b+164|0;f=b+168|0}else{i=b+164|0;c[i>>2]=e;HA(e);f=b+168|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+164|0;c[e>>2]=c[g>>2];e=d+168|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+172|0;h=d+172|0;e=c[g>>2]|0;if(!e){e=b+176|0;f=b+180|0}else{i=b+176|0;c[i>>2]=e;HA(e);f=b+180|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+176|0;c[e>>2]=c[g>>2];e=d+180|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+184|0;h=d+184|0;e=c[g>>2]|0;if(!e){e=b+188|0;f=b+192|0}else{i=b+188|0;c[i>>2]=e;HA(e);f=b+192|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];i=d+188|0;c[e>>2]=c[i>>2];g=d+192|0;c[f>>2]=c[g>>2];c[g>>2]=0;c[i>>2]=0;c[h>>2]=0;Eq(b+196|0,d+196|0);Eq(b+216|0,d+216|0);Eq(b+236|0,d+236|0);Eq(b+256|0,d+256|0);Eq(b+276|0,d+276|0);Eq(b+296|0,d+296|0);Eq(b+316|0,d+316|0);Eq(b+336|0,d+336|0);Eq(b+356|0,d+356|0);return b|0}function eq(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;v=aa;aa=aa+64|0;q=v+48|0;t=v+8|0;e=v;qp(e,b);a:do if((c[e>>2]|0)==24){f=e+4|0;while(1){switch(c[f>>2]|0){case 37:case 36:case 25:case 21:case 20:case 39:case 17:case 16:case 15:case 13:case 12:break;default:break a}if((fq(b,d)|0)==1?(wp(b,101)|0)==1:0){e=1;break}qp(e,b);if((c[e>>2]|0)!=24)break a}aa=v;return e|0}while(0);e=c[d+32>>2]|0;if(!e){u=0;aa=v;return u|0}o=q+4|0;i=t+28|0;j=t+16|0;l=t+32|0;k=t+4|0;m=t+20|0;n=t+8|0;while(1){h=e;f=e;b:do switch(c[h+32>>2]|0){case 0:{b=f+48|0;f=f+36|0;u=16;break}case 10:{b=e+48|0;f=0;u=16;break}case 2:{f=c[e+36>>2]|0;b=c[f+28>>2]|0;g=(f|0)==0;if(!(g|(b|0)!=0)){b=f+44|0;f=0;u=16;break b}if(!(g|(b|0)!=4)){b=f+44|0;f=0;u=16}break}default:{}}while(0);if((u|0)==16){u=0;if((((a[b>>0]|0?(r=b+40|0,(c[b+52>>2]|0)==(c[b+56>>2]|0)):0)?(c[r>>2]|0)==(c[b+44>>2]|0):0)?(p=Rk(d,b+4|0)|0,p|0):0)?(s=p+12|0,(r|0)!=(s|0)):0){ug(r,c[s>>2]|0,c[p+16>>2]|0);ug(b+52|0,c[p+24>>2]|0,c[p+28>>2]|0)}hq(h+12|0,d,b);if(f|0){c[q>>2]=289528;c[o>>2]=d;Aj(t,q);Ij(t,f)|0;f=c[i>>2]|0;if(f|0){c[l>>2]=f;HA(f)}f=c[j>>2]|0;if(f|0){c[m>>2]=f;HA(f)}f=c[k>>2]|0;if(f|0){c[n>>2]=f;HA(f)}}}e=c[e+4>>2]|0;if(!e){e=0;break}}aa=v;return e|0}function fq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;e=g;f=a+96|0;if((c[f>>2]|0)>>>0>1)d=a+100|0;else{d=a+100|0;do{tt(e,c[a>>2]|0,a);h=c[f>>2]|0;c[f>>2]=h+1;h=a+16+(((c[d>>2]|0)+h&1)*40|0)|0;Wx(h);Ux(h,e);Wx(e)}while((c[f>>2]|0)>>>0<=1)}do switch(c[a+16+((c[d>>2]&1^1)*40|0)+20>>2]|0){case 12:{d=pq(a,b)|0;break}case 13:{d=qq(a,b)|0;break}case 15:{d=rq(a,b)|0;break}case 16:{d=sq(a,b)|0;break}case 17:{d=tq(a,b)|0;break}case 39:{d=uq(a,b)|0;break}case 20:{d=vq(a,b)|0;break}case 21:{d=wq(a,b)|0;break}case 25:{d=xq(a,b)|0;break}case 36:{d=yq(a,b)|0;break}case 37:{d=zq(a,b)|0;break}default:d=1}while(0);aa=g;return d|0}function gq(a){a=a|0;if((c[a>>2]|0)!=24)return 0;a=(c[a+4>>2]|0)+-12|0;if(a>>>0<28)return (184558395>>>(a&268435455)&1|0)!=0|0;else return 0;return 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;i=aa;aa=aa+16|0;h=i;if(a[e>>0]|0){aa=i;return}g=e+40|0;if((Tk(d,g)|0)!=-1){aa=i;return}f=FA(72)|0;c[f+4>>2]=0;c[f+8>>2]=0;j=f+12|0;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];c[f+32>>2]=4;c[f>>2]=288488;tn(f+36|0,0,0);b=f+48|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;if((g|0)!=(b|0)){ug(b,c[g>>2]|0,c[e+44>>2]|0);ug(f+60|0,c[e+52>>2]|0,c[e+56>>2]|0)}c[h>>2]=f;dl(d,h);b=c[h>>2]|0;c[h>>2]=0;if(!b){aa=i;return}ma[c[(c[b>>2]|0)+4>>2]&255](b);aa=i;return}function iq(a){a=a|0;HA(a);return}function jq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d+12|0;h=d+48|0;f=b+4|0;e=c[f>>2]|0;b=d+88|0;if((((a[h>>0]|0?(c[d+100>>2]|0)==(c[d+104>>2]|0):0)?(c[b>>2]|0)==(c[d+92>>2]|0):0)?(g=Rk(e,d+52|0)|0,g|0):0)?(j=g+12|0,(b|0)!=(j|0)):0){ug(b,c[j>>2]|0,c[g+16>>2]|0);ug(d+100|0,c[g+24>>2]|0,c[g+28>>2]|0)}if((c[d+92>>2]|0)==(c[b>>2]|0)?(c[d+104>>2]|0)-(c[d+100>>2]|0)>>2>>>0<2:0)return 0;hq(i,c[f>>2]|0,h);return 0}function kq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+4|0;b=c[e>>2]|0;g=d+36|0;if(((((a[g>>0]|0)!=0?(h=d+76|0,(c[d+88>>2]|0)==(c[d+92>>2]|0)):0)?(c[h>>2]|0)==(c[d+80>>2]|0):0)?(f=Rk(b,d+40|0)|0,(f|0)!=0):0)?(i=f+12|0,(h|0)!=(i|0)):0){ug(h,c[i>>2]|0,c[f+16>>2]|0);ug(d+88|0,c[f+24>>2]|0,c[f+28>>2]|0);b=c[e>>2]|0}hq(d+12|0,b,g);return 0}function lq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d+12|0;h=d+48|0;f=b+4|0;e=c[f>>2]|0;b=d+88|0;if((((a[h>>0]|0?(c[d+100>>2]|0)==(c[d+104>>2]|0):0)?(c[b>>2]|0)==(c[d+92>>2]|0):0)?(g=Rk(e,d+52|0)|0,g|0):0)?(j=g+12|0,(b|0)!=(j|0)):0){ug(b,c[j>>2]|0,c[g+16>>2]|0);ug(d+100|0,c[g+24>>2]|0,c[g+28>>2]|0)}if((c[d+92>>2]|0)==(c[b>>2]|0)?(c[d+104>>2]|0)-(c[d+100>>2]|0)>>2>>>0<2:0)return 0;hq(i,c[f>>2]|0,h);return 0}function mq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d+12|0;h=d+48|0;f=b+4|0;e=c[f>>2]|0;b=d+88|0;if((((a[h>>0]|0?(c[d+100>>2]|0)==(c[d+104>>2]|0):0)?(c[b>>2]|0)==(c[d+92>>2]|0):0)?(g=Rk(e,d+52|0)|0,g|0):0)?(j=g+12|0,(b|0)!=(j|0)):0){ug(b,c[j>>2]|0,c[g+16>>2]|0);ug(d+100|0,c[g+24>>2]|0,c[g+28>>2]|0)}if((c[d+92>>2]|0)==(c[b>>2]|0)?(c[d+104>>2]|0)-(c[d+100>>2]|0)>>2>>>0<2:0)return 0;hq(i,c[f>>2]|0,h);return 0}function nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+4|0;b=c[e>>2]|0;g=d+36|0;if(((((a[g>>0]|0)!=0?(h=d+76|0,(c[d+88>>2]|0)==(c[d+92>>2]|0)):0)?(c[h>>2]|0)==(c[d+80>>2]|0):0)?(f=Rk(b,d+40|0)|0,(f|0)!=0):0)?(i=f+12|0,(h|0)!=(i|0)):0){ug(h,c[i>>2]|0,c[f+16>>2]|0);ug(d+88|0,c[f+24>>2]|0,c[f+28>>2]|0);b=c[e>>2]|0}hq(d+12|0,b,g);return 0}function oq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d+12|0;h=d+48|0;f=b+4|0;e=c[f>>2]|0;b=d+88|0;if((((a[h>>0]|0?(c[d+100>>2]|0)==(c[d+104>>2]|0):0)?(c[b>>2]|0)==(c[d+92>>2]|0):0)?(g=Rk(e,d+52|0)|0,g|0):0)?(j=g+12|0,(b|0)!=(j|0)):0){ug(b,c[j>>2]|0,c[g+16>>2]|0);ug(d+100|0,c[g+24>>2]|0,c[g+28>>2]|0)}if((c[d+92>>2]|0)==(c[b>>2]|0)?(c[d+104>>2]|0)-(c[d+100>>2]|0)>>2>>>0<2:0)return 0;hq(i,c[f>>2]|0,h);return 0}function pq(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;s=aa;aa=aa+160|0;f=s+120|0;k=s+96|0;r=s+40|0;h=s+56|0;i=s+4|0;p=s;if((vp(b,24)|0)==1){r=1;aa=s;return r|0}pp(k,b);if((vp(b,12)|0)==1)e=1;else{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;zp(b,r);o=FA(112)|0;q=r+11|0;l=a[q>>0]|0;j=l<<24>>24<0;g=j?c[r>>2]|0:r;l=j?c[r+4>>2]|0:l&255;c[o+4>>2]=0;c[o+8>>2]=0;j=o+12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[o+32>>2]=8;c[o>>2]=287400;tn(o+36|0,g,l);l=o+48|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;vl(l,-1,f);g=o+84|0;a[g>>0]=0;j=o+88|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;n=o;m=b+96|0;if(!(c[m>>2]|0)){e=b+100|0;do{tt(f,c[b>>2]|0,b);t=c[m>>2]|0;c[m>>2]=t+1;t=b+16+(((c[e>>2]|0)+t&1)*40|0)|0;Wx(t);Ux(t,f);Wx(f)}while(!(c[m>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=30){vl(i,0,k);Bp(b,l,i)|0;Cl(i);if((Cp(b,j)|0)==1)f=13;else f=10}else{f=b+100|0;Ux(h,b+16+(e*40|0)|0);t=b+16+((c[f>>2]&1)*40|0)|0;Wx(t);c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[m>>2]=(c[m>>2]|0)+-1;Wx(h);a[g>>0]=1;f=10}if((f|0)==10){Zp(b,o+100|0)|0;if((vp(b,34)|0)!=1){c[p>>2]=n;Vk(d,p);e=c[p>>2]|0;c[p>>2]=0;if(!e)e=0;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);e=0}}else f=13}if((f|0)==13){ma[c[(c[o>>2]|0)+4>>2]&255](o);e=1}if((a[q>>0]|0)<0)HA(c[r>>2]|0)}t=e;aa=s;return t|0}function qq(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;s=aa;aa=aa+160|0;f=s+120|0;k=s+96|0;r=s+40|0;h=s+56|0;i=s+4|0;p=s;if((vp(b,24)|0)==1){r=1;aa=s;return r|0}pp(k,b);if((vp(b,13)|0)==1)e=1;else{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;zp(b,r);o=FA(112)|0;q=r+11|0;m=a[q>>0]|0;j=m<<24>>24<0;g=j?c[r>>2]|0:r;m=j?c[r+4>>2]|0:m&255;c[o+4>>2]=0;c[o+8>>2]=0;j=o+12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[o+32>>2]=6;c[o>>2]=287416;tn(o+36|0,g,m);m=o+48|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;vl(m,-1,f);g=o+84|0;a[g>>0]=0;j=o+88|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;n=o;l=b+96|0;if(!(c[l>>2]|0)){e=b+100|0;do{tt(f,c[b>>2]|0,b);t=c[l>>2]|0;c[l>>2]=t+1;t=b+16+(((c[e>>2]|0)+t&1)*40|0)|0;Wx(t);Ux(t,f);Wx(f)}while(!(c[l>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=30){vl(i,0,k);Bp(b,m,i)|0;Cl(i);if((Cp(b,j)|0)==1)f=13;else f=10}else{f=b+100|0;Ux(h,b+16+(e*40|0)|0);t=b+16+((c[f>>2]&1)*40|0)|0;Wx(t);c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[l>>2]=(c[l>>2]|0)+-1;Wx(h);a[g>>0]=1;f=10}if((f|0)==10){Sp(b,o+100|0)|0;if((vp(b,34)|0)!=1){c[p>>2]=n;Xk(d,p);e=c[p>>2]|0;c[p>>2]=0;if(!e)e=0;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);e=0}}else f=13}if((f|0)==13){ma[c[(c[o>>2]|0)+4>>2]&255](o);e=1}if((a[q>>0]|0)<0)HA(c[r>>2]|0)}t=e;aa=s;return t|0}function rq(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=aa;aa=aa+48|0;f=l+24|0;e=l+4|0;k=l;if((vp(b,24)|0)==1){k=1;aa=l;return k|0}pp(e,b);j=FA(112)|0;c[j+4>>2]=0;c[j+8>>2]=0;h=j+12|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[j+32>>2]=10;c[j>>2]=287384;h=j+36|0;tn(h,0,0);g=j+48|0;a[g>>0]=0;i=j+52|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;vl(i,-1,f);f=j+88|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;e=j;do if((vp(b,15)|0)!=1){zp(b,h);if(up(b,39)|0){a[g>>0]=1;if((Ap(b,i)|0)==1)break;if((vp(b,34)|0)==1)break}else a[g>>0]=0;if((Op(b,f)|0)!=1?(vp(b,34)|0)!=1:0){c[k>>2]=e;Zk(d,k);e=c[k>>2]|0;c[k>>2]=0;if(!e){k=0;aa=l;return k|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);k=0;aa=l;return k|0}}while(0);ma[c[(c[j>>2]|0)+4>>2]&255](j);k=1;aa=l;return k|0}function sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;f=i+24|0;d=i+4|0;h=i;if((vp(a,24)|0)==1){h=1;aa=i;return h|0}pp(d,a);g=FA(88)|0;c[g+4>>2]=0;c[g+8>>2]=0;e=g+12|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[e+16>>2]=c[d+16>>2];c[g+32>>2]=3;c[g>>2]=288296;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=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;vl(g+52|0,-1,f);d=g;if((((vp(a,16)|0)!=1?($p(a,e)|0)!=1:0)?(Dq(a,e)|0)!=1:0)?(vp(a,34)|0)!=1:0){c[h>>2]=d;$k(b,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){h=0;aa=i;return h|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);h=0;aa=i;return h|0}ma[c[(c[g>>2]|0)+4>>2]&255](g);h=1;aa=i;return h|0}function tq(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;t=aa;aa=aa+112|0;q=t+92|0;g=t;p=t+56|0;e=t+28|0;s=t+16|0;r=t+4|0;o=t+52|0;n=t+48|0;if((vp(b,24)|0)==1){s=1;aa=t;return s|0}pp(e,b);if((vp(b,17)|0)==1)e=1;else{c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;zp(b,s);c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;a:do if((Aq(b,r,0)|0)==1)e=1;else{b:do if(rp(b,21)|0){f=d+76|0;e=d+80|0;if(!((((((c[e>>2]|0)-(c[f>>2]|0)>>2|0)==(c[d+48>>2]|0)?((c[d+140>>2]|0)-(c[d+136>>2]|0)>>2|0)==(c[d+52>>2]|0):0)?((c[d+164>>2]|0)-(c[d+160>>2]|0)>>2|0)==(c[d+56>>2]|0):0)?((c[d+92>>2]|0)-(c[d+88>>2]|0)>>2|0)==(c[d+60>>2]|0):0)?((c[d+68>>2]|0)-(c[d+64>>2]|0)>>2|0)==(c[d+44>>2]|0):0)){pp(p,b);c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];np(b,q,308876,g)}n=FA(152)|0;h=a[s+11>>0]|0;i=h<<24>>24<0;k=i?c[s>>2]|0:s;h=i?c[s+4>>2]|0:h&255;i=n+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[n>>2]=288472;tn(n+32|0,k,h);h=n+44|0;a[h>>0]=0;k=n+48|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;vl(k,-1,q);j=n+84|0;g=n+136|0;l=j;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[g>>2]=1065353216;c[n+140>>2]=0;c[n+144>>2]=0;c[n+148>>2]=0;l=n;if(((((vp(b,24)|0)!=1?(vp(b,21)|0)!=1:0)?($p(b,i)|0)!=1:0)?($p(b,n+16|0)|0)!=1:0)?(vp(b,34)|0)!=1:0){do if(up(b,39)|0){a[h>>0]=1;if((Ap(b,k)|0)!=1?(vp(b,34)|0)!=1:0)break;ma[c[(c[n>>2]|0)+4>>2]&255](n);e=1;break a}else a[h>>0]=0;while(0);c:do if((Bq(b,29,j,n+120|0,0)|0)!=1){g=n+96|0;if(up(b,33)|0)do{Pp(b,g);if((vp(b,34)|0)==1)break c}while(up(b,33)|0);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;a[p+11>>0]=4;c[p>>2]=1701869940;a[p+4>>0]=0;k=p+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;a[k+11>>0]=5;a[k>>0]=a[328027]|0;a[k+1>>0]=a[328028]|0;a[k+2>>0]=a[328029]|0;a[k+3>>0]=a[328030]|0;a[k+4>>0]=a[328031]|0;a[k+5>>0]=0;m=p+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;a[m+11>>0]=6;a[m>>0]=a[328056]|0;a[m+1>>0]=a[328057]|0;a[m+2>>0]=a[328058]|0;a[m+3>>0]=a[328059]|0;a[m+4>>0]=a[328060]|0;a[m+5>>0]=a[328061]|0;a[m+6>>0]=0;g=q+4|0;h=FA(36)|0;c[q>>2]=h;i=h+36|0;c[q+8>>2]=i;LA(h,p);j=h+12|0;LA(j,k);k=h+24|0;LA(k,m);c[g>>2]=i;i=(yp(b,q)|0)==1;if((a[h+35>>0]|0)<0)HA(c[k>>2]|0);if((a[h+23>>0]|0)<0)HA(c[j>>2]|0);if((a[h+11>>0]|0)<0)HA(c[h>>2]|0);c[g>>2]=h;HA(h);if(i){ma[c[(c[n>>2]|0)+4>>2]&255](n);e=1;break a}pp(q,b);g=FA(40)|0;c[g+4>>2]=0;c[g+8>>2]=0;n=g+12|0;c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];c[n+16>>2]=c[q+16>>2];c[g+32>>2]=2;c[g>>2]=288392;c[g+36>>2]=l;c[o>>2]=g;hl(d,o);g=c[o>>2]|0;c[o>>2]=0;if(!g)break b;ma[c[(c[g>>2]|0)+4>>2]&255](g);break b}while(0);ma[c[(c[n>>2]|0)+4>>2]&255](n);e=1;break a}ma[c[(c[n>>2]|0)+4>>2]&255](n);e=1;break a}else{k=FA(156)|0;g=a[s+11>>0]|0;j=g<<24>>24<0;h=j?c[s>>2]|0:s;g=j?c[s+4>>2]|0:g&255;c[k+4>>2]=0;c[k+8>>2]=0;j=k+12|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[k+32>>2]=0;c[k>>2]=288360;tn(k+36|0,h,g);g=k+48|0;a[g>>0]=0;h=k+52|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;vl(h,-1,q);j=k+88|0;e=k+140|0;l=j;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[e>>2]=1065353216;i=k+144|0;c[i>>2]=0;c[k+148>>2]=0;c[k+152>>2]=0;f=k;if(up(b,39)|0){a[g>>0]=1;if((Ap(b,h)|0)!=1?(vp(b,34)|0)!=1:0)l=38;else{e=1;l=50}}else{a[g>>0]=0;l=38}d:do if((l|0)==38){g=k+124|0;if((Bq(b,29,j,g,0)|0)!=1){e=k+100|0;if(up(b,33)|0)do{Pp(b,e);if((vp(b,34)|0)==1){e=1;l=50;break d}}while(up(b,33)|0);c[q>>2]=0;h=q+4|0;c[h>>2]=0;c[q+8>>2]=0;if((Bq(b,23,q,g,(c[k+92>>2]|0)-(c[j>>2]|0)>>2)|0)!=1?(Ek(k+112|0,q),(Dp(b,i)|0)!=1):0){c[n>>2]=f;bl(d,n);e=c[n>>2]|0;c[n>>2]=0;if(!e){e=0;f=0}else{ma[c[(c[e>>2]|0)+4>>2]&255](e);e=0;f=0}}else e=1;g=c[q>>2]|0;if(g|0){c[h>>2]=g;HA(g)}if(f)l=50}else{e=1;l=50}}while(0);if((l|0)==50)ma[c[(c[f>>2]|0)+4>>2]&255](f);if(e|0){e=1;break a}f=d+76|0;e=d+80|0}while(0);f=((c[e>>2]|0)-(c[f>>2]|0)>>2)+-1|0;e=(c[d+36>>2]|0)+12|0;c[q>>2]=c[e>>2];c[q+4>>2]=c[e+4>>2];c[q+8>>2]=c[e+8>>2];c[q+12>>2]=c[e+12>>2];c[q+16>>2]=c[e+16>>2];e=c[r>>2]|0;if(e|0)do{vl(p,f,q);xl(e+52|0,p)|0;Cl(p);e=c[e+4>>2]|0}while((e|0)!=0);rl(d,r);e=(vp(b,34)|0)==1&1}while(0);f=c[r>>2]|0;if(f|0)do{r=f;f=c[f+4>>2]|0;ma[c[(c[r>>2]|0)+4>>2]&255](r)}while((f|0)!=0);if((a[s+11>>0]|0)<0)HA(c[s>>2]|0)}s=e;aa=t;return s|0} -function sa(a){a=a|0;var b=0;b=aa;aa=aa+a|0;aa=aa+15&-16;return b|0}function ta(){return aa|0}function ua(a){a=a|0;aa=a}function va(a,b){a=a|0;b=b|0;aa=a;ba=b}function wa(){var b=0,c=0,d=0;b=FA(10)|0;a[b>>0]=0;a[b+1>>0]=1;c=b+2|0;d=c;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;c=c+4|0;a[c>>0]=0;a[c+1>>0]=0;a[c+2>>0]=0;a[c+3>>0]=0;return b|0}function xa(a){a=a|0;if(!a)return;HA(a);return}function ya(b){b=b|0;return (a[b>>0]|0)!=0|0}function za(b,c){b=b|0;c=c|0;a[b>>0]=(c|0)!=0&1;return}function Aa(b){b=b|0;return (a[b+1>>0]|0)!=0|0}function Ba(b,c){b=b|0;c=c|0;a[b+1>>0]=(c|0)!=0&1;return}function Ca(b){b=b|0;return (a[b+2>>0]|0)!=0|0}function Da(b,c){b=b|0;c=c|0;a[b+2>>0]=(c|0)!=0&1;return}function Ea(b){b=b|0;return (a[b+3>>0]|0)!=0|0}function Fa(b,c){b=b|0;c=c|0;a[b+3>>0]=(c|0)!=0&1;return}function Ga(b){b=b|0;return (a[b+4>>0]|0)!=0|0}function Ha(b,c){b=b|0;c=c|0;a[b+4>>0]=(c|0)!=0&1;return}function Ia(b){b=b|0;return (a[b+5>>0]|0)!=0|0}function Ja(b,c){b=b|0;c=c|0;a[b+5>>0]=(c|0)!=0&1;return}function Ka(b){b=b|0;return (a[b+6>>0]|0)!=0|0}function La(b,c){b=b|0;c=c|0;a[b+6>>0]=(c|0)!=0&1;return}function Ma(b){b=b|0;return (a[b+7>>0]|0)!=0|0}function Na(b,c){b=b|0;c=c|0;a[b+7>>0]=(c|0)!=0&1;return}function Oa(b){b=b|0;return (a[b+8>>0]|0)!=0|0}function Pa(b,c){b=b|0;c=c|0;a[b+8>>0]=(c|0)!=0&1;return}function Qa(b){b=b|0;return (a[b+9>>0]|0)!=0|0}function Ra(b,c){b=b|0;c=c|0;a[b+9>>0]=(c|0)!=0&1;return}function Sa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=aa;aa=aa+16|0;e=f;rt(e,a,Az(a)|0,b,d);aa=f;return c[e>>2]|0}function Ta(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;h=j+4|0;g=j;i=h;f=i+10|0;do{a[i>>0]=a[d>>0]|0;i=i+1|0;d=d+1|0}while((i|0)<(f|0));a[h+10>>0]=0;i=FA(8)|0;c[g>>2]=0;h=Ir(b,g,e,h)|0;c[i>>2]=h;c[i+4>>2]=c[g>>2];aa=j;return i|0}function Ua(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;g=j+4|0;h=j;i=g;f=i+10|0;do{a[i>>0]=a[d>>0]|0;i=i+1|0;d=d+1|0}while((i|0)<(f|0));a[g+10>>0]=0;i=FA(8)|0;c[h>>2]=0;g=Jr(b,h,e,g)|0;c[i>>2]=g;c[i+4>>2]=c[h>>2];aa=j;return i|0}function Va(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;l=aa;aa=aa+32|0;i=l;c[i+12>>2]=0;j=i+16|0;a[i+17>>0]=1;a[i+18>>0]=1;k=i;h=k+10|0;do{a[k>>0]=a[f>>0]|0;k=k+1|0;f=f+1|0}while((k|0)<(h|0));a[j>>0]=(e|0)!=0&1;k=FA(8)|0;j=FA(376)|0;aC(j|0,0,212)|0;c[j+212>>2]=1065353216;e=j+216|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+232>>2]=1065353216;e=j+236|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+252>>2]=1065353216;e=j+256|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+272>>2]=1065353216;e=j+276|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+292>>2]=1065353216;e=j+296|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+312>>2]=1065353216;e=j+316|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+332>>2]=1065353216;e=j+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+352>>2]=1065353216;e=j+356|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+372>>2]=1065353216;d=Nc(291524,b,d,i,g,j)|0;c[k>>2]=d;c[k+4>>2]=j;aa=l;return k|0}function Wa(a,b){a=a|0;b=b|0;return em(a,b)|0}function Xa(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;f=h;g=f;e=g+10|0;do{a[g>>0]=a[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(e|0));g=lp(b,d,f)|0;aa=h;return g|0}function Ya(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;f=h;g=f;e=g+10|0;do{a[g>>0]=a[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(e|0));g=yn(b,d,f)|0;aa=h;return g|0}function Za(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;v=aa;aa=aa+112|0;q=v+80|0;p=v+64|0;u=v+44|0;k=v+88|0;t=v+32|0;n=v+12|0;o=v;pn(u,0);j=(f|0)!=0;l=j?u:0;a[k>>0]=0;a[k+1>>0]=1;r=k+2|0;s=r;a[s>>0]=0;a[s+1>>0]=0;a[s+2>>0]=0;a[s+3>>0]=0;r=r+4|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;a[k+10>>0]=(g|0)!=0&1;a[k+11>>0]=(h|0)!=0&1;a[k+12>>0]=(i|0)!=0&1;c[t>>2]=0;r=t+4|0;c[r>>2]=0;c[t+8>>2]=0;pn(n,l);s=(e|0)==0?d:e;Jj(q,s,Az(s)|0);tn(o,c[q>>2]|0,c[q+4>>2]|0);s=FA(24)|0;f=s+4|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;h=Az(d)|0;m=o+11|0;e=a[m>>0]|0;i=e<<24>>24<0;l=lj(n,b,d,h,i?c[o>>2]|0:o,i?c[o+4>>2]|0:e&255,k,t,l)|0;c[s>>2]=l;if(!l){qn(q,n);l=c[q>>2]|0;c[q>>2]=0;c[f>>2]=l;c[q>>2]=0;if(j){qn(q,u);f=c[q>>2]|0}else{c[q>>2]=0;f=0}c[q>>2]=0;c[s+8>>2]=f;c[q>>2]=0;f=c[t>>2]|0;i=c[r>>2]|0;k=s+12|0;if((f|0)!=(i|0)){l=p+12|0;e=s+16|0;d=s+20|0;b=p+12|0;j=p+11|0;do{qn(q,c[f+12>>2]|0);LA(p,f);c[l>>2]=c[q>>2];g=c[e>>2]|0;if(g>>>0<(c[d>>2]|0)>>>0){c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;h=c[l>>2]|0;c[l>>2]=0;c[g+12>>2]=h;c[e>>2]=g+16}else zb(k,p);g=c[b>>2]|0;c[b>>2]=0;if(g|0){h=c[g>>2]|0;if(h|0){c[g+4>>2]=h;HA(h)}HA(g)}if((a[j>>0]|0)<0)HA(c[p>>2]|0);f=f+16|0}while((f|0)!=(i|0))}}if((a[m>>0]|0)<0)HA(c[o>>2]|0);c[n>>2]=289156;q=n+16|0;f=c[q>>2]|0;c[q>>2]=0;if(f|0){g=c[f>>2]|0;if(g|0){c[f+4>>2]=g;HA(g)}HA(f)}h=c[t>>2]|0;if(h|0){f=c[r>>2]|0;if((f|0)==(h|0))f=h;else{do{q=f+-4|0;f=f+-16|0;g=c[q>>2]|0;c[q>>2]=0;if(g|0)ma[c[(c[g>>2]|0)+4>>2]&255](g);if((a[f+11>>0]|0)<0)HA(c[f>>2]|0)}while((f|0)!=(h|0));f=c[t>>2]|0}c[r>>2]=h;HA(f)}c[u>>2]=289156;u=u+16|0;f=c[u>>2]|0;c[u>>2]=0;if(!f){aa=v;return s|0}g=c[f>>2]|0;if(g|0){c[f+4>>2]=g;HA(g)}HA(f);aa=v;return s|0}function _a(a){a=a|0;return Ab(a)|0}function $a(a){a=a|0;Lj(a);return 0}function ab(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;k=aa;aa=aa+64|0;j=k+24|0;l=k+44|0;i=k+4|0;h=k;pn(j,0);a[l>>0]=0;a[l+1>>0]=1;m=l+2|0;n=m;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;m=m+4|0;a[m>>0]=0;a[m+1>>0]=0;a[m+2>>0]=0;a[m+3>>0]=0;a[l+10>>0]=(e|0)!=0&1;a[l+11>>0]=(f|0)!=0&1;a[l+12>>0]=(g|0)!=0&1;d=(d|0)!=0;pn(i,d?j:0);g=FA(12)|0;f=g+8|0;e=g+4|0;m=e;c[m>>2]=0;c[m+4>>2]=0;b=Ui(i,b,l)|0;c[g>>2]=b;if(!b){qn(h,i);c[e>>2]=c[h>>2];if(d){qn(h,j);e=c[h>>2]|0}else{c[h>>2]=0;e=0}c[f>>2]=e}c[i>>2]=289156;n=i+16|0;e=c[n>>2]|0;c[n>>2]=0;if(e|0){d=c[e>>2]|0;if(d|0){c[e+4>>2]=d;HA(d)}HA(e)}c[j>>2]=289156;n=j+16|0;e=c[n>>2]|0;c[n>>2]=0;if(!e){aa=k;return g|0}d=c[e>>2]|0;if(d|0){c[e+4>>2]=d;HA(d)}HA(e);aa=k;return g|0}function bb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=aa;aa=aa+32|0;j=i+24|0;h=i+4|0;g=i;a[j+2>>0]=0;a[j>>0]=(d|0)!=0&1;a[j+1>>0]=(e|0)!=0&1;pn(h,0);f=FA(12)|0;d=f+4|0;e=d;c[e>>2]=0;c[e+4>>2]=0;b=Kr(h,b,j)|0;c[f>>2]=b;if(!b){qn(g,h);c[d>>2]=c[g>>2]}c[h>>2]=289156;j=h+16|0;d=c[j>>2]|0;c[j>>2]=0;if(!d){aa=i;return f|0}e=c[d>>2]|0;if(e|0){c[d+4>>2]=e;HA(e)}HA(d);aa=i;return f|0}function cb(a){a=a|0;if(!a)return;db(a);HA(a);return}function db(b){b=b|0;var d=0,e=0,f=0;d=c[b+364>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+356|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+344>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+336|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+324>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+316|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+304>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+296|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+284>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+276|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+264>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+256|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+244>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+236|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+224>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+216|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+204>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+196|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+184>>2]|0;if(d|0){c[b+188>>2]=d;HA(d)}d=c[b+172>>2]|0;if(d|0){c[b+176>>2]=d;HA(d)}d=c[b+160>>2]|0;if(d|0){c[b+164>>2]=d;HA(d)}d=c[b+148>>2]|0;if(d|0){c[b+152>>2]=d;HA(d)}d=c[b+136>>2]|0;if(d|0){c[b+140>>2]=d;HA(d)}d=c[b+124>>2]|0;if(d|0){c[b+128>>2]=d;HA(d)}d=c[b+112>>2]|0;if(d|0){c[b+116>>2]=d;HA(d)}d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}d=c[b+76>>2]|0;if(d|0){c[b+80>>2]=d;HA(d)}d=c[b+64>>2]|0;if(d|0){c[b+68>>2]=d;HA(d)}e=b+32|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+36>>2]=0;c[e>>2]=0;c[b+40>>2]=0;d=b+20|0;if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function eb(a){a=a|0;if(!a)return;qt(a);HA(a);return}function fb(){var a=0;a=FA(12)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return a|0}function gb(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;t=aa;aa=aa+48|0;r=t+24|0;e=t+16|0;f=t;s=c[d>>2]|0;na[c[(c[s>>2]|0)+8>>2]&31](e,s);s=FA(24)|0;d=c[e>>2]|0;c[e>>2]=0;c[r>>2]=d;Tl(s,r);d=c[r>>2]|0;c[r>>2]=0;if(d|0)ma[c[(c[d>>2]|0)+4>>2]&255](d);d=c[e>>2]|0;c[e>>2]=0;if(d|0)ma[c[(c[d>>2]|0)+4>>2]&255](d);wj(e,0,0);c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;yj(r,c[b>>2]|0,c[b+4>>2]|0,0,s,e,f);p=FA(12)|0;l=p+4|0;m=p+8|0;o=r+11|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;d=a[o>>0]|0;k=d<<24>>24<0;b=k?c[r>>2]|0:r;k=k?c[r+4>>2]|0:d&255;n=b+k|0;do if(k){d=0;f=0;e=0;while(1){i=a[b>>0]|0;g=f;if(d>>>0>=f>>>0){k=d-e|0;d=k+1|0;j=e;if((d|0)<0){d=10;break}g=g-e|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<d>>>0?d:h):2147483647;if(!h)g=0;else g=FA(h)|0;d=g+k|0;a[d>>0]=i;d=d+1|0;f=g;if((k|0)>0)_B(g|0,j|0,k|0)|0;c[p>>2]=f;c[l>>2]=d;c[m>>2]=g+h;if(!e)e=f;else{HA(j);e=f}}else{a[d>>0]=i;d=d+1|0;c[l>>2]=d}b=b+1|0;if((b|0)==(n|0)){d=19;break}f=c[m>>2]|0}if((d|0)==10)oB();else if((d|0)==19){q=a[o>>0]|0;break}}else q=d;while(0);if(q<<24>>24<0)HA(c[r>>2]|0);d=c[s+4>>2]|0;if(d|0){c[s+8>>2]=d;HA(d)}d=c[s>>2]|0;c[s>>2]=0;if(!d){HA(s);aa=t;return p|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);HA(s);aa=t;return p|0}function hb(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;s=aa;aa=aa+48|0;r=s+24|0;l=s+16|0;p=s;wj(l,0,0);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;yj(r,c[b>>2]|0,c[b+4>>2]|0,1,0,l,p);p=FA(12)|0;l=p+4|0;m=p+8|0;o=r+11|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;b=a[o>>0]|0;k=b<<24>>24<0;d=k?c[r>>2]|0:r;k=k?c[r+4>>2]|0:b&255;n=d+k|0;do if(k){b=0;f=0;k=0;while(1){h=a[d>>0]|0;e=f;if(b>>>0>=f>>>0){j=b-k|0;b=j+1|0;i=k;if((b|0)<0){b=6;break}f=e-k|0;g=f<<1;g=f>>>0<1073741823?(g>>>0<b>>>0?b:g):2147483647;if(!g)f=0;else f=FA(g)|0;b=f+j|0;a[b>>0]=h;b=b+1|0;e=f;if((j|0)>0)_B(f|0,i|0,j|0)|0;c[p>>2]=e;c[l>>2]=b;c[m>>2]=f+g;if(k)HA(i)}else{a[b>>0]=h;b=b+1|0;c[l>>2]=b;e=k}d=d+1|0;if((d|0)==(n|0)){b=15;break}f=c[m>>2]|0;k=e}if((b|0)==6)oB();else if((b|0)==15){q=a[o>>0]|0;break}}else q=b;while(0);if(q<<24>>24>=0){aa=s;return p|0}HA(c[r>>2]|0);aa=s;return p|0}function ib(b){b=b|0;var d=0,e=0,f=0,g=0;if(!b)return;f=c[b>>2]|0;if(f|0){g=b+4|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{e=d+-12|0;d=d+-36|0;if((a[e+11>>0]|0)<0)HA(c[e>>2]|0)}while((d|0)!=(f|0));d=c[b>>2]|0}c[g>>2]=f;HA(d)}HA(b);return}function jb(a){a=a|0;return c[a>>2]|0}function kb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function lb(a){a=a|0;var b=0,d=0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){db(b);HA(b)}HA(a);return}function mb(a){a=a|0;return c[a>>2]|0}function nb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function ob(a){a=a|0;return c[a>>2]|0}function pb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function qb(a){a=a|0;var b=0,d=0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){db(b);HA(b)}HA(a);return}function rb(a){a=a|0;return c[a>>2]|0}function sb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function tb(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function ub(a){a=a|0;var b=0,d=0;if(!a)return;d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){d=c[b>>2]|0;if(d|0){c[b+4>>2]=d;HA(d)}HA(b)}d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){d=c[b>>2]|0;if(d|0){c[b+4>>2]=d;HA(d)}HA(b)}HA(a);return}function vb(a){a=a|0;return c[a>>2]|0}function wb(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)|0}function xb(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0){c[a+4>>2]=b;HA(b)}HA(a);return}function yb(){return}function zb(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;l=b+4|0;e=c[b>>2]|0;k=(c[l>>2]|0)-e>>4;f=k+1|0;if(f>>>0>268435455)oB();m=b+8|0;j=(c[m>>2]|0)-e|0;e=j>>3;e=j>>4>>>0<134217727?(e>>>0<f>>>0?f:e):268435455;do if(e)if(e>>>0>268435455)U();else{h=FA(e<<4)|0;break}else h=0;while(0);f=h+(k<<4)|0;j=h+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;e=d+12|0;i=c[e>>2]|0;c[e>>2]=0;c[h+(k<<4)+12>>2]=i;i=f+16|0;e=c[b>>2]|0;g=e;d=c[l>>2]|0;if((d|0)==(e|0))h=g;else{g=(d+-16-g|0)>>>4;do{n=f;f=f+-16|0;p=d;d=d+-16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;p=p+-4|0;o=c[p>>2]|0;c[p>>2]=0;c[n+-4>>2]=o}while((d|0)!=(e|0));f=h+(k+-1-g<<4)|0;h=c[b>>2]|0;e=c[l>>2]|0}c[b>>2]=f;c[l>>2]=i;c[m>>2]=j;g=h;if((e|0)!=(g|0))do{p=e+-4|0;e=e+-16|0;f=c[p>>2]|0;c[p>>2]=0;if(f|0){d=c[f>>2]|0;if(d|0){c[f+4>>2]=d;HA(d)}HA(f)}if((a[e+11>>0]|0)<0)HA(c[e>>2]|0)}while((e|0)!=(g|0));if(!h)return;HA(h);return}function Ab(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=aa;aa=aa+80|0;r=u;c[r>>2]=286320;s=r+4|0;c[s>>2]=0;k=r+8|0;c[k>>2]=0;t=r+12|0;Aj(t,r);l=r+52|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[s>>2]=b;l=b+76|0;j=b+80|0;d=c[l>>2]|0;a:do if((c[j>>2]|0)!=(d|0)){m=r+52|0;i=0;while(1){d=c[d+(i<<2)>>2]|0;c[k>>2]=d;if(a[d+12>>0]|0){h=d+16|0;e=Sk(c[s>>2]|0,h)|0;if(!e){d=1;e=48;break}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+36>>2]|0)==1))Bl(h,g?c[e>>2]|0:e,f)}h=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;tl(h+(Fk(c[d+76>>2]|0,c[d+80>>2]|0)|0)|0,d+88|0,m);if((Ij(t,d)|0)==1){d=1;e=48;break}c[k>>2]=0;i=i+1|0;d=c[l>>2]|0;if(i>>>0>=(c[j>>2]|0)-d>>2>>>0)break a}if((e|0)==48){Bb(r);aa=u;return d|0}}while(0);g=b+88|0;f=b+92|0;d=c[g>>2]|0;b:do if((c[f>>2]|0)!=(d|0)){e=0;while(1){if((Hj(t,(c[d+(e<<2)>>2]|0)+20|0)|0)==1){d=1;break}e=e+1|0;d=c[g>>2]|0;if(e>>>0>=(c[f>>2]|0)-d>>2>>>0)break b}Bb(r);aa=u;return d|0}while(0);m=b+64|0;l=b+68|0;e=c[l>>2]|0;d=c[m>>2]|0;c:do if((e|0)!=(d|0)){k=0;while(1){f=c[d+(k<<2)>>2]|0;if(a[f+12>>0]|0){j=f+16|0;g=Sk(c[s>>2]|0,j)|0;if(!g){d=1;break}h=a[g+11>>0]|0;i=h<<24>>24<0;h=i?c[g+4>>2]|0:h&255;if(!((h|0)==0?1:(c[f+36>>2]|0)==1)){Bl(j,i?c[g>>2]|0:g,h);e=c[l>>2]|0;d=c[m>>2]|0}}k=k+1|0;if(k>>>0>=e-d>>2>>>0)break c}Bb(r);aa=u;return d|0}while(0);i=b+112|0;h=b+116|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){g=0;do{f=c[d+(g<<2)>>2]|0;if(((c[f+12>>2]|0)==0?(q=f+16|0,n=Jk(c[s>>2]|0,q)|0,(n|0)!=0):0)?(o=a[n+11>>0]|0,p=o<<24>>24<0,o=p?c[n+4>>2]|0:o&255,!((o|0)==0?1:(c[f+36>>2]|0)==1)):0){Bl(q,p?c[n>>2]|0:n,o);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}k=b+148|0;j=b+152|0;d=c[k>>2]|0;d:do if((c[j>>2]|0)!=(d|0)){i=0;e:while(1){h=c[d+(i<<2)>>2]|0;f=h+12|0;d=Mk(c[s>>2]|0,f)|0;if(!d){d=1;e=48;break}e=a[d+11>>0]|0;g=e<<24>>24<0;e=g?c[d+4>>2]|0:e&255;if(!((e|0)==0?1:(c[h+32>>2]|0)==1))Bl(f,g?c[d>>2]|0:d,e);if((Hj(t,h+52|0)|0)==1){d=1;e=48;break}d=c[h+64>>2]|0;h=c[h+68>>2]|0;if((d|0)!=(h|0))do{e=Jk(c[s>>2]|0,d)|0;if(!e){d=1;e=48;break e}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+20>>2]|0)==1))Bl(d,g?c[e>>2]|0:e,f);d=d+36|0}while((d|0)!=(h|0));i=i+1|0;d=c[k>>2]|0;if(i>>>0>=(c[j>>2]|0)-d>>2>>>0)break d}if((e|0)==48){Bb(r);aa=u;return d|0}}while(0);k=b+172|0;j=b+176|0;d=c[k>>2]|0;f:do if((c[j>>2]|0)!=(d|0)){i=0;while(1){d=c[d+(i<<2)>>2]|0;g=d+12|0;e=Nk(c[s>>2]|0,g)|0;if(!e){d=1;e=48;break}f=a[e+11>>0]|0;h=f<<24>>24<0;f=h?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+32>>2]|0)==1))Bl(g,h?c[e>>2]|0:e,f);i=i+1|0;if((Hj(t,d+52|0)|0)==1){d=1;e=48;break}d=c[k>>2]|0;if(i>>>0>=(c[j>>2]|0)-d>>2>>>0)break f}if((e|0)==48){Bb(r);aa=u;return d|0}}while(0);c[s>>2]=0;t=0;Bb(r);aa=u;return t|0}function Bb(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=286320;e=b+64|0;f=c[e>>2]|0;if(f|0){g=b+68|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;HA(d)}e=b+52|0;f=c[e>>2]|0;if(f|0){g=b+56|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;HA(d)}d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;HA(d)}d=c[b+28>>2]|0;if(d|0){c[b+32>>2]=d;HA(d)}d=c[b+16>>2]|0;if(!d)return;c[b+20>>2]=d;HA(d);return}function Cb(a){a=a|0;Bb(a);HA(a);return}function Db(a,b){a=a|0;b=b|0;return 0}function Eb(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+36|0;d=a+68|0;b=c[d>>2]|0;if((b|0)==(c[a+72>>2]|0)){Kc(a+64|0,e);return 0}else{LA(b,e);c[d>>2]=(c[d>>2]|0)+12;return 0}return 0}function Fb(b,d){b=b|0;d=d|0;d=b+68|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}HA(c[b>>2]|0);c[d>>2]=b;return 0}function Gb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=aa;aa=aa+16|0;d=f;e=b+36|0;Mc(d,a,e);a=c[d+4>>2]|0;if((a|0)==0?1:(c[b+56>>2]|0)==1){aa=f;return 0}Bl(e,c[d>>2]|0,a);aa=f;return 0}function Hb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=aa;aa=aa+16|0;d=f;e=b+36|0;Mc(d,a,e);a=c[d+4>>2]|0;if((a|0)==0?1:(c[b+56>>2]|0)==1){aa=f;return 0}Bl(e,c[d>>2]|0,a);aa=f;return 0}function Ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;g=d+36|0;Mc(f,b,g);e=c[f+4>>2]|0;if(!((e|0)==0?1:(c[d+56>>2]|0)==1))Bl(g,c[f>>2]|0,e);h=d+72|0;e=Ok(c[b+4>>2]|0,h)|0;if(!e){d=1;aa=i;return d|0}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if((f|0)==0?1:(c[d+92>>2]|0)==1){d=0;aa=i;return d|0}Bl(h,g?c[e>>2]|0:e,f);d=0;aa=i;return d|0}function Jb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;d=c[b+36>>2]|0;f=c[b+40>>2]|0;if((d|0)!=(f|0)){g=h+4|0;do{Mc(h,a,d);e=c[g>>2]|0;if(!((e|0)==0?1:(c[d+20>>2]|0)==1))Bl(d,c[h>>2]|0,e);d=d+36|0}while((d|0)!=(f|0))}e=b+48|0;Mc(h,a,e);d=c[h+4>>2]|0;if((d|0)==0?1:(c[b+68>>2]|0)==1){aa=i;return 0}Bl(e,c[h>>2]|0,d);aa=i;return 0}function Kb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Jk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function Lb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(a[d+36>>0]|0){h=d+40|0;b=b+4|0;e=Sk(c[b>>2]|0,h)|0;if(!e){d=1;return d|0}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+60>>2]|0)==1))Bl(h,g?c[e>>2]|0:e,f)}else b=b+4|0;g=d+100|0;b=Mk(c[b>>2]|0,g)|0;if(!b){d=1;return d|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+120>>2]|0)==1){d=0;return d|0}Bl(g,f?c[b>>2]|0:b,e);d=0;return d|0}function Mb(a,b){a=a|0;b=b|0;return 0}function Nb(a,b){a=a|0;b=b|0;return 0}function Ob(a,b){a=a|0;b=b|0;return 0}function Pb(a,b){a=a|0;b=b|0;return 0}function Qb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Lk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function Rb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Lk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function Sb(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+36|0;d=a+68|0;b=c[d>>2]|0;if((b|0)==(c[a+72>>2]|0)){Kc(a+64|0,e);return 0}else{LA(b,e);c[d>>2]=(c[d>>2]|0)+12;return 0}return 0}function Tb(a,b){a=a|0;b=b|0;return 0}function Ub(b,d){b=b|0;d=d|0;d=b+68|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}HA(c[b>>2]|0);c[d>>2]=b;return 0}function Vb(a,b){a=a|0;b=b|0;return 0}function Wb(a,b){a=a|0;b=b|0;return (Lc(a,c[a+8>>2]|0,b+36|0)|0)==1|0}function Xb(a,b){a=a|0;b=b|0;return (Lc(a,c[a+8>>2]|0,b+36|0)|0)==1|0}function Yb(a,b){a=a|0;b=b|0;return (Lc(a,c[a+8>>2]|0,b+36|0)|0)==1|0}function Zb(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+36|0;d=a+68|0;b=c[d>>2]|0;if((b|0)==(c[a+72>>2]|0)){Kc(a+64|0,e);return 0}else{LA(b,e);c[d>>2]=(c[d>>2]|0)+12;return 0}return 0}function _b(b,d){b=b|0;d=d|0;d=b+68|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}HA(c[b>>2]|0);c[d>>2]=b;return 0}function $b(a,b){a=a|0;b=b|0;return 0}function ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Pk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function bc(a,b){a=a|0;b=b|0;return 0}function cc(a,b){a=a|0;b=b|0;return 0}function dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Pk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function ec(a,b){a=a|0;b=b|0;return 0}function fc(a,b){a=a|0;b=b|0;return 0}function gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Qk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Qk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Mk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Mk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Mk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Mk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function mc(a,b){a=a|0;b=b|0;return 0}function nc(a,b){a=a|0;b=b|0;return 0}function oc(a,b){a=a|0;b=b|0;return 0}function pc(a,b){a=a|0;b=b|0;return 0}function qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Jk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(a[d+36>>0]|0){h=d+40|0;b=b+4|0;e=Sk(c[b>>2]|0,h)|0;if(!e){d=1;return d|0}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+60>>2]|0)==1))Bl(h,g?c[e>>2]|0:e,f)}else b=b+4|0;g=d+100|0;b=Mk(c[b>>2]|0,g)|0;if(!b){d=1;return d|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+120>>2]|0)==1){d=0;return d|0}Bl(g,f?c[b>>2]|0:b,e);d=0;return d|0}function sc(a,b){a=a|0;b=b|0;return 0}function tc(a,b){a=a|0;b=b|0;return 0}function uc(a,b){a=a|0;b=b|0;return 0}function vc(a,b){a=a|0;b=b|0;return 0}function wc(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+36|0;d=a+68|0;b=c[d>>2]|0;if((b|0)==(c[a+72>>2]|0)){Kc(a+64|0,e);return 0}else{LA(b,e);c[d>>2]=(c[d>>2]|0)+12;return 0}return 0}function xc(a,b){a=a|0;b=b|0;return 0}function yc(b,d){b=b|0;d=d|0;d=b+68|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}HA(c[b>>2]|0);c[d>>2]=b;return 0}function zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Ok(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Bl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function Ac(a,b){a=a|0;b=b|0;return 0}function Bc(a,b){a=a|0;b=b|0;return 0}function Cc(a,b){a=a|0;b=b|0;return 0}function Dc(a,b){a=a|0;b=b|0;return 0}function Ec(a,b){a=a|0;b=b|0;return 0}function Fc(a,b){a=a|0;b=b|0;return 0}function Gc(a,b){a=a|0;b=b|0;return 0}function Hc(a,b){a=a|0;b=b|0;return 0}function Ic(a,b){a=a|0;b=b|0;return 0}function Jc(a,b){a=a|0;b=b|0;return 0}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b+4|0;e=c[b>>2]|0;g=((c[j>>2]|0)-e|0)/12|0;f=g+1|0;if(f>>>0>357913941)oB();k=b+8|0;i=((c[k>>2]|0)-e|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0<f>>>0?f:e):357913941;do if(e)if(e>>>0>357913941)U();else{h=FA(e*12|0)|0;break}else h=0;while(0);f=h+(g*12|0)|0;i=h+(e*12|0)|0;LA(f,d);d=f+12|0;h=c[b>>2]|0;e=c[j>>2]|0;if((e|0)==(h|0)){g=h;e=h}else{do{f=f+-12|0;e=e+-12|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}while((e|0)!=(h|0));g=c[b>>2]|0;e=c[j>>2]|0}c[b>>2]=f;c[j>>2]=d;c[k>>2]=i;f=g;if((e|0)!=(f|0))do{e=e+-12|0;if((a[e+11>>0]|0)<0)HA(c[e>>2]|0)}while((e|0)!=(f|0));if(!g)return;HA(g);return}function Lc(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=aa;aa=aa+16|0;h=j;f=Hk(d,e)|0;k=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;if(f>>>0>=(k+(Fk(c[d+76>>2]|0,c[d+80>>2]|0)|0)|0)>>>0){k=1;aa=j;return k|0}LA(h,(c[b+52>>2]|0)+(f*12|0)|0);f=h+11|0;if((c[e+20>>2]|0)!=1?(g=a[f>>0]|0,i=g<<24>>24<0,g=i?c[h+4>>2]|0:g&255,g|0):0)Bl(e,i?c[h>>2]|0:h,g);if((a[f>>0]|0)<0)HA(c[h>>2]|0);k=0;aa=j;return k|0}function Mc(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;if((c[e+20>>2]|0)!=1){f=c[e+24>>2]|0;o=c[d+64>>2]|0;e=((c[d+68>>2]|0)-o|0)/12|0;d=o;if(f>>>0<e>>>0){n=e+~f|0;l=d+(n*12|0)|0;o=a[l+11>>0]|0;m=o<<24>>24<0;c[b>>2]=m?c[l>>2]|0:l;c[b+4>>2]=m?c[d+(n*12|0)+4>>2]|0:o&255;return}else{c[b>>2]=0;c[b+4>>2]=0;return}}n=c[d+64>>2]|0;o=(c[d+68>>2]|0)-n|0;f=((o|0)/12|0)+-1|0;a:do if((o|0)>0){o=e+24|0;d=a[o+11>>0]|0;l=d<<24>>24<0;d=l?c[e+28>>2]|0:d&255;m=(d|0)==0;b:do if(l)while(1){l=n+(f*12|0)|0;g=a[l+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?c[n+(f*12|0)+4>>2]|0:g)|0)==(d|0)){e=c[l>>2]|0;i=j?e:l;k=c[o>>2]|0;h=e&255;if(j){if(m){d=0;break b}if(!(zz(i,k,d)|0))break b;else break}if(m){e=l;d=0;break b}if((a[k>>0]|0)==h<<24>>24){h=l;e=k;do{g=g+-1|0;h=h+1|0;if(!g){e=l;break b}e=e+1|0}while((a[h>>0]|0)==(a[e>>0]|0))}}while(0);f=f+-1|0;if((f|0)<=-1)break a}else while(1){k=n+(f*12|0)|0;i=a[k+11>>0]|0;j=i<<24>>24<0;i=i&255;do if(((j?c[n+(f*12|0)+4>>2]|0:i)|0)==(d|0)){e=c[k>>2]|0;h=j?e:k;g=e&255;if(j){if(m){d=0;break b}if(!(zz(h,o,d)|0))break b;else break}if(m){e=k;d=0;break b}if((a[o>>0]|0)==g<<24>>24){e=i;g=k;h=o;do{e=e+-1|0;g=g+1|0;if(!e){e=k;break b}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);f=f+-1|0;if((f|0)<=-1)break a}while(0);c[b>>2]=e;c[b+4>>2]=d;return}while(0);c[b>>2]=0;c[b+4>>2]=0;return}function Nc(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=aa;aa=aa+48|0;h=i;c[h+4>>2]=0;c[h>>2]=286580;c[h+8>>2]=f;c[h+12>>2]=g;f=h+16|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[h+36>>2]=a;f=wt(b,d,h,e)|0;c[h>>2]=286580;b=c[h+20>>2]|0;if(!b){aa=i;return f|0}c[h+24>>2]=b;HA(b);aa=i;return f|0}function Oc(a){a=a|0;var b=0;c[a>>2]=286580;b=c[a+20>>2]|0;if(!b)return;c[a+24>>2]=b;HA(b);return}function Pc(a){a=a|0;var b=0;c[a>>2]=286580;b=c[a+20>>2]|0;if(!b){HA(a);return}c[a+24>>2]=b;HA(b);HA(a);return}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0;a=c[a+8>>2]|0;e=a+4|0;d=c[e>>2]|0;if((d|0)==(c[a+8>>2]|0)){Ri(a,b);return 1}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];LA(d+24|0,b+24|0);c[e>>2]=(c[e>>2]|0)+36;return 1}return 0}function Rc(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Sc(a,b){a=a|0;b=b|0;return 0}function Tc(a){a=a|0;return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Wc(a){a=a|0;return 0}function Xc(a,b){a=a|0;b=b|0;return 0}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+124|0;g=a+132|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+128|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=FA(b<<2)|0;if((e|0)>0)_B(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;HA(f);return 0}function Zc(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;h=aa;aa=aa+16|0;i=h;l=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;k=Az(l)|0;j=FA(72)|0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=l;c[j+16>>2]=k;c[j+20>>2]=b;b=j+24|0;c[b>>2]=0;c[b+4>>2]=0;c[j+32>>2]=4;c[j>>2]=288488;tn(j+36|0,0,0);b=j+48|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;ug(b,e,e+(d<<2)|0);ug(j+60|0,g,g+(f<<2)|0);b=c[a+12>>2]|0;c[i>>2]=j;dl(b,i);b=c[i>>2]|0;c[i>>2]=0;if(!b){aa=h;return 0}ma[c[(c[b>>2]|0)+4>>2]&255](b);aa=h;return 0}function _c(a){a=a|0;return 0}function $c(a,b){a=a|0;b=b|0;return 0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+100|0;g=a+108|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+104|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=FA(b<<2)|0;if((e|0)>0)_B(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;HA(f);return 0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function cd(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,q=0,r=0;r=aa;aa=aa+64|0;l=r+24|0;m=r;q=r+20|0;p=FA(152)|0;j=p+4|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;c[j+24>>2]=0;c[p>>2]=288472;tn(p+32|0,0,0);k=p+44|0;a[k>>0]=0;n=p+48|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;vl(n,-1,l);o=p+84|0;g=p+136|0;d=o;i=d+52|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(i|0));c[g>>2]=1065353216;c[p+140>>2]=0;c[p+144>>2]=0;c[p+148>>2]=0;tn(l,c[e>>2]|0,c[e+4>>2]|0);g=p+15|0;if((a[g>>0]|0)<0){a[c[j>>2]>>0]=0;c[p+8>>2]=0}else{a[j>>0]=0;a[g>>0]=0}YA(j);c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];tn(l,c[f>>2]|0,c[f+4>>2]|0);d=p+16|0;g=p+27|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[p+20>>2]=0}else{a[d>>0]=0;a[g>>0]=0}YA(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];e=b+4|0;j=c[e>>2]|0;f=b+36|0;d=c[f>>2]|0;a[k>>0]=1;j=c[j+8>>2]|0;g=m+12|0;c[g>>2]=0;c[g+4>>2]=0;g=Az(d)|0;c[m>>2]=d;c[m+4>>2]=g;c[m+8>>2]=j;vl(l,h,m);xl(n,l)|0;Cl(l);j=b+12|0;g=c[j>>2]|0;d=c[(c[g+124>>2]|0)+(h<<2)>>2]|0;i=d+12|0;if((i|0)!=(o|0)){ug(o,c[i>>2]|0,c[d+16>>2]|0);ug(p+96|0,c[d+24>>2]|0,c[d+28>>2]|0);g=c[j>>2]|0}n=c[f>>2]|0;o=c[(c[e>>2]|0)+8>>2]|0;b=Az(n)|0;h=FA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=n;c[h+16>>2]=b;c[h+20>>2]=o;o=h+24|0;c[o>>2]=0;c[o+4>>2]=0;c[h+32>>2]=2;c[h>>2]=288392;c[h+36>>2]=p;c[q>>2]=h;hl(g,q);g=c[q>>2]|0;c[q>>2]=0;if(!g){aa=r;return 0}ma[c[(c[g>>2]|0)+4>>2]&255](g);aa=r;return 0}function dd(d,e,f,g,h,i,j){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=aa;aa=aa+16|0;l=n+4|0;m=n;h=FA(80)|0;e=h+4|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[h+28>>2]=1;c[h>>2]=288456;tn(h+32|0,0,0);k=h+48|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k+16>>1]=0;c[h+72>>2]=-16;tn(l,c[f>>2]|0,c[f+4>>2]|0);i=h+15|0;if((a[i>>0]|0)<0){a[c[e>>2]>>0]=0;c[h+8>>2]=0}else{a[e>>0]=0;a[i>>0]=0}YA(e);c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];tn(l,c[g>>2]|0,c[g+4>>2]|0);e=h+16|0;i=h+27|0;if((a[i>>0]|0)<0){a[c[e>>2]>>0]=0;c[h+20>>2]=0}else{a[e>>0]=0;a[i>>0]=0}YA(e);c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];i=c[d+12>>2]|0;g=c[d+4>>2]|0;l=c[d+36>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];b[k+16>>1]=b[j+16>>1]|0;j=c[g+8>>2]|0;g=Az(l)|0;d=FA(40)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=l;c[d+16>>2]=g;c[d+20>>2]=j;j=d+24|0;c[j>>2]=0;c[j+4>>2]=0;c[d+32>>2]=2;c[d>>2]=288392;c[d+36>>2]=h;c[m>>2]=d;hl(i,m);i=c[m>>2]|0;c[m>>2]=0;if(!i){aa=n;return 0}ma[c[(c[i>>2]|0)+4>>2]&255](i);aa=n;return 0}function ed(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;n=aa;aa=aa+16|0;l=n+4|0;m=n;j=FA(72)|0;h=j+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[j+28>>2]=2;c[j>>2]=288440;tn(j+32|0,0,0);k=j+48|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k+16>>1]=0;tn(l,c[f>>2]|0,c[f+4>>2]|0);e=j+15|0;if((a[e>>0]|0)<0){a[c[h>>2]>>0]=0;c[j+8>>2]=0}else{a[h>>0]=0;a[e>>0]=0}YA(h);c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];tn(l,c[g>>2]|0,c[g+4>>2]|0);h=j+16|0;e=j+27|0;if((a[e>>0]|0)<0){a[c[h>>2]>>0]=0;c[j+20>>2]=0}else{a[h>>0]=0;a[e>>0]=0}YA(h);c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];e=c[d+12>>2]|0;l=c[d+4>>2]|0;g=c[d+36>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];b[k+16>>1]=b[i+16>>1]|0;i=c[l+8>>2]|0;l=Az(g)|0;d=FA(40)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=g;c[d+16>>2]=l;c[d+20>>2]=i;i=d+24|0;c[i>>2]=0;c[i+4>>2]=0;c[d+32>>2]=2;c[d>>2]=288392;c[d+36>>2]=j;c[m>>2]=d;hl(e,m);e=c[m>>2]|0;c[m>>2]=0;if(!e){aa=n;return 0}ma[c[(c[e>>2]|0)+4>>2]&255](e);aa=n;return 0}function fd(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;o=aa;aa=aa+16|0;l=o+4|0;n=o;k=FA(64)|0;d=k+4|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;c[k+28>>2]=3;c[k>>2]=288424;tn(k+32|0,0,0);m=k+44|0;c[m>>2]=-64;j=k+48|0;a[j>>0]=0;c[k+52>>2]=0;c[k+56>>2]=0;c[k+60>>2]=0;tn(l,c[e>>2]|0,c[e+4>>2]|0);g=k+15|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[k+8>>2]=0}else{a[d>>0]=0;a[g>>0]=0}YA(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];tn(l,c[f>>2]|0,c[f+4>>2]|0);d=k+16|0;g=k+27|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[k+20>>2]=0}else{a[d>>0]=0;a[g>>0]=0}YA(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];g=c[b+12>>2]|0;f=c[b+4>>2]|0;l=c[b+36>>2]|0;c[m>>2]=h;a[j>>0]=i&1;b=c[f+8>>2]|0;i=Az(l)|0;h=FA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=l;c[h+16>>2]=i;c[h+20>>2]=b;b=h+24|0;c[b>>2]=0;c[b+4>>2]=0;c[h+32>>2]=2;c[h>>2]=288392;c[h+36>>2]=k;c[n>>2]=h;hl(g,n);g=c[n>>2]|0;c[n>>2]=0;if(!g){aa=o;return 0}ma[c[(c[g>>2]|0)+4>>2]&255](g);aa=o;return 0}function gd(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,q=0,r=0;r=aa;aa=aa+64|0;l=r+24|0;m=r;q=r+20|0;p=FA(108)|0;d=p+4|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;c[p+28>>2]=4;c[p>>2]=288376;tn(p+32|0,0,0);k=p+44|0;a[k>>0]=0;n=p+48|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;vl(n,-1,l);o=p+84|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;tn(l,c[e>>2]|0,c[e+4>>2]|0);g=p+15|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[p+8>>2]=0}else{a[d>>0]=0;a[g>>0]=0}YA(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];tn(l,c[f>>2]|0,c[f+4>>2]|0);d=p+16|0;g=p+27|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[p+20>>2]=0}else{a[d>>0]=0;a[g>>0]=0}YA(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];i=b+4|0;f=c[i>>2]|0;j=b+36|0;d=c[j>>2]|0;a[k>>0]=1;f=c[f+8>>2]|0;g=m+12|0;c[g>>2]=0;c[g+4>>2]=0;g=Az(d)|0;c[m>>2]=d;c[m+4>>2]=g;c[m+8>>2]=f;vl(l,h,m);xl(n,l)|0;Cl(l);f=b+12|0;g=c[f>>2]|0;d=c[(c[g+124>>2]|0)+(h<<2)>>2]|0;e=d+12|0;if((e|0)!=(o|0)){ug(o,c[e>>2]|0,c[d+16>>2]|0);ug(p+96|0,c[d+24>>2]|0,c[d+28>>2]|0);g=c[f>>2]|0}n=c[j>>2]|0;o=c[(c[i>>2]|0)+8>>2]|0;b=Az(n)|0;h=FA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=n;c[h+16>>2]=b;c[h+20>>2]=o;o=h+24|0;c[o>>2]=0;c[o+4>>2]=0;c[h+32>>2]=2;c[h>>2]=288392;c[h+36>>2]=p;c[q>>2]=h;hl(g,q);g=c[q>>2]|0;c[q>>2]=0;if(!g){aa=r;return 0}ma[c[(c[g>>2]|0)+4>>2]&255](g);aa=r;return 0}function hd(a){a=a|0;return 0}function id(a,b){a=a|0;b=b|0;return 0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+76|0;g=(c[a+48>>2]|0)+b|0;f=a+84|0;e=c[h>>2]|0;if((c[f>>2]|0)-e>>2>>>0>=g>>>0)return 0;a=a+80|0;if(g>>>0>1073741823)U();d=(c[a>>2]|0)-e|0;b=FA(g<<2)|0;if((d|0)>0)_B(b|0,e|0,d|0)|0;c[h>>2]=b;c[a>>2]=b+(d>>2<<2);c[f>>2]=b+(g<<2);if(!e)return 0;HA(e);return 0}function kd(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=aa;aa=aa+64|0;g=q+24|0;h=q;p=q+20|0;i=b+4|0;j=b+36|0;n=c[j>>2]|0;d=c[(c[i>>2]|0)+8>>2]|0;k=Az(n)|0;o=FA(156)|0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=n;c[o+16>>2]=k;c[o+20>>2]=d;d=o+24|0;c[d>>2]=0;c[d+4>>2]=0;c[o+32>>2]=0;c[o>>2]=288360;tn(o+36|0,0,0);d=o+48|0;a[d>>0]=0;k=o+52|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;vl(k,-1,g);n=o+88|0;f=o+140|0;l=n;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[f>>2]=1065353216;c[o+144>>2]=0;c[o+148>>2]=0;c[o+152>>2]=0;a[d>>0]=1;m=c[j>>2]|0;d=c[(c[i>>2]|0)+8>>2]|0;f=h+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Az(m)|0;c[h>>2]=m;c[h+4>>2]=f;c[h+8>>2]=d;vl(g,e,h);xl(k,g)|0;Cl(g);h=b+12|0;d=c[h>>2]|0;f=c[(c[d+124>>2]|0)+(e<<2)>>2]|0;g=f+12|0;if((g|0)!=(n|0)){ug(n,c[g>>2]|0,c[f+16>>2]|0);ug(o+100|0,c[f+24>>2]|0,c[f+28>>2]|0);d=c[h>>2]|0}c[p>>2]=o;bl(d,p);d=c[p>>2]|0;c[p>>2]=0;if(!d){aa=q;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return 0}function ld(a){a=a|0;return 0}function md(a,b){a=a|0;b=b|0;return 0}function nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+136|0;g=(c[a+52>>2]|0)+b|0;f=a+144|0;e=c[h>>2]|0;if((c[f>>2]|0)-e>>2>>>0>=g>>>0)return 0;a=a+140|0;if(g>>>0>1073741823)U();d=(c[a>>2]|0)-e|0;b=FA(g<<2)|0;if((d|0)>0)_B(b|0,e|0,d|0)|0;c[h>>2]=b;c[a>>2]=b+(d>>2<<2);c[f>>2]=b+(g<<2);if(!e)return 0;HA(e);return 0}function od(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;g=aa;aa=aa+16|0;h=g;k=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;j=Az(k)|0;i=FA(88)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=k;c[i+16>>2]=j;c[i+20>>2]=d;d=i+24|0;c[d>>2]=0;c[d+4>>2]=0;c[i+32>>2]=5;c[i>>2]=288344;tn(i+40|0,0,0);d=i+56|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];b[d+16>>1]=b[f+16>>1]|0;c[i+80>>2]=e;d=c[a+12>>2]|0;c[h>>2]=i;pl(d,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=g;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=g;return 0}function pd(a){a=a|0;return 0}function qd(a,b){a=a|0;b=b|0;return 0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+160|0;g=(c[a+56>>2]|0)+b|0;f=a+168|0;e=c[h>>2]|0;if((c[f>>2]|0)-e>>2>>>0>=g>>>0)return 0;a=a+164|0;if(g>>>0>1073741823)U();d=(c[a>>2]|0)-e|0;b=FA(g<<2)|0;if((d|0)>0)_B(b|0,e|0,d|0)|0;c[h>>2]=b;c[a>>2]=b+(d>>2<<2);c[f>>2]=b+(g<<2);if(!e)return 0;HA(e);return 0}function sd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=aa;aa=aa+16|0;g=f;j=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(j)|0;h=FA(80)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=j;c[h+16>>2]=i;c[h+20>>2]=d;d=h+24|0;c[d>>2]=0;c[d+4>>2]=0;c[h+32>>2]=7;c[h>>2]=288328;tn(h+40|0,0,0);d=h+56|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];b[d+16>>1]=b[e+16>>1]|0;d=c[a+12>>2]|0;c[g>>2]=h;ml(d,g);d=c[g>>2]|0;c[g>>2]=0;if(!d){aa=f;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=f;return 0}function td(a){a=a|0;return 0}function ud(a,b){a=a|0;b=b|0;return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+88|0;g=(c[a+60>>2]|0)+b|0;f=a+96|0;e=c[h>>2]|0;if((c[f>>2]|0)-e>>2>>>0>=g>>>0)return 0;a=a+92|0;if(g>>>0>1073741823)U();d=(c[a>>2]|0)-e|0;b=FA(g<<2)|0;if((d|0)>0)_B(b|0,e|0,d|0)|0;c[h>>2]=b;c[a>>2]=b+(d>>2<<2);c[f>>2]=b+(g<<2);if(!e)return 0;HA(e);return 0}function wd(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;g=aa;aa=aa+16|0;h=g;k=c[b+36>>2]|0;d=c[(c[b+4>>2]|0)+8>>2]|0;j=Az(k)|0;i=FA(68)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=k;c[i+16>>2]=j;c[i+20>>2]=d;d=i+24|0;c[d>>2]=0;c[d+4>>2]=0;c[i+32>>2]=1;c[i>>2]=288312;tn(i+36|0,0,0);c[i+56>>2]=0;c[i+60>>2]=0;c[i+64>>2]=0;c[i+48>>2]=e;a[i+52>>0]=f&1;d=c[b+12>>2]|0;c[h>>2]=i;fl(d,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=g;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=g;return 0}function xd(a,b){a=a|0;b=b|0;c[a+32>>2]=(c[(c[(c[a+12>>2]|0)+88>>2]|0)+(b<<2)>>2]|0)+20;return 0}function yd(a,b){a=a|0;b=b|0;c[a+32>>2]=0;return 0}function zd(a,b){a=a|0;b=b|0;return 0}function Ad(a){a=a|0;return 0}function Bd(a,b){a=a|0;b=b|0;return 0}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+112|0;g=a+120|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+116|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=FA(b<<2)|0;if((e|0)>0)_B(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;HA(f);return 0}function Dd(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;p=aa;aa=aa+64|0;j=p+24|0;k=p;o=p+20|0;l=b+4|0;m=b+36|0;d=c[m>>2]|0;i=c[(c[l>>2]|0)+8>>2]|0;n=Az(d)|0;h=FA(88)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=d;c[h+16>>2]=n;c[h+20>>2]=i;i=h+24|0;c[i>>2]=0;c[i+4>>2]=0;c[h+32>>2]=3;c[h>>2]=288296;i=h+36|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;n=h+52|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;vl(n,-1,j);tn(j,c[g>>2]|0,c[g+4>>2]|0);d=h+47|0;if((a[d>>0]|0)<0){a[c[i>>2]>>0]=0;c[h+40>>2]=0}else{a[i>>0]=0;a[d>>0]=0}YA(i);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];g=c[m>>2]|0;d=c[(c[l>>2]|0)+8>>2]|0;m=k+12|0;c[m>>2]=0;c[m+4>>2]=0;m=Az(g)|0;c[k>>2]=g;c[k+4>>2]=m;c[k+8>>2]=d;vl(j,f,k);xl(n,j)|0;Cl(j);c[h+48>>2]=e;d=c[b+12>>2]|0;c[o>>2]=h;$k(d,o);d=c[o>>2]|0;c[o>>2]=0;if(!d){aa=p;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=p;return 0}function Ed(a){a=a|0;return 0}function Fd(a,b){a=a|0;b=b|0;return 0}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;e=aa;aa=aa+80|0;g=e+40|0;d=e+4|0;f=e;h=a+4|0;j=a+36|0;l=c[j>>2]|0;i=c[(c[h>>2]|0)+8>>2]|0;k=g+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Az(l)|0;c[g>>2]=l;c[g+4>>2]=k;c[g+8>>2]=i;vl(d,b,g);b=c[a+12>>2]|0;j=c[j>>2]|0;h=c[(c[h>>2]|0)+8>>2]|0;i=Az(j)|0;a=FA(72)|0;yl(g,d);c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=j;c[a+16>>2]=i;c[a+20>>2]=h;h=a+24|0;c[h>>2]=0;c[h+4>>2]=0;c[a+32>>2]=9;c[a>>2]=288280;yl(a+36|0,g);c[f>>2]=a;Cl(g);nl(b,f);b=c[f>>2]|0;c[f>>2]=0;if(!b){Cl(d);aa=e;return 0}ma[c[(c[b>>2]|0)+4>>2]&255](b);Cl(d);aa=e;return 0}function Hd(a){a=a|0;return 0}function Id(a,b){a=a|0;b=b|0;return 0}function Jd(a,b){a=a|0;b=b|0;return 0}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;d=c[(c[(c[a+12>>2]|0)+76>>2]|0)+(b<<2)>>2]|0;c[a+16>>2]=d;Ug(a,0,d+108|0,0);return 0}function Ld(a,b){a=a|0;b=b|0;return 0}function Md(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=aa;aa=aa+16|0;h=i+4|0;g=i;b=c[a+16>>2]|0;c[h>>2]=e;c[g>>2]=d;f=b+80|0;a=c[f>>2]|0;if(a>>>0<(c[b+84>>2]|0)>>>0){c[a>>2]=e;c[a+4>>2]=d;c[f>>2]=a+8;aa=i;return 0}else{ni(b+76|0,h,g);aa=i;return 0}return 0}function Nd(a,b){a=a|0;b=b|0;return 0}function Od(a){a=a|0;return 0}function Pd(a,b){a=a|0;b=b|0;return 0}function Qd(a,b){a=a|0;b=b|0;return 0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Ud(a,b){a=a|0;b=b|0;return 0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Wd(a,b){a=a|0;b=b|0;return 0}function Xd(a,b){a=a|0;b=b|0;return 0}function Yd(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=aa;aa=aa+16|0;f=h;g=FA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;c[g>>2]=288264;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Az(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Fg(a,292237,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function Zd(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=aa;aa=aa+16|0;f=h;g=FA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=3;c[g>>2]=288248;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Az(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Fg(a,292237,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function _d(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=aa;aa=aa+16|0;f=h;g=FA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=1;c[g>>2]=288232;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Az(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Fg(a,292237,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function $d(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=aa;aa=aa+16|0;f=h;g=FA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=2;c[g>>2]=288216;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Az(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Fg(a,292237,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|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;h=aa;aa=aa+16|0;f=h;g=FA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=5;c[g>>2]=288200;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Az(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Fg(a,292237,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function be(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=aa;aa=aa+16|0;f=h;g=FA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=4;c[g>>2]=288184;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Az(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Fg(a,292237,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=6;c[f>>2]=288168;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;h=k;f=k+8|0;j=FA(144)|0;g=j+4|0;i=j+8|0;e=j+12|0;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;c[g+24>>2]=0;c[j+32>>2]=7;c[j>>2]=288152;g=j+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+12>>0]=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;vl(j+52|0,-1,f);f=j+88|0;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Tg(b,j+48|0,d);f=c[b+36>>2]|0;g=c[(c[b+4>>2]|0)+8>>2]|0;d=Az(f)|0;c[e>>2]=f;c[j+16>>2]=d;c[j+20>>2]=g;e=j+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[b+20>>2]|0;g=(c[b+24>>2]|0)-e|0;d=(g|0)/12|0;if(!g){c[h>>2]=0;c[h+4>>2]=d;Fg(b,292237,h);ma[c[(c[j>>2]|0)+4>>2]&255](j);b=1;aa=k;return b|0}d=c[e+((d+-1|0)*12|0)+4>>2]|0;f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[i>>2]=e;e=e+4|0}c[e>>2]=j;c[f>>2]=j;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;Ug(b,1,j+112|0,0);b=0;aa=k;return b|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=8;c[f>>2]=288136;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=9;c[f>>2]=288120;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function ge(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;g=aa;aa=aa+64|0;e=g;h=g+28|0;j=g+8|0;f=FA(108)|0;k=f+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[f+32>>2]=10;c[f>>2]=288104;k=f+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;vl(k,-1,h);i=f+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;vl(i,-1,h);c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;vl(h,b,j);xl(k,h)|0;Cl(h);c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;vl(h,d,j);xl(i,h)|0;Cl(h);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);k=1;aa=g;return k|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;k=d+8|0;c[k>>2]=(c[k>>2]|0)+1;k=0;aa=g;return k|0}function he(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;q=aa;aa=aa+64|0;n=q;l=q+28|0;m=q+8|0;p=FA(84)|0;j=p+4|0;o=p+8|0;k=p+12|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;c[j+24>>2]=0;c[p+32>>2]=11;c[p>>2]=288088;j=p+36|0;c[j>>2]=0;h=p+40|0;c[h>>2]=0;c[p+44>>2]=0;f=p+48|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;vl(f,-1,l);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;vl(l,e,m);xl(f,l)|0;Cl(l);e=c[h>>2]|0;f=c[j>>2]|0;g=(e-f|0)/36|0;if(g>>>0>=b>>>0){if(g>>>0>b>>>0){f=f+(b*36|0)|0;if((f|0)!=(e|0))do{e=e+-36|0;Cl(e)}while((e|0)!=(f|0));c[h>>2]=f}if(b|0)i=9}else{Xh(j,b-g|0);i=9}if((i|0)==9){e=0;do{i=c[d+(e<<2)>>2]|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;vl(l,i,m);xl((c[j>>2]|0)+(e*36|0)|0,l)|0;Cl(l);e=e+1|0}while((e|0)!=(b|0))}f=c[a+36>>2]|0;e=c[(c[a+4>>2]|0)+8>>2]|0;d=Az(f)|0;c[k>>2]=f;c[p+16>>2]=d;c[p+20>>2]=e;e=p+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[a+20>>2]|0;d=(c[a+24>>2]|0)-e|0;f=(d|0)/12|0;if(!d){c[n>>2]=0;c[n+4>>2]=f;Fg(a,292237,n);ma[c[(c[p>>2]|0)+4>>2]&255](p);p=1;aa=q;return p|0}f=c[e+((f+-1|0)*12|0)+4>>2]|0;g=f+4|0;e=c[g>>2]|0;if(!e)e=f;else{c[o>>2]=e;e=e+4|0}c[e>>2]=p;c[g>>2]=p;p=f+8|0;c[p>>2]=(c[p>>2]|0)+1;p=0;aa=q;return p|0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=12;c[f>>2]=288072;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function je(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;o=aa;aa=aa+64|0;m=o;g=o+28|0;h=o+8|0;n=FA(136)|0;k=n+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[n+32>>2]=13;c[n>>2]=288056;k=n+36|0;a[k>>0]=0;f=n+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;vl(f,-1,g);i=n+76|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;j=n+100|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;vl(j,-1,g);a[k>>0]=1;k=b+4|0;l=b+36|0;r=c[l>>2]|0;p=c[(c[k>>2]|0)+8>>2]|0;q=h+12|0;c[q>>2]=0;c[q+4>>2]=0;q=Az(r)|0;c[h>>2]=r;c[h+4>>2]=q;c[h+8>>2]=p;vl(g,d,h);xl(f,g)|0;Cl(g);d=c[(c[(c[b+12>>2]|0)+124>>2]|0)+(d<<2)>>2]|0;f=d+12|0;if((f|0)!=(i|0)){ug(i,c[f>>2]|0,c[d+16>>2]|0);ug(n+88|0,c[d+24>>2]|0,c[d+28>>2]|0)};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;vl(g,e,h);xl(j,g)|0;Cl(g);f=c[l>>2]|0;d=c[(c[k>>2]|0)+8>>2]|0;r=Az(f)|0;c[n+12>>2]=f;c[n+16>>2]=r;c[n+20>>2]=d;d=n+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[b+20>>2]|0;r=(c[b+24>>2]|0)-d|0;f=(r|0)/12|0;if(!r){c[m>>2]=0;c[m+4>>2]=f;Fg(b,292237,m);ma[c[(c[n>>2]|0)+4>>2]&255](n);r=1;aa=o;return r|0}f=c[d+((f+-1|0)*12|0)+4>>2]|0;g=f+4|0;d=c[g>>2]|0;if(!d)d=f;else{c[n+8>>2]=d;d=d+4|0}c[d>>2]=n;c[g>>2]=n;r=f+8|0;c[r>>2]=(c[r>>2]|0)+1;r=0;aa=o;return r|0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+32|0;g=h+16|0;d=h;b=c[a+20>>2]|0;e=(c[a+24>>2]|0)-b|0;f=(e|0)/12|0;if(!e){c[d>>2]=0;c[d+4>>2]=f;Fg(a,292237,d);g=1;aa=h;return g|0}e=f+-1|0;d=b+(e*12|0)|0;if((c[d>>2]|0)!=5){Fg(a,294666,h+8|0);g=1;aa=h;return g|0}if(f>>>0>1){c[d>>2]=6;c[b+(e*12|0)+4>>2]=(c[(c[b+((f+-2|0)*12|0)+4>>2]|0)+4>>2]|0)+144;g=0;aa=h;return g|0}else{c[g>>2]=1;c[g+4>>2]=f;Fg(a,292237,g);g=1;aa=h;return g|0}return 0}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=14;c[f>>2]=288040;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=16;c[f>>2]=288024;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=17;c[f>>2]=288008;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+32|0;f=h+8|0;d=h;b=c[a+20>>2]|0;e=(c[a+24>>2]|0)-b|0;g=(e|0)/12|0;if(!e){c[d>>2]=0;c[d+4>>2]=g;Fg(a,292237,d);a=1;aa=h;return a|0}e=g+-1|0;if(g>>>0<=1){c[f>>2]=1;c[f+4>>2]=g;Fg(a,292237,f);a=1;aa=h;return a|0}d=b+(e*12|0)|0;if((c[d>>2]|0)==3){g=c[(c[b+((g+-2|0)*12|0)+4>>2]|0)+4>>2]|0;i=c[a+36>>2]|0;a=c[(c[a+4>>2]|0)+8>>2]|0;f=Az(i)|0;c[g+124>>2]=i;c[g+128>>2]=f;c[g+132>>2]=a;a=g+136|0;c[a>>2]=0;c[a+4>>2]=0;c[b+(e*12|0)+4>>2]=g+144;c[d>>2]=4;a=0;aa=h;return a|0}else{Fg(a,294441,h+16|0);i=1;aa=h;return i|0}return 0}function pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+32|0;k=m+16|0;g=m+8|0;e=m;i=a+20|0;j=a+24|0;d=c[j>>2]|0;b=c[i>>2]|0;f=d-b|0;h=(f|0)/12|0;if(!f){c[e>>2]=0;c[e+4>>2]=h;Fg(a,292237,e);l=1;aa=m;return l|0}f=b;if(h>>>0<=1){c[g>>2]=1;c[g+4>>2]=h;Fg(a,292237,g);l=1;aa=m;return l|0}e=c[(c[f+((h+-2|0)*12|0)+4>>2]|0)+4>>2]|0;switch(c[f+((h+-1|0)*12|0)>>2]|0){case 1:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Az(f)|0;b=e;l=e;c[b+124>>2]=f;c[l+128>>2]=g;c[l+132>>2]=h;b=b+136|0;l=11;break}case 2:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Az(f)|0;b=e;l=e;c[b+124>>2]=f;c[l+128>>2]=g;c[l+132>>2]=h;b=b+136|0;l=11;break}case 3:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Az(f)|0;b=e;l=e;c[b+124>>2]=f;c[l+128>>2]=g;c[l+132>>2]=h;b=b+136|0;l=11;break}case 4:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Az(f)|0;b=e;l=e;c[b+156>>2]=f;c[l+160>>2]=g;c[l+164>>2]=h;b=b+168|0;l=11;break}case 5:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Az(f)|0;b=e;l=e;c[b+124>>2]=f;c[l+128>>2]=g;c[l+132>>2]=h;b=b+136|0;l=11;break}default:{}}if((l|0)==11){d=b;c[d>>2]=0;c[d+4>>2]=0;d=c[j>>2]|0;b=c[i>>2]|0}if((d|0)==(b|0)){Fg(a,292400,k);l=1;aa=m;return l|0}else{c[j>>2]=d+-12;l=0;aa=m;return l|0}return 0}function qe(a){a=a|0;return 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;l=aa;aa=aa+80|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;f=c[h>>2]|0;d=c[(c[g>>2]|0)+8>>2]|0;j=k+12|0;c[j>>2]=0;c[j+4>>2]=0;j=Az(f)|0;c[k>>2]=f;c[k+4>>2]=j;c[k+8>>2]=d;Fl(e,b,k);k=FA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287352;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=c[h>>2]|0;h=c[(c[g>>2]|0)+8>>2]|0;d=Az(f)|0;c[b>>2]=f;c[k+16>>2]=d;c[k+20>>2]=h;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[i>>2]=0;c[i+4>>2]=d;Fg(a,292237,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;k=d+8|0;c[k>>2]=(c[k>>2]|0)+1;k=0;aa=l;return k|0}function se(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=aa;aa=aa+80|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;m=c[h>>2]|0;j=c[(c[g>>2]|0)+8>>2]|0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Az(m)|0;c[k>>2]=m;c[k+4>>2]=f;c[k+8>>2]=j;Gl(e,b,d,k);k=FA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287352;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));h=c[h>>2]|0;m=c[(c[g>>2]|0)+8>>2]|0;d=Az(h)|0;c[b>>2]=h;c[k+16>>2]=d;c[k+20>>2]=m;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;m=(c[a+24>>2]|0)-b|0;d=(m|0)/12|0;if(!m){c[i>>2]=0;c[i+4>>2]=d;Fg(a,292237,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);m=1;aa=l;return m|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;m=d+8|0;c[m>>2]=(c[m>>2]|0)+1;m=0;aa=l;return m|0}function te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=aa;aa=aa+96|0;d=l+72|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;m=c[h>>2]|0;j=c[(c[g>>2]|0)+8>>2]|0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Az(m)|0;c[k>>2]=m;c[k+4>>2]=f;c[k+8>>2]=j;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];Hl(e,d,k);k=FA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287352;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));h=c[h>>2]|0;m=c[(c[g>>2]|0)+8>>2]|0;d=Az(h)|0;c[b>>2]=h;c[k+16>>2]=d;c[k+20>>2]=m;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;m=(c[a+24>>2]|0)-b|0;d=(m|0)/12|0;if(!m){c[i>>2]=0;c[i+4>>2]=d;Fg(a,292237,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);m=1;aa=l;return m|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;m=d+8|0;c[m>>2]=(c[m>>2]|0)+1;m=0;aa=l;return m|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Az(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;vl(g,b,f);f=FA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=18;c[f>>2]=287368;yl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Cl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Cl(g);aa=h;return l|0}function ve(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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Az(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;vl(g,b,f);f=FA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=19;c[f>>2]=287992;yl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Cl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Cl(g);aa=h;return l|0}function we(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=aa;aa=aa+80|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;f=c[h>>2]|0;d=c[(c[g>>2]|0)+8>>2]|0;j=k+12|0;c[j>>2]=0;c[j+4>>2]=0;j=Az(f)|0;c[k>>2]=f;c[k+4>>2]=j;c[k+8>>2]=d;Dl(e,b,k);k=FA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287352;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=c[h>>2]|0;h=c[(c[g>>2]|0)+8>>2]|0;d=Az(f)|0;c[b>>2]=f;c[k+16>>2]=d;c[k+20>>2]=h;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[i>>2]=0;c[i+4>>2]=d;Fg(a,292237,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;k=d+8|0;c[k>>2]=(c[k>>2]|0)+1;k=0;aa=l;return k|0}function xe(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=aa;aa=aa+80|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;m=c[h>>2]|0;j=c[(c[g>>2]|0)+8>>2]|0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Az(m)|0;c[k>>2]=m;c[k+4>>2]=f;c[k+8>>2]=j;El(e,b,d,k);k=FA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287352;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));h=c[h>>2]|0;m=c[(c[g>>2]|0)+8>>2]|0;d=Az(h)|0;c[b>>2]=h;c[k+16>>2]=d;c[k+20>>2]=m;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;m=(c[a+24>>2]|0)-b|0;d=(m|0)/12|0;if(!m){c[i>>2]=0;c[i+4>>2]=d;Fg(a,292237,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);m=1;aa=l;return m|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;m=d+8|0;c[m>>2]=(c[m>>2]|0)+1;m=0;aa=l;return m|0}function ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;h=k;f=k+8|0;j=FA(176)|0;g=j+4|0;i=j+8|0;e=j+12|0;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;c[g+24>>2]=0;c[j+32>>2]=20;c[j>>2]=287976;g=j+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+12>>0]=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;vl(j+52|0,-1,f);f=j+88|0;g=f+88|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Tg(b,j+48|0,d);f=c[b+36>>2]|0;g=c[(c[b+4>>2]|0)+8>>2]|0;d=Az(f)|0;c[e>>2]=f;c[j+16>>2]=d;c[j+20>>2]=g;e=j+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[b+20>>2]|0;g=(c[b+24>>2]|0)-e|0;d=(g|0)/12|0;if(!g){c[h>>2]=0;c[h+4>>2]=d;Fg(b,292237,h);ma[c[(c[j>>2]|0)+4>>2]&255](j);b=1;aa=k;return b|0}d=c[e+((d+-1|0)*12|0)+4>>2]|0;f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[i>>2]=e;e=e+4|0}c[e>>2]=j;c[f>>2]=j;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;Ug(b,3,j+112|0,0);b=0;aa=k;return b|0}function ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=aa;aa=aa+16|0;f=h;g=FA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=21;c[g>>2]=287960;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Az(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Fg(a,292237,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Az(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;vl(g,b,f);f=FA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=22;c[f>>2]=287944;yl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Cl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Cl(g);aa=h;return l|0}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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Az(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;vl(g,b,f);f=FA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=23;c[f>>2]=287928;yl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Cl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Cl(g);aa=h;return l|0}function Ce(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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Az(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;vl(g,b,f);f=FA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=24;c[f>>2]=287912;yl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Cl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Cl(g);aa=h;return l|0}function De(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;h=k;f=k+8|0;j=FA(144)|0;g=j+4|0;i=j+8|0;e=j+12|0;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;c[g+24>>2]=0;c[j+32>>2]=25;c[j>>2]=287896;g=j+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+12>>0]=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;vl(j+52|0,-1,f);f=j+88|0;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Tg(b,j+48|0,d);f=c[b+36>>2]|0;g=c[(c[b+4>>2]|0)+8>>2]|0;d=Az(f)|0;c[e>>2]=f;c[j+16>>2]=d;c[j+20>>2]=g;e=j+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[b+20>>2]|0;g=(c[b+24>>2]|0)-e|0;d=(g|0)/12|0;if(!g){c[h>>2]=0;c[h+4>>2]=d;Fg(b,292237,h);ma[c[(c[j>>2]|0)+4>>2]&255](j);b=1;aa=k;return b|0}d=c[e+((d+-1|0)*12|0)+4>>2]|0;f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[i>>2]=e;e=e+4|0}c[e>>2]=j;c[f>>2]=j;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;Ug(b,2,j+112|0,0);b=0;aa=k;return b|0}function Ee(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=26;c[f>>2]=287880;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=27;c[f>>2]=287864;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function Ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=28;c[f>>2]=287848;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function He(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=29;c[f>>2]=287832;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=30;c[f>>2]=287816;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function Je(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=31;c[f>>2]=287800;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=43;c[f>>2]=287784;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=44;c[f>>2]=287768;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=45;c[f>>2]=287752;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=46;c[f>>2]=287736;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=49;c[f>>2]=287720;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=47;c[f>>2]=287704;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=48;c[f>>2]=287688;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}function Re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=34;c[f>>2]=287672;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=33;c[f>>2]=287656;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=32;c[f>>2]=287640;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=35;c[f>>2]=287624;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=36;c[f>>2]=287608;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;vl(g,b,f);f=FA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=37;c[f>>2]=287592;yl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Cl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Cl(g);aa=h;return i|0}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;o=aa;aa=aa+64|0;m=o;g=o+28|0;h=o+8|0;n=FA(136)|0;k=n+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[n+32>>2]=38;c[n>>2]=287576;k=n+36|0;a[k>>0]=0;f=n+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;vl(f,-1,g);i=n+76|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;j=n+100|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;vl(j,-1,g);a[k>>0]=1;k=b+4|0;l=b+36|0;r=c[l>>2]|0;p=c[(c[k>>2]|0)+8>>2]|0;q=h+12|0;c[q>>2]=0;c[q+4>>2]=0;q=Az(r)|0;c[h>>2]=r;c[h+4>>2]=q;c[h+8>>2]=p;vl(g,d,h);xl(f,g)|0;Cl(g);d=c[(c[(c[b+12>>2]|0)+124>>2]|0)+(d<<2)>>2]|0;f=d+12|0;if((f|0)!=(i|0)){ug(i,c[f>>2]|0,c[d+16>>2]|0);ug(n+88|0,c[d+24>>2]|0,c[d+28>>2]|0)};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;vl(g,e,h);xl(j,g)|0;Cl(g);f=c[l>>2]|0;d=c[(c[k>>2]|0)+8>>2]|0;r=Az(f)|0;c[n+12>>2]=f;c[n+16>>2]=r;c[n+20>>2]=d;d=n+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[b+20>>2]|0;r=(c[b+24>>2]|0)-d|0;f=(r|0)/12|0;if(!r){c[m>>2]=0;c[m+4>>2]=f;Fg(b,292237,m);ma[c[(c[n>>2]|0)+4>>2]&255](n);r=1;aa=o;return r|0}f=c[d+((f+-1|0)*12|0)+4>>2]|0;g=f+4|0;d=c[g>>2]|0;if(!d)d=f;else{c[n+8>>2]=d;d=d+4|0}c[d>>2]=n;c[g>>2]=n;r=f+8|0;c[r>>2]=(c[r>>2]|0)+1;r=0;aa=o;return r|0}function Ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=39;c[f>>2]=287560;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=aa;aa=aa+16|0;f=h;g=FA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=42;c[g>>2]=287544;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Az(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Fg(a,292237,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function _e(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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Az(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;vl(g,b,f);f=FA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=51;c[f>>2]=287528;yl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Cl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Cl(g);aa=h;return l|0}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;k=aa;aa=aa+32|0;h=k;f=k+8|0;j=FA(156)|0;g=j+4|0;i=j+8|0;e=j+12|0;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;c[g+24>>2]=0;c[j+32>>2]=52;c[j>>2]=287512;g=j+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+12>>0]=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;vl(j+52|0,-1,f);f=j+88|0;g=f+68|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Tg(b,j+48|0,d);f=c[b+36>>2]|0;g=c[(c[b+4>>2]|0)+8>>2]|0;d=Az(f)|0;c[e>>2]=f;c[j+16>>2]=d;c[j+20>>2]=g;e=j+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[b+20>>2]|0;g=(c[b+24>>2]|0)-e|0;d=(g|0)/12|0;if(!g){c[h>>2]=0;c[h+4>>2]=d;Fg(b,292237,h);ma[c[(c[j>>2]|0)+4>>2]&255](j);b=1;aa=k;return b|0}d=c[e+((d+-1|0)*12|0)+4>>2]|0;f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[i>>2]=e;e=e+4|0}c[e>>2]=j;c[f>>2]=j;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;Ug(b,5,j+112|0,j);b=0;aa=k;return b|0}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=53;c[f>>2]=287496;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=50;c[f>>2]=287480;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=54;c[f>>2]=287464;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function df(a,b){a=a|0;b=b|0;var d=0,e=0;e=aa;aa=aa+16|0;d=a+24|0;b=c[d>>2]|0;if((b|0)==(c[a+20>>2]|0)){Fg(a,292400,e);a=1;aa=e;return a|0}else{c[d>>2]=b+-12;c[a+16>>2]=0;a=0;aa=e;return a|0}return 0}function ef(a){a=a|0;return 0}function ff(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=aa;aa=aa+16|0;f=h;g=FA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=40;c[g>>2]=287448;c[g+36>>2]=b;b=g+40|0;c[b>>2]=d;c[b+4>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Az(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Fg(a,292237,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=FA(56)|0;b=c[b>>2]|0;h=f+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[f+32>>2]=41;c[f>>2]=287432;c[f+36>>2]=b;b=f+40|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];d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Az(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Fg(a,292237,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function hf(a,b){a=a|0;b=b|0;return 0} -function bj(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;f=b+4|0;if(!d){e=c[b>>2]|0;c[b>>2]=0;if(e|0)HA(e);c[f>>2]=0;return}if(d>>>0>1073741823)U();r=FA(d<<2)|0;e=c[b>>2]|0;c[b>>2]=r;if(e|0)HA(e);c[f>>2]=d;e=0;do{c[(c[b>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(d|0));f=b+8|0;g=c[f>>2]|0;if(!g)return;e=c[g+4>>2]|0;q=d+-1|0;r=(q&d|0)==0;if(!r){if(e>>>0>=d>>>0)e=(e>>>0)%(d>>>0)|0}else e=e&q;c[(c[b>>2]|0)+(e<<2)>>2]=f;f=c[g>>2]|0;if(!f)return;p=g;while(1){g=c[f+4>>2]|0;if(!r){if(g>>>0>=d>>>0)g=(g>>>0)%(d>>>0)|0}else g=g&q;do if((g|0)==(e|0))g=f;else{h=(c[b>>2]|0)+(g<<2)|0;if(!(c[h>>2]|0)){c[h>>2]=p;e=g;g=f;break}h=c[f>>2]|0;a:do if(!h)h=f;else{n=f+8|0;m=a[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?c[f+12>>2]|0:m;l=(o|0)==0;if(k){i=f;while(1){j=h+8|0;m=a[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?c[h+12>>2]|0:m&255)|0)){h=i;break a}if(!l?zz(c[n>>2]|0,k?c[j>>2]|0:j,o)|0:0){h=i;break a}i=c[h>>2]|0;if(!i)break a;else{m=h;h=i;i=m}}}if(l){i=f;while(1){o=a[h+8+11>>0]|0;if((o<<24>>24<0?c[h+12>>2]|0:o&255)|0){h=i;break a}i=c[h>>2]|0;if(!i)break a;else{o=h;h=i;i=o}}}l=f;while(1){i=h+8|0;k=a[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?c[h+12>>2]|0:k&255)|0)){h=l;break a}i=j?c[i>>2]|0:i;if((a[i>>0]|0)!=(c[n>>2]&255)<<24>>24){h=l;break a}j=m;k=n;while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((a[k>>0]|0)!=(a[i>>0]|0)){h=l;break a}}i=c[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);c[p>>2]=c[h>>2];c[h>>2]=c[c[(c[b>>2]|0)+(g<<2)>>2]>>2];c[c[(c[b>>2]|0)+(g<<2)>>2]>>2]=f;g=p}while(0);f=c[g>>2]|0;if(!f)break;else p=g}return}function cj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+40|0;if((c[d+44>>2]|0)==(c[g>>2]|0)?(f=c[d+52>>2]|0,h=(c[d+56>>2]|0)-f|0,f,h>>2>>>0<2):0){e=c[b>>2]|0;if(!h){Ol(e,-64,328591);return}else{Ti(e,c[f>>2]|0);return}}e=c[b+8>>2]|0;if(!(a[d>>0]|0))e=Tk(e,g)|0;else e=zk(e,d+4|0)|0;Ol(c[b>>2]|0,e,298209);return}function dj(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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=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;va=aa;aa=aa+464|0;ua=va+440|0;G=va+432|0;F=va+424|0;E=va+416|0;D=va+408|0;C=va+400|0;B=va+392|0;A=va+384|0;z=va+376|0;y=va+368|0;x=va+360|0;v=va+352|0;u=va+344|0;t=va+336|0;s=va+328|0;sa=va+320|0;ra=va+312|0;qa=va+304|0;pa=va+296|0;na=va+288|0;ma=va+280|0;la=va+272|0;ka=va+264|0;ja=va+256|0;ia=va+248|0;ha=va+240|0;ga=va+232|0;da=va+224|0;ca=va+216|0;ba=va+208|0;$=va+200|0;_=va+192|0;Z=va+184|0;Y=va+176|0;W=va+168|0;V=va+160|0;T=va+152|0;S=va+144|0;R=va+136|0;Q=va+128|0;P=va+120|0;N=va+112|0;M=va+104|0;L=va+96|0;K=va+88|0;J=va+80|0;I=va+72|0;H=va+64|0;w=va+56|0;oa=va+48|0;ea=va+40|0;X=va+32|0;O=va+24|0;r=va+16|0;q=va;p=va+448|0;c[b>>2]=d;ta=b+4|0;mn(c[ta>>2]|0,298253,q);n=b+32|0;e=a[n+11>>0]|0;o=e<<24>>24<0;ej(b,o?c[n>>2]|0:n,o?c[b+36>>2]|0:e&255);mn(c[ta>>2]|0,298274,r);e=c[b>>2]|0;if((c[e+4>>2]|0)==(c[e>>2]|0)){sa=b+60|0;ta=c[ta>>2]|0;mn(ta,298348,ua);ua=c[sa>>2]|0;aa=va;return ua|0}n=b+64|0;k=q+11|0;l=q+4|0;m=p+4|0;j=b+24|0;o=b+56|0;d=b+60|0;i=0;a:while(1){h=c[(c[e>>2]|0)+(i<<2)>>2]|0;if(i|0){mn(c[ta>>2]|0,328641,O);mn(c[ta>>2]|0,298292,X)}mn(c[ta>>2]|0,298294,ea);g=c[ta>>2]|0;c[oa>>2]=328089;mn(g,298298,oa);g=h+4|0;f=c[ta>>2]|0;c[w>>2]=c[16+(c[g>>2]<<2)>>2];mn(f,298305,w);mn(c[ta>>2]|0,328641,H);do switch(c[g>>2]|0){case 0:{fj(q,b,299204);g=c[ta>>2]|0;c[I>>2]=298310;mn(g,298298,I);g=c[ta>>2]|0;c[J>>2]=c[h+16>>2];mn(g,329250,J);mn(c[ta>>2]|0,328641,K);g=h+28|0;f=g+11|0;e=a[f>>0]|0;if(e<<24>>24<0)e=c[g+4>>2]|0;else e=e&255;if(e|0){e=c[ta>>2]|0;c[L>>2]=311538;mn(e,298298,L);f=a[f>>0]|0;e=f<<24>>24<0;ej(b,e?c[g>>2]|0:g,e?c[g+4>>2]|0:f&255);mn(c[ta>>2]|0,328641,M)}g=c[ta>>2]|0;c[N>>2]=298315;mn(g,298298,N);g=a[k>>0]|0;f=g<<24>>24<0;Kj(p,f?c[q>>2]|0:q,f?c[l>>2]|0:g&255);ej(b,c[p>>2]|0,c[m>>2]|0);g=a[k>>0]|0;f=g<<24>>24<0;g=f?c[l>>2]|0:g&255;e=r;c[e>>2]=f?c[q>>2]|0:q;c[e+4>>2]=g;e=c[j>>2]|0;if(!e){e=13;break a}h=Ui(fa[c[(c[e>>2]|0)+24>>2]&511](e,r)|0,h+8|0,c[o>>2]|0)|0;c[d>>2]=((h|0)==1|(c[d>>2]|0)==1)&1;c[n>>2]=(c[n>>2]|0)+1;if((a[k>>0]|0)<0)HA(c[q>>2]|0);break}case 1:{h=c[h+8>>2]|0;g=c[ta>>2]|0;c[P>>2]=298310;mn(g,298298,P);g=c[ta>>2]|0;c[Q>>2]=c[h+12>>2];mn(g,329250,Q);mn(c[ta>>2]|0,328641,R);gj(b,h);mn(c[ta>>2]|0,328641,S);g=c[ta>>2]|0;c[T>>2]=298324;mn(g,298298,T);hj(b,h);break}case 2:{f=h+20|0;e=c[ta>>2]|0;c[V>>2]=298310;mn(e,298298,V);e=c[ta>>2]|0;c[W>>2]=c[f+8>>2];mn(e,329250,W);mn(c[ta>>2]|0,328641,Y);e=f+20|0;if((c[e>>2]|0)==1){g=c[ta>>2]|0;c[Z>>2]=311538;mn(g,298298,Z);if(!(c[e>>2]|0)){g=c[ta>>2]|0;c[_>>2]=c[f+24>>2];mn(g,298333,_)}else{wa=f+24|0;g=a[wa+11>>0]|0;e=g<<24>>24<0;ej(b,e?c[wa>>2]|0:wa,e?c[f+28>>2]|0:g&255)}mn(c[ta>>2]|0,328641,$)}f=c[ta>>2]|0;c[ba>>2]=298338;mn(f,298298,ba);f=h+8|0;wa=a[f+11>>0]|0;g=wa<<24>>24<0;ej(b,g?c[f>>2]|0:f,g?c[h+12>>2]|0:wa&255);break}case 3:{g=h+12|0;wa=a[g+11>>0]|0;f=wa<<24>>24<0;ij(b,c[h+8>>2]|0,f?c[g>>2]|0:g,f?c[g+4>>2]|0:wa&255);c[n>>2]=(c[n>>2]|0)+1;break}case 4:{g=h+12|0;wa=a[g+11>>0]|0;f=wa<<24>>24<0;ij(b,c[h+8>>2]|0,f?c[g>>2]|0:g,f?c[g+4>>2]|0:wa&255);c[n>>2]=(c[n>>2]|0)+1;break}case 5:{g=h+12|0;wa=a[g+11>>0]|0;f=wa<<24>>24<0;ij(b,c[h+8>>2]|0,f?c[g>>2]|0:g,f?c[g+4>>2]|0:wa&255);c[n>>2]=(c[n>>2]|0)+1;break}case 6:{g=h+12|0;wa=a[g+11>>0]|0;f=wa<<24>>24<0;ij(b,c[h+8>>2]|0,f?c[g>>2]|0:g,f?c[g+4>>2]|0:wa&255);c[n>>2]=(c[n>>2]|0)+1;break}case 7:{wa=h+8|0;f=c[wa>>2]|0;g=c[ta>>2]|0;c[ca>>2]=298310;mn(g,298298,ca);g=c[ta>>2]|0;c[da>>2]=c[f+12>>2];mn(g,329250,da);mn(c[ta>>2]|0,328641,ga);gj(b,c[wa>>2]|0);mn(c[ta>>2]|0,328641,ha);wa=c[ta>>2]|0;c[ia>>2]=298324;mn(wa,298298,ia);jj(b,h+12|0);break}case 8:{wa=h+8|0;g=c[wa>>2]|0;h=c[ta>>2]|0;c[ja>>2]=298310;mn(h,298298,ja);h=c[ta>>2]|0;c[ka>>2]=c[g+12>>2];mn(h,329250,ka);mn(c[ta>>2]|0,328641,la);gj(b,c[wa>>2]|0);mn(c[ta>>2]|0,328641,ma);h=c[ta>>2]|0;c[na>>2]=298324;mn(h,298298,na);hj(b,c[wa>>2]|0);break}case 9:{wa=h+8|0;g=c[wa>>2]|0;h=c[ta>>2]|0;c[pa>>2]=298310;mn(h,298298,pa);h=c[ta>>2]|0;c[qa>>2]=c[g+12>>2];mn(h,329250,qa);mn(c[ta>>2]|0,328641,ra);gj(b,c[wa>>2]|0);mn(c[ta>>2]|0,328641,sa);h=c[ta>>2]|0;c[s>>2]=298324;mn(h,298298,s);hj(b,c[wa>>2]|0);break}case 10:{wa=h+8|0;f=c[wa>>2]|0;g=c[ta>>2]|0;c[t>>2]=298310;mn(g,298298,t);g=c[ta>>2]|0;c[u>>2]=c[f+12>>2];mn(g,329250,u);mn(c[ta>>2]|0,328641,v);gj(b,c[wa>>2]|0);mn(c[ta>>2]|0,328641,x);g=c[ta>>2]|0;c[y>>2]=298341;mn(g,298298,y);g=h+12|0;h=a[g+11>>0]|0;f=h<<24>>24<0;ej(b,f?c[g>>2]|0:g,f?c[g+4>>2]|0:h&255);mn(c[ta>>2]|0,328641,z);h=c[ta>>2]|0;c[A>>2]=298324;mn(h,298298,A);hj(b,c[wa>>2]|0);break}case 11:{wa=h+8|0;g=c[wa>>2]|0;h=c[ta>>2]|0;c[B>>2]=298310;mn(h,298298,B);h=c[ta>>2]|0;c[C>>2]=c[g+12>>2];mn(h,329250,C);mn(c[ta>>2]|0,328641,D);gj(b,c[wa>>2]|0);mn(c[ta>>2]|0,328641,E);h=c[ta>>2]|0;c[F>>2]=298324;mn(h,298298,F);hj(b,c[wa>>2]|0);break}default:{}}while(0);mn(c[ta>>2]|0,298346,G);i=i+1|0;e=c[b>>2]|0;if(i>>>0>=(c[e+4>>2]|0)-(c[e>>2]|0)>>2>>>0){e=34;break}}if((e|0)==13)U();else if((e|0)==34){wa=c[ta>>2]|0;mn(wa,298348,ua);wa=c[d>>2]|0;aa=va;return wa|0}return 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,k=0;k=aa;aa=aa+16|0;j=k;i=k+4|0;h=b+4|0;g=c[h>>2]|0;a[i>>0]=34;nn(g,i,1,0,0);if(!e){j=c[h>>2]|0;a[i>>0]=34;nn(j,i,1,0,0);aa=k;return}g=0;do{b=a[d+g>>0]|0;f=c[h>>2]|0;if(b<<24>>24<0|(b<<24>>24==34|((b&255)<32|b<<24>>24==92))){c[j>>2]=b&255;mn(f,298419,j)}else{a[i>>0]=b;nn(f,i,1,0,0)}g=g+1|0}while((g|0)!=(e|0));j=c[h>>2]|0;a[i>>0]=34;nn(j,i,1,0,0);aa=k;return}function fj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=aa;aa=aa+16|0;i=f;LA(b,d+44|0);dB(b,46);lB(i,c[d+64>>2]|0);h=a[i+11>>0]|0;g=h<<24>>24<0;d=c[i>>2]|0;bB(b,g?d:i,g?c[i+4>>2]|0:h&255)|0;if(g)HA(d);cB(b,e)|0;e=a[b+11>>0]|0;if(e<<24>>24<0){d=c[b>>2]|0;e=c[b+4>>2]|0}else{d=b;e=e&255}b=d+e|0;if(!e){aa=f;return}do{if((a[d>>0]|0)==92)a[d>>0]=47;d=d+1|0}while((d|0)!=(b|0));aa=f;return}function gj(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;q=aa;aa=aa+112|0;p=q+96|0;o=q+88|0;n=q+80|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;g=q+32|0;f=q+24|0;i=q+16|0;e=q;h=b+4|0;r=c[h>>2]|0;c[e>>2]=305762;mn(r,298298,e);mn(c[h>>2]|0,298352,q+8|0);e=c[h>>2]|0;c[i>>2]=328089;mn(e,298298,i);i=d+72|0;e=c[h>>2]|0;if(!(c[i>>2]|0)){c[f>>2]=327987;mn(e,298305,f)}else{c[g>>2]=327969;mn(e,298305,g)}mn(c[h>>2]|0,328641,q+40|0);e=d+44|0;if((c[e>>2]|0)==1){r=c[h>>2]|0;c[j>>2]=328009;mn(r,298298,j);if(!(c[e>>2]|0)){r=c[h>>2]|0;c[k>>2]=c[d+48>>2];mn(r,298333,k)}else{j=d+48|0;r=a[j+11>>0]|0;k=r<<24>>24<0;ej(b,k?c[j>>2]|0:j,k?c[d+52>>2]|0:r&255)}mn(c[h>>2]|0,328641,l)}r=(c[i>>2]|0)==0;k=c[h>>2]|0;c[m>>2]=298386;mn(k,298298,m);k=d+60|0;m=a[k+11>>0]|0;l=m<<24>>24<0;ej(b,l?c[k>>2]|0:k,l?c[d+64>>2]|0:m&255);if(!r){r=c[h>>2]|0;mn(r,298346,p);aa=q;return}mn(c[h>>2]|0,328641,n);r=c[h>>2]|0;c[o>>2]=298392;mn(r,298298,o);jj(b,d+76|0);r=c[h>>2]|0;mn(r,298346,p);aa=q;return}function hj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+16|0;i=j+8|0;e=sl(c[b>>2]|0,d+24|0)|0;h=b+4|0;mn(c[h>>2]|0,327543,j);switch(c[d+72>>2]|0){case 0:{k=d+60|0;f=a[k+11>>0]|0;g=f<<24>>24<0;d=Ik(e,(uk(e,g?c[k>>2]|0:k,g?c[d+64>>2]|0:f&255)|0)+16|0)|0;e=c[d+64>>2]|0;f=(c[d+68>>2]|0)-e|0;g=f>>2;if(!f){k=c[h>>2]|0;mn(k,328565,i);aa=j;return}f=d+64|0;kj(b,c[e>>2]|0);if(g>>>0<=1){k=c[h>>2]|0;mn(k,328565,i);aa=j;return}d=1;do{kj(b,c[(c[f>>2]|0)+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(g|0));k=c[h>>2]|0;mn(k,328565,i);aa=j;return}case 1:{f=d+60|0;k=a[f+11>>0]|0;g=k<<24>>24<0;k=(Kk(e,(uk(e,g?c[f>>2]|0:f,g?c[d+64>>2]|0:k&255)|0)+16|0)|0)+12|0;kj(b,c[k>>2]|0);k=c[h>>2]|0;mn(k,328565,i);aa=j;return}default:{k=c[h>>2]|0;mn(k,328565,i);aa=j;return}}}function ij(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,r=0,s=0,t=0,u=0,v=0,w=0;u=aa;aa=aa+96|0;r=u+72|0;o=u+64|0;n=u+56|0;m=u+48|0;p=u+40|0;j=u+32|0;t=u+16|0;i=u+8|0;h=u;k=u+80|0;q=d+4|0;switch(c[q>>2]|0){case 0:{g=299204;l=298367;break}case 1:{g=299204;l=298367;break}case 2:{g=299210;l=298341;break}default:{g=329996;l=329996}}w=ea[c[(c[d>>2]|0)+8>>2]&127](d)|0;v=b+4|0;s=c[v>>2]|0;c[h>>2]=298310;mn(s,298298,h);s=c[v>>2]|0;c[i>>2]=c[w+8>>2];mn(s,329250,i);mn(c[v>>2]|0,328641,t);fj(t,b,g);s=c[v>>2]|0;c[j>>2]=298315;mn(s,298298,j);s=t+11|0;h=a[s>>0]|0;g=h<<24>>24<0;j=t+4|0;Kj(k,g?c[t>>2]|0:t,g?c[j>>2]|0:h&255);ej(b,c[k>>2]|0,c[k+4>>2]|0);mn(c[v>>2]|0,328641,p);h=c[v>>2]|0;c[m>>2]=298341;mn(h,298298,m);ej(b,e,f);mn(c[v>>2]|0,328641,n);h=c[v>>2]|0;c[o>>2]=298374;mn(h,298298,o);h=c[v>>2]|0;c[r>>2]=l;mn(h,298305,r);h=a[s>>0]|0;g=h<<24>>24<0;h=g?c[j>>2]|0:h&255;g=g?c[t>>2]|0:t;a:do switch(c[q>>2]|0){case 0:{w=r;c[w>>2]=g;c[w+4>>2]=h;g=c[b+24>>2]|0;if(!g)U();else{v=fa[c[(c[g>>2]|0)+24>>2]&511](g,r)|0;v=Ui(v,d+8|0,c[b+56>>2]|0)|0;w=b+60|0;c[w>>2]=((v|0)==1|(c[w>>2]|0)==1)&1;break a}break}case 1:{w=r;c[w>>2]=g;c[w+4>>2]=h;g=c[b+24>>2]|0;if(!g)U();j=fa[c[(c[g>>2]|0)+24>>2]&511](g,r)|0;g=c[d+40>>2]|0;i=(c[d+44>>2]|0)-g|0;if(i|0){if((i|0)<0)oB();h=FA(i)|0;_B(h|0,g|0,i|0)|0;nn(j,h,i,329996,0);if(h|0)HA(h)}break}case 2:{w=r;c[w>>2]=g;c[w+4>>2]=h;g=c[b+24>>2]|0;if(!g)U();j=fa[c[(c[g>>2]|0)+24>>2]&511](g,r)|0;g=c[d+40>>2]|0;i=(c[d+44>>2]|0)-g|0;if(i|0){if((i|0)<0)oB();h=FA(i)|0;_B(h|0,g|0,i|0)|0;nn(j,h,i,329996,0);if(h|0)HA(h)}break}default:{}}while(0);if((a[s>>0]|0)>=0){aa=u;return}HA(c[t>>2]|0);aa=u;return}function jj(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;C=aa;aa=aa+176|0;A=C+168|0;z=C+160|0;x=C+152|0;w=C+144|0;v=C+136|0;u=C+128|0;t=C+120|0;s=C+112|0;r=C+104|0;p=C+96|0;o=C+88|0;n=C+80|0;m=C+72|0;l=C+64|0;k=C+56|0;j=C+48|0;i=C+40|0;B=C+32|0;y=C+24|0;q=C+16|0;h=C+8|0;g=a+4|0;mn(c[g>>2]|0,327543,C);f=b+4|0;a=c[b>>2]|0;if((c[f>>2]|0)==(a|0)){B=c[g>>2]|0;mn(B,328565,h);aa=C;return}e=0;do{mn(c[g>>2]|0,298352,q);d=c[g>>2]|0;c[y>>2]=328089;mn(d,298298,y);switch(c[a+(e*40|0)+20>>2]|0){case -1:{d=c[g>>2]|0;c[B>>2]=328637;mn(d,298305,B);mn(c[g>>2]|0,328641,i);d=c[g>>2]|0;c[j>>2]=298354;mn(d,298298,j);d=c[g>>2]|0;c[k>>2]=c[a+(e*40|0)+24>>2];mn(d,298333,k);break}case -2:{d=c[g>>2]|0;c[l>>2]=328633;mn(d,298305,l);mn(c[g>>2]|0,328641,m);d=c[g>>2]|0;c[n>>2]=298354;mn(d,298298,n);d=c[g>>2]|0;E=a+(e*40|0)+24|0;D=c[E+4>>2]|0;a=o;c[a>>2]=c[E>>2];c[a+4>>2]=D;mn(d,298360,o);break}case -3:{E=c[g>>2]|0;c[p>>2]=328629;mn(E,298305,p);mn(c[g>>2]|0,328641,r);E=c[g>>2]|0;c[s>>2]=298354;mn(E,298298,s);E=c[g>>2]|0;c[t>>2]=c[a+(e*40|0)+24>>2];mn(E,298333,t);break}case -4:{E=c[g>>2]|0;c[u>>2]=328625;mn(E,298305,u);mn(c[g>>2]|0,328641,v);E=c[g>>2]|0;c[w>>2]=298354;mn(E,298298,w);E=c[g>>2]|0;a=a+(e*40|0)+24|0;d=c[a+4>>2]|0;D=x;c[D>>2]=c[a>>2];c[D+4>>2]=d;mn(E,298360,x);break}default:{}}mn(c[g>>2]|0,298346,z);a=c[b>>2]|0;d=((c[f>>2]|0)-a|0)/40|0;if((e|0)!=(d+-1|0)){mn(c[g>>2]|0,328641,A);d=c[b>>2]|0;a=d;d=((c[f>>2]|0)-d|0)/40|0}e=e+1|0}while(e>>>0<d>>>0);E=c[g>>2]|0;mn(E,328565,h);aa=C;return}function kj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+32|0;f=g+24|0;e=g+16|0;h=g+8|0;d=a+4|0;mn(c[d>>2]|0,298352,g);a=c[d>>2]|0;c[h>>2]=328089;mn(a,298298,h);do switch(b|0){case -1:{a=328637;break}case -2:{a=328633;break}case -3:{a=328629;break}case -4:{a=328625;break}case -5:{a=328620;break}case -16:{a=328612;break}case -32:{a=328607;break}case -24:{a=328596;break}case -64:{a=328591;break}case 0:{a=328587;break}case -17:{a=328580;break}default:a=328567}while(0);h=c[d>>2]|0;c[e>>2]=a;mn(h,298305,e);mn(c[d>>2]|0,298346,f);aa=g;return}function lj(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;q=aa;aa=aa+128|0;m=q+124|0;s=q+120|0;p=q+96|0;o=q+24|0;r=q;c[m>>2]=j;c[s>>2]=k;n=p+16|0;c[p>>2]=288504;j=p+4|0;c[j>>2]=m;c[p+8>>2]=s;c[n>>2]=p;k=r+16|0;c[k>>2]=r;c[r>>2]=288504;s=c[j>>2]|0;j=c[j+4>>2]|0;m=r+4|0;c[m>>2]=s;c[m+4>>2]=j;c[o>>2]=0;c[o+4>>2]=b;m=o+8|0;l=o+24|0;c[l>>2]=m;c[m>>2]=288504;m=o+12|0;c[m>>2]=s;c[m+4>>2]=j;m=o+32|0;sn(m,e,f);b=o+44|0;sn(b,g,h);c[o+56>>2]=i;c[o+60>>2]=0;c[o+64>>2]=0;k=c[k>>2]|0;if((r|0)!=(k|0)){if(k|0)ma[c[(c[k>>2]|0)+20>>2]&255](k)}else ma[c[(c[k>>2]|0)+16>>2]&255](k);j=dj(o,d)|0;if((a[b+11>>0]|0)<0)HA(c[b>>2]|0);if((a[m+11>>0]|0)<0)HA(c[m>>2]|0);k=c[l>>2]|0;if((o+8|0)!=(k|0)){if(k|0)ma[c[(c[k>>2]|0)+20>>2]&255](k)}else ma[c[(c[k>>2]|0)+16>>2]&255](k);k=c[n>>2]|0;if((p|0)==(k|0)){ma[c[(c[k>>2]|0)+16>>2]&255](k);aa=q;return j|0}if(!k){aa=q;return j|0}ma[c[(c[k>>2]|0)+20>>2]&255](k);aa=q;return j|0}function mj(a){a=a|0;return}function nj(a){a=a|0;HA(a);return}function oj(a){a=a|0;var b=0,d=0,e=0;b=FA(12)|0;c[b>>2]=288504;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function pj(a,b){a=a|0;b=b|0;var d=0,e=0;c[b>>2]=288504;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return}function qj(a){a=a|0;return}function rj(a){a=a|0;HA(a);return}function sj(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=aa;aa=aa+16|0;i=k;j=k+8|0;g=c[b>>2]|0;e=c[b+4>>2]|0;c[i>>2]=g;c[i+4>>2]=e;h=a+4|0;f=c[c[h>>2]>>2]|0;d=c[a+8>>2]|0;b=FA(20)|0;pn(b,c[d>>2]|0);c[j>>2]=b;d=f+4|0;a=c[d>>2]|0;if(a>>>0>=(c[f+8>>2]|0)>>>0){vj(f,i,j);b=c[j>>2]|0;c[j>>2]=0;if(b|0)ma[c[(c[b>>2]|0)+4>>2]&255](b)}else{c[j>>2]=0;sn(a,g,e);c[a+12>>2]=b;c[d>>2]=(c[d>>2]|0)+16;c[j>>2]=0}aa=k;return c[(c[(c[c[h>>2]>>2]|0)+4>>2]|0)+-4>>2]|0}function tj(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==298426?a+4|0:0)|0}function uj(a){a=a|0;return 285400}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,k=0,l=0,m=0,n=0,o=0,p=0;l=b+4|0;f=c[b>>2]|0;k=(c[l>>2]|0)-f>>4;g=k+1|0;if(g>>>0>268435455)oB();m=b+8|0;i=(c[m>>2]|0)-f|0;f=i>>3;f=i>>4>>>0<134217727?(f>>>0<g>>>0?g:f):268435455;do if(f)if(f>>>0>268435455)U();else{j=FA(f<<4)|0;break}else j=0;while(0);g=j+(k<<4)|0;i=j+(f<<4)|0;n=c[d>>2]|0;f=c[d+4>>2]|0;h=c[e>>2]|0;c[e>>2]=0;sn(g,n,f);c[j+(k<<4)+12>>2]=h;h=g+16|0;f=c[b>>2]|0;e=f;d=c[l>>2]|0;if((d|0)!=(f|0)){e=(d+-16-e|0)>>>4;do{n=g;g=g+-16|0;p=d;d=d+-16|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;p=p+-4|0;o=c[p>>2]|0;c[p>>2]=0;c[n+-4>>2]=o}while((d|0)!=(f|0));g=j+(k+-1-e<<4)|0;e=c[b>>2]|0;f=c[l>>2]|0}c[b>>2]=g;c[l>>2]=h;c[m>>2]=i;d=e;if((f|0)!=(d|0))do{p=f+-4|0;f=f+-16|0;g=c[p>>2]|0;c[p>>2]=0;if(g|0)ma[c[(c[g>>2]|0)+4>>2]&255](g);if((a[f+11>>0]|0)<0)HA(c[f>>2]|0)}while((f|0)!=(d|0));if(!e)return;HA(e);return}function wj(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;if(e){e=Y(298894)|0;if(!e)e=yA(tA(d)|0)|0;else e=uA(e)|0;e=(e|0)!=0&1}else e=0;a[b+4>>0]=e;return}function xj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+12>>2]=f;return}function yj(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,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;H=aa;aa=aa+64|0;G=H+8|0;F=H;C=H+40|0;E=H+24|0;D=H+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((d|0)==(e|0)){aa=H;return}B=i+11|0;z=i+4|0;y=C+11|0;x=h+4|0;u=(f|0)==0;k=E+11|0;p=E+4|0;l=E+11|0;r=E+4|0;w=(g|0)==0;n=E+11|0;t=E+4|0;m=E+11|0;s=E+4|0;j=D+11|0;o=D+4|0;q=C+4|0;v=E+12|0;do{f=a[B>>0]|0;f=((f<<24>>24<0?c[z>>2]|0:f&255)|0)==0;i=f?0:2;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;a[y>>0]=i;if(!f)aC(C|0,32,i|0)|0;a[C+i>>0]=0;LA(D,C);cB(D,(a[x>>0]|0)==0?329996:299171)|0;i=c[d+8>>2]|0;if(i|0){tn(E,c[d+4>>2]|0,i);h=a[k>>0]|0;f=h<<24>>24<0;i=c[E>>2]|0;bB(D,f?i:E,f?c[p>>2]|0:h&255)|0;if(f)HA(i);cB(D,320958)|0}if(u){h=c[d+16>>2]|0;c[F>>2]=c[d+12>>2];c[F+4>>2]=h;zj(E,299176,F);h=a[l>>0]|0;f=h<<24>>24<0;i=c[E>>2]|0;bB(D,f?i:E,f?c[r>>2]|0:h&255)|0;if(f)HA(i)}else{i=c[d+12>>2]|0;if((i|0)!=-1?(c[G>>2]=i,zj(E,305703,G),h=a[m>>0]|0,f=h<<24>>24<0,A=c[E>>2]|0,bB(D,f?A:E,f?c[s>>2]|0:h&255)|0,f):0)HA(A)}cB(D,(a[x>>0]|0)==0?329996:299184)|0;cB(D,(c[d>>2]|0)==0?322064:322072)|0;cB(D,299190)|0;cB(D,(a[x>>0]|0)==0?329996:299193)|0;i=d+24|0;f=a[i+11>>0]|0;h=f<<24>>24<0;bB(D,h?c[i>>2]|0:i,h?c[d+28>>2]|0:f&255)|0;dB(D,10);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!w){h=d+16|0;f=d+20|0;Vl(g,c[d+12>>2]|0,c[h>>2]|0,c[f>>2]|0,E);i=a[n>>0]|0;if((i<<24>>24<0?c[t>>2]|0:i&255)|0){i=a[y>>0]|0;J=i<<24>>24<0;I=J?c[C>>2]|0:C;i=J?c[q>>2]|0:i&255;bB(D,I,i)|0;J=a[n>>0]|0;K=J<<24>>24<0;bB(D,K?c[E>>2]|0:E,K?c[t>>2]|0:J&255)|0;dB(D,10);bB(D,I,i)|0;i=c[h>>2]|0;h=i+-1-(c[v>>2]|0)|0;i=(c[f>>2]|0)-i|0;f=a[n>>0]|0;f=(f<<24>>24<0?c[t>>2]|0:f&255)-h|0;i=f>>>0<i>>>0?f:i;$A(D,h,32)|0;cB(D,(a[x>>0]|0)==0?329996:299171)|0;cB(D,(a[x>>0]|0)==0?329996:299198)|0;$A(D,(i|0)==0?1:i,94)|0;cB(D,(a[x>>0]|0)==0?329996:299193)|0;dB(D,10);i=a[n>>0]|0}if(i<<24>>24<0)HA(c[E>>2]|0)}if((a[y>>0]|0)<0)HA(c[C>>2]|0);K=a[j>>0]|0;J=K<<24>>24<0;bB(b,J?c[D>>2]|0:D,J?c[o>>2]|0:K&255)|0;if((a[j>>0]|0)<0)HA(c[D>>2]|0);d=d+36|0}while((d|0)!=(e|0));aa=H;return}function zj(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=aa;aa=aa+32|0;j=l+16|0;i=l;c[j>>2]=e;c[i>>2]=c[j>>2];j=Bz(0,0,d,j)|0;h=j+1|0;if(!h)e=0;else{if((j|0)<-1)oB();g=FA(h)|0;e=h;f=g;while(1){a[f>>0]=0;e=e+-1|0;if(!e){e=g;break}else f=f+1|0}}Bz(e,h,d,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(j>>>0>4294967279)JA();if(j>>>0<11){a[b+11>>0]=j;if(j)k=11}else{d=j+16&-16;k=FA(d)|0;c[b>>2]=k;c[b+8>>2]=d|-2147483648;c[b+4>>2]=j;b=k;k=11}if((k|0)==11)_B(b|0,e|0,j|0)|0;a[b+j>>0]=0;if(!e){aa=l;return}HA(e);aa=l;return}function Aj(a,b){a=a|0;b=b|0;c[a>>2]=b;b=a+4|0;a=b+36|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Bj(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;w=aa;aa=aa+16|0;q=w+12|0;u=w+8|0;t=w;v=a+4|0;e=c[v>>2]|0;m=a+8|0;c[m>>2]=e;s=a+16|0;d=c[s>>2]|0;n=a+20|0;c[n>>2]=d;r=a+28|0;o=a+32|0;c[o>>2]=c[r>>2];c[q>>2]=b;c[u>>2]=0;p=a+12|0;if((c[p>>2]|0)>>>0>e>>>0){c[e>>2]=0;c[m>>2]=e+4}else{Cj(v,u);d=c[n>>2]|0}l=a+24|0;if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Dj(s,q);d=c[m>>2]|0;if((c[v>>2]|0)==(d|0)){a=0;aa=w;return a|0}k=t+4|0;i=a+36|0;j=t+4|0;a:while(1){e=d+-4|0;g=c[n>>2]|0;b=g+-4|0;h=c[b>>2]|0;b:do switch(c[e>>2]|0){case 0:{c[m>>2]=e;c[n>>2]=b;if((Ej(a,h)|0)==1){d=1;e=93;break a}break}case 1:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(!e){g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+16>>2]&511](g,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Cj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Dj(s,q);break}case 2:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(e|0){b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Cj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Dj(s,q);break b}g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+72>>2]&511](g,h)|0)==1){d=1;e=93;break a}e=c[m>>2]|0;b=e+-4|0;c[m>>2]=b;d=(c[n>>2]|0)+-4|0;c[n>>2]=d;c[o>>2]=(c[o>>2]|0)+-8;f=h+144|0;c[q>>2]=3;c[u>>2]=h;if(b>>>0<(c[p>>2]|0)>>>0){c[b>>2]=3;c[m>>2]=e}else{Fj(v,q);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=h;c[n>>2]=(c[n>>2]|0)+4}else Dj(s,u);d=c[f>>2]|0;c[t>>2]=f;c[k>>2]=d;d=c[o>>2]|0;if(d>>>0<(c[i>>2]|0)>>>0){f=t;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[o>>2]=(c[o>>2]|0)+8}else Gj(r,t);break}case 3:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(!e){g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+76>>2]&511](g,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Cj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Dj(s,q);break}case 4:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(!e){g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+100>>2]&511](g,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Cj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Dj(s,q);break}case 5:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(e|0){b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Cj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Dj(s,q);break b}f=h+144|0;d=c[a>>2]|0;e=c[d>>2]|0;if(!(c[h+152>>2]|0)){if((fa[c[e+204>>2]&511](d,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}if((fa[c[e+200>>2]&511](d,h)|0)==1){d=1;e=93;break a}e=c[m>>2]|0;b=e+-4|0;c[m>>2]=b;d=(c[n>>2]|0)+-4|0;c[n>>2]=d;c[o>>2]=(c[o>>2]|0)+-8;c[q>>2]=6;c[u>>2]=h;if(b>>>0<(c[p>>2]|0)>>>0){c[b>>2]=6;c[m>>2]=e}else{Fj(v,q);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=h;c[n>>2]=(c[n>>2]|0)+4}else Dj(s,u);d=c[f>>2]|0;c[t>>2]=f;c[j>>2]=d;d=c[o>>2]|0;if(d>>>0<(c[i>>2]|0)>>>0){f=t;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[o>>2]=(c[o>>2]|0)+8}else Gj(r,t);break}case 6:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(!e){g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+204>>2]&511](g,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Cj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Dj(s,q);break}default:{}}while(0);d=c[m>>2]|0;if((c[v>>2]|0)==(d|0)){d=0;e=93;break}}if((e|0)==93){aa=w;return d|0}return 0}function Cj(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);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,l=0,m=0;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);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;j=aa;aa=aa+16|0;g=j+12|0;h=j+8|0;i=j;do switch(c[b+32>>2]|0){case 0:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+224>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 3:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+228>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 1:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+232>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 2:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+236>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 5:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+216>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 4:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+220>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 6:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+8>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 7:{f=c[a>>2]|0;if((fa[c[(c[f>>2]|0)+12>>2]&511](f,b)|0)==1){a=1;aa=j;return a|0}f=b+112|0;c[g>>2]=1;c[h>>2]=b;e=a+8|0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=1;c[e>>2]=d+4}else Fj(a+4|0,g);e=a+20|0;d=c[e>>2]|0;if(d>>>0<(c[a+24>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=(c[e>>2]|0)+4}else Dj(a+16|0,h);e=c[f>>2]|0;c[i>>2]=f;c[i+4>>2]=e;e=a+32|0;d=c[e>>2]|0;if(d>>>0<(c[a+36>>2]|0)>>>0){h=i;i=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=i;c[e>>2]=(c[e>>2]|0)+8}else Gj(a+28|0,i);break}case 8:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+20>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 9:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+24>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 10:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+28>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 11:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+32>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 12:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+36>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 13:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+40>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 14:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+44>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 15:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+48>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 16:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+52>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 17:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+56>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 18:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+60>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 19:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+64>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 20:{f=c[a>>2]|0;if((fa[c[(c[f>>2]|0)+68>>2]&511](f,b)|0)==1){a=1;aa=j;return a|0}f=b+112|0;c[g>>2]=2;c[h>>2]=b;e=a+8|0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=2;c[e>>2]=d+4}else Fj(a+4|0,g);e=a+20|0;d=c[e>>2]|0;if(d>>>0<(c[a+24>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=(c[e>>2]|0)+4}else Dj(a+16|0,h);e=c[f>>2]|0;c[i>>2]=f;c[i+4>>2]=e;e=a+32|0;d=c[e>>2]|0;if(d>>>0<(c[a+36>>2]|0)>>>0){h=i;i=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=i;c[e>>2]=(c[e>>2]|0)+8}else Gj(a+28|0,i);break}case 21:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+80>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 22:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+84>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 23:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+88>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 24:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+92>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 25:{f=c[a>>2]|0;if((fa[c[(c[f>>2]|0)+96>>2]&511](f,b)|0)==1){a=1;aa=j;return a|0}f=b+112|0;c[g>>2]=4;c[h>>2]=b;e=a+8|0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=4;c[e>>2]=d+4}else Fj(a+4|0,g);e=a+20|0;d=c[e>>2]|0;if(d>>>0<(c[a+24>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=(c[e>>2]|0)+4}else Dj(a+16|0,h);e=c[f>>2]|0;c[i>>2]=f;c[i+4>>2]=e;e=a+32|0;d=c[e>>2]|0;if(d>>>0<(c[a+36>>2]|0)>>>0){h=i;i=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=i;c[e>>2]=(c[e>>2]|0)+8}else Gj(a+28|0,i);break}case 26:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+104>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 27:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+108>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 28:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+112>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 29:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+116>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 30:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+120>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 31:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+124>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 43:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+128>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 44:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+132>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 45:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+136>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 46:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+140>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 49:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+144>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 47:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+148>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 48:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+152>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 34:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+156>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 33:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+160>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 32:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+164>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 35:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+212>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 36:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+168>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 37:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+172>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 38:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+176>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 39:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+180>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 42:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+184>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 51:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+208>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 52:{f=c[a>>2]|0;if((fa[c[(c[f>>2]|0)+196>>2]&511](f,b)|0)==1){a=1;aa=j;return a|0}f=b+112|0;c[g>>2]=5;c[h>>2]=b;e=a+8|0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=5;c[e>>2]=d+4}else Fj(a+4|0,g);e=a+20|0;d=c[e>>2]|0;if(d>>>0<(c[a+24>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=(c[e>>2]|0)+4}else Dj(a+16|0,h);e=c[f>>2]|0;c[i>>2]=f;c[i+4>>2]=e;e=a+32|0;d=c[e>>2]|0;if(d>>>0<(c[a+36>>2]|0)>>>0){h=i;i=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=i;c[e>>2]=(c[e>>2]|0)+8}else Gj(a+28|0,i);break}case 53:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+188>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 50:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+240>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 40:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+244>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 41:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+248>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 54:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+192>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}default:{}}while(0);a=0;aa=j;return a|0}function Fj(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function Gj(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>3;d=f+1|0;if(d>>>0>536870911)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>2;e=m>>3>>>0<268435455?(e>>>0<d>>>0?d:e):536870911;do if(e)if(e>>>0>536870911)U();else{k=FA(e<<3)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<3)|0;f=b;b=c[f+4>>2]|0;m=d;c[m>>2]=c[f>>2];c[m+4>>2]=b;if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+8;c[j>>2]=k+(e<<3);if(!g)return;HA(g);return}function Hj(a,b){a=a|0;b=b|0;b=c[b>>2]|0;if(!b){a=0;return a|0}while(1){if((Bj(a,b)|0)==1){b=1;a=5;break}b=c[b+4>>2]|0;if(!b){b=0;a=5;break}}if((a|0)==5)return b|0;return 0}function Ij(a,b){a=a|0;b=b|0;b=c[b+108>>2]|0;if(!b){a=0;return a|0}while(1){if((Bj(a,b)|0)==1){b=1;a=5;break}b=c[b+4>>2]|0;if(!b){b=0;a=5;break}}if((a|0)==5)return b|0;return 0}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;un(a,b,c,0,xn(b,c,46)|0);return}function Kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=b;g=xn(b,d,47)|0;e=xn(b,d,92)|0;h=(e|0)==-1;if((e&g|0)==-1){c[a>>2]=f;c[a+4>>2]=d;return}if((g|0)==-1){if(h){c[a>>2]=f;c[a+4>>2]=d;return}}else e=h?g:g>>>0<e>>>0?e:g;un(a,b,d,e+1|0,-1);return}function Lj(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,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=aa;aa=aa+128|0;E=I+112|0;G=I+88|0;A=I+72|0;H=I;c[H>>2]=288548;F=H+4|0;c[F>>2]=0;D=H+8|0;Aj(D,H);C=H+48|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[F>>2]=b;d=c[b+100>>2]|0;m=c[b+104>>2]|0;a:do if((d|0)!=(m|0)){t=H+52|0;w=H+56|0;v=H+60|0;u=H+64|0;s=H+68|0;q=G+11|0;n=G+8|0;o=G+4|0;p=A+11|0;r=G+20|0;while(1){i=c[d>>2]|0;switch(c[i+28>>2]|0){case 0:{k=c[t>>2]|0;l=(c[F>>2]|0)+216|0;e=t;B=9;break}case 1:{k=c[w>>2]|0;l=(c[F>>2]|0)+296|0;e=w;B=9;break}case 2:{k=c[v>>2]|0;l=(c[F>>2]|0)+316|0;e=v;B=9;break}case 3:{k=c[u>>2]|0;l=(c[F>>2]|0)+236|0;e=u;B=9;break}case 4:{k=c[s>>2]|0;l=(c[F>>2]|0)+196|0;e=s;B=9;break}default:{}}if((B|0)==9){B=0;c[e>>2]=k+1;j=i+32|0;g=i+4|0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;f=a[g+11>>0]|0;h=f<<24>>24<0;f=h?c[i+8>>2]|0:f&255;e=f+1|0;if(e>>>0>4294967279)break;if(e>>>0<11){a[q>>0]=1;e=G}else{J=f+17&-16;e=FA(J)|0;c[G>>2]=e;c[n>>2]=J|-2147483648;c[o>>2]=1}a[e>>0]=36;a[e+1>>0]=0;bB(G,h?c[g>>2]|0:g,f)|0;dB(G,46);c[E>>2]=c[G>>2];c[E+4>>2]=c[G+4>>2];c[E+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;g=i+16|0;J=a[g+11>>0]|0;h=J<<24>>24<0;bB(E,h?c[g>>2]|0:g,h?c[i+20>>2]|0:J&255)|0;c[A>>2]=c[E>>2];c[A+4>>2]=c[E+4>>2];c[A+8>>2]=c[E+8>>2];c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if((a[q>>0]|0)<0)HA(c[G>>2]|0);e=a[p>>0]|0;f=e<<24>>24<0?c[A>>2]|0:A;J=a[j+11>>0]|0;if(!((J<<24>>24<0?c[i+36>>2]|0:J&255)|0)){e=0;while(1){Mj(f,-1,e,j);if(!(Nj(l,j)|0))break;else e=e+1|0}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[r>>2]=k;Hg(E,l,j,G);zg(l,c[E>>2]|0);e=a[p>>0]|0}if(e<<24>>24<0)HA(c[A>>2]|0)}d=d+4|0;if((d|0)==(m|0))break a}JA()}while(0);d=c[b+112>>2]|0;i=c[b+116>>2]|0;b:do if((d|0)!=(i|0)){l=A+11|0;j=A+8|0;k=A+4|0;m=G+20|0;while(1){h=c[d>>2]|0;switch(c[h+12>>2]|0){case 0:{e=c[F>>2]|0;g=h+16|0;f=Jk(e,g)|0;if(f|0){x=e+216|0;y=vk(e,g)|0;z=f;B=37}break}case 1:{e=c[F>>2]|0;g=h+16|0;f=Mk(e,g)|0;if(f|0){x=e+296|0;y=xk(e,g)|0;z=f;B=37}break}case 2:{e=c[F>>2]|0;g=h+16|0;f=Nk(e,g)|0;if(f|0){x=e+316|0;y=yk(e,g)|0;z=f;B=37}break}case 3:{e=c[F>>2]|0;g=h+16|0;f=Lk(e,g)|0;if(f|0){x=e+236|0;y=wk(e,g)|0;z=f;B=37}break}case 4:{e=c[F>>2]|0;g=h+16|0;f=Ok(e,g)|0;if(f|0){x=e+196|0;y=Ak(e,g)|0;z=f;B=37}break}default:{}}if((B|0)==37?(B=0,z|0):0){c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;f=a[h+11>>0]|0;g=f<<24>>24<0;f=g?c[h+4>>2]|0:f&255;e=f+1|0;if(e>>>0>4294967279)break;if(e>>>0<11){a[l>>0]=1;e=A}else{J=f+17&-16;e=FA(J)|0;c[A>>2]=e;c[j>>2]=J|-2147483648;c[k>>2]=1}a[e>>0]=36;a[e+1>>0]=0;bB(A,g?c[h>>2]|0:h,f)|0;e=a[l>>0]|0;f=e<<24>>24<0?c[A>>2]|0:A;J=a[z+11>>0]|0;if(!((J<<24>>24<0?c[z+4>>2]|0:J&255)|0)){e=0;while(1){Mj(f,-1,e,z);if(!(Nj(x,z)|0))break;else e=e+1|0}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[m>>2]=y;Hg(E,x,z,G);zg(x,c[E>>2]|0);e=a[l>>0]|0}if(e<<24>>24<0)HA(c[A>>2]|0)}d=d+4|0;if((d|0)==(i|0))break b}JA()}while(0);i=b+88|0;h=b+92|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){j=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+236|0;e=0;while(1){Mj(299215,g,e,f);if(!(Nj(d,f)|0))break;else e=e+1|0}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[j>>2]=g;Hg(E,d,f,G);zg(d,c[E>>2]|0);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}i=b+124|0;h=b+128|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){j=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+276|0;e=0;while(1){Mj(299218,g,e,f);if(!(Nj(d,f)|0))break;else e=e+1|0}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[j>>2]=g;Hg(E,d,f,G);zg(d,c[E>>2]|0);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}i=b+76|0;h=b+80|0;d=c[i>>2]|0;c:do if((c[h>>2]|0)!=(d|0)){j=G+20|0;g=0;do{d=c[d+(g<<2)>>2]|0;J=a[d+11>>0]|0;if(!((J<<24>>24<0?c[d+4>>2]|0:J&255)|0)){e=(c[F>>2]|0)+216|0;f=0;while(1){Mj(299221,g,f,d);if(!(Nj(e,d)|0))break;else f=f+1|0}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[j>>2]=g;Hg(E,e,d,G);zg(e,c[E>>2]|0)}Oj(d);c[C>>2]=0;if((Ij(D,d)|0)==1)break c;g=g+1|0;d=c[i>>2]|0}while(g>>>0<(c[h>>2]|0)-d>>2>>>0)}while(0);j=b+136|0;h=b+140|0;e=c[h>>2]|0;d=c[j>>2]|0;if((e|0)!=(d|0)){i=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+296|0;e=0;while(1){Mj(299224,g,e,f);if(!(Nj(d,f)|0))break;else e=e+1|0}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[i>>2]=g;Hg(E,d,f,G);zg(d,c[E>>2]|0);e=c[h>>2]|0;d=c[j>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}j=b+160|0;h=b+164|0;e=c[h>>2]|0;d=c[j>>2]|0;if((e|0)!=(d|0)){i=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+316|0;e=0;while(1){Mj(299227,g,e,f);if(!(Nj(d,f)|0))break;else e=e+1|0}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[i>>2]=g;Hg(E,d,f,G);zg(d,c[E>>2]|0);e=c[h>>2]|0;d=c[j>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}i=b+64|0;h=b+68|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){j=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+196|0;e=0;while(1){Mj(299230,g,e,f);if(!(Nj(d,f)|0))break;else e=e+1|0}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[j>>2]=g;Hg(E,d,f,G);zg(d,c[E>>2]|0);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}i=b+172|0;h=b+176|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){j=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+336|0;e=0;while(1){Mj(299233,g,e,f);if(!(Nj(d,f)|0))break;else e=e+1|0}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[j>>2]=g;Hg(E,d,f,G);zg(d,c[E>>2]|0);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}j=b+148|0;h=b+152|0;e=c[h>>2]|0;d=c[j>>2]|0;if((e|0)!=(d|0)){i=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+356|0;e=0;while(1){Mj(299230,g,e,f);if(!(Nj(d,f)|0))break;else e=e+1|0}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[i>>2]=g;Hg(E,d,f,G);zg(d,c[E>>2]|0);e=c[h>>2]|0;d=c[j>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}c[F>>2]=0;c[H>>2]=288548;d=c[H+36>>2]|0;if(d|0){c[H+40>>2]=d;HA(d)}d=c[H+24>>2]|0;if(d|0){c[H+28>>2]=d;HA(d)}d=c[H+12>>2]|0;if(!d){aa=I;return}c[H+16>>2]=d;HA(d);aa=I;return}function Mj(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=aa;aa=aa+32|0;h=j+12|0;i=j;ZA(f,b)|0;if((d|0)!=-1?(iB(h,d),d=a[h+11>>0]|0,b=d<<24>>24<0,g=c[h>>2]|0,bB(f,b?g:h,b?c[h+4>>2]|0:d&255)|0,b):0)HA(g);if(!e){aa=j;return}iB(i,e);e=i+11|0;eB(i,(a[e>>0]|0)<0?c[i>>2]|0:i);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=a[h+11>>0]|0;b=d<<24>>24<0;g=c[h>>2]|0;bB(f,b?g:h,b?c[h+4>>2]|0:d&255)|0;if(b)HA(g);if((a[e>>0]|0)<0)HA(c[i>>2]|0);aa=j;return}function Nj(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;s=a[e+11>>0]|0;r=s<<24>>24<0;t=r?c[e>>2]|0:e;s=r?c[e+4>>2]|0:s&255;if(s>>>0>3){e=t;h=s;f=s;while(1){r=v(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24,1540483477)|0;h=(v(r>>>24^r,1540483477)|0)^(v(h,1540483477)|0);f=f+-4|0;if(f>>>0<=3)break;else e=e+4|0}r=s+-4|0;f=r&-4;g=t+(f+4)|0;e=h;f=r-f|0}else{g=t;e=s;f=s}switch(f|0){case 3:{i=d[g+2>>0]<<16^e;l=7;break}case 2:{i=e;l=7;break}case 1:{j=e;l=8;break}default:k=e}if((l|0)==7){j=d[g+1>>0]<<8^i;l=8}if((l|0)==8)k=v(j^d[g>>0],1540483477)|0;r=v(k>>>13^k,1540483477)|0;r=r>>>15^r;p=c[b+4>>2]|0;if(!p){t=0;return t|0}i=p+-1|0;f=(i&p|0)==0;if(!f)if(r>>>0<p>>>0)q=r;else q=(r>>>0)%(p>>>0)|0;else q=r&i;e=c[(c[b>>2]|0)+(q<<2)>>2]|0;if(!e){t=0;return t|0}j=c[e>>2]|0;if(!j){t=0;return t|0}k=(s|0)==0;if(f){e=j;a:while(1){l=c[e+4>>2]|0;f=(l|0)==(r|0);if(!(f|(l&i|0)==(q|0))){e=0;l=45;break}do if(f?(m=e+8|0,n=a[m+11>>0]|0,o=n<<24>>24<0,n=n&255,((o?c[e+12>>2]|0:n)|0)==(s|0)):0){f=c[m>>2]|0;g=o?f:m;f=f&255;if(o){if(k){l=45;break a}if(!(zz(g,t,s)|0)){l=45;break a}else break}if(k){l=45;break a}if((a[t>>0]|0)==f<<24>>24){f=n;g=m;h=t;do{f=f+-1|0;g=g+1|0;if(!f){l=45;break a}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);e=c[e>>2]|0;if(!e){e=0;l=45;break}}if((l|0)==45)return e|0}b:while(1){e=c[j+4>>2]|0;do if((e|0)==(r|0)){e=j+8|0;g=a[e+11>>0]|0;i=g<<24>>24<0;g=g&255;if(((i?c[j+12>>2]|0:g)|0)==(s|0)){f=c[e>>2]|0;h=i?f:e;f=f&255;if(i){if(k){e=j;l=45;break b}if(!(zz(h,t,s)|0)){e=j;l=45;break b}else break}if(k){e=j;l=45;break b}if((a[t>>0]|0)==f<<24>>24){f=t;do{g=g+-1|0;e=e+1|0;if(!g){e=j;l=45;break b}f=f+1|0}while((a[e>>0]|0)==(a[f>>0]|0))}}}else{if(e>>>0>=p>>>0)e=(e>>>0)%(p>>>0)|0;if((e|0)!=(q|0)){e=0;l=45;break b}}while(0);j=c[j>>2]|0;if(!j){e=0;l=45;break}}if((l|0)==45)return e|0;return 0}function Oj(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;s=aa;aa=aa+64|0;m=s+48|0;p=s+24|0;j=s+12|0;o=s;c[j>>2]=0;r=j+4|0;c[r>>2]=0;c[j+8>>2]=0;q=b+52|0;l=b+56|0;f=(c[l>>2]|0)-(c[q>>2]|0)>>2;n=b+88|0;tl(f+(Fk(c[b+76>>2]|0,c[b+80>>2]|0)|0)|0,n,j);f=c[r>>2]|0;j=c[j>>2]|0;k=j;b=f;if((f|0)!=(j|0)){i=p+20|0;g=o+11|0;d=k;h=0;do{e=a[d+(h*12|0)+11>>0]|0;if(e<<24>>24<0)d=c[d+(h*12|0)+4>>2]|0;else d=e&255;if(!d){d=h>>>0<(c[l>>2]|0)-(c[q>>2]|0)>>2>>>0?299236:299239;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;e=0;while(1){Mj(d,h,e,o);if(!(Nj(n,o)|0))break;else e=e+1|0}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[i>>2]=h;Hg(m,n,o,p);zg(n,c[m>>2]|0);UA(k+(h*12|0)|0,o)|0;if((a[g>>0]|0)<0)HA(c[o>>2]|0);d=k}else d=j;h=h+1|0}while(h>>>0<((f-j|0)/12|0)>>>0)}if(!j){aa=s;return}if((b|0)!=(k|0))do{b=b+-12|0;if((a[b+11>>0]|0)<0)HA(c[b>>2]|0)}while((b|0)!=(k|0));c[r>>2]=k;HA(j);aa=s;return}function Pj(a){a=a|0;var b=0;c[a>>2]=288548;b=c[a+36>>2]|0;if(b|0){c[a+40>>2]=b;HA(b)}b=c[a+24>>2]|0;if(b|0){c[a+28>>2]=b;HA(b)}b=c[a+12>>2]|0;if(!b)return;c[a+16>>2]=b;HA(b);return}function Qj(a){a=a|0;var b=0;c[a>>2]=288548;b=c[a+36>>2]|0;if(b|0){c[a+40>>2]=b;HA(b)}b=c[a+24>>2]|0;if(b|0){c[a+28>>2]=b;HA(b)}b=c[a+12>>2]|0;if(!b){HA(a);return}c[a+16>>2]=b;HA(b);HA(a);return}function Rj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;f=g;e=b+48|0;b=c[e>>2]|0;c[e>>2]=b+1;e=d+36|0;h=a[e+11>>0]|0;if((h<<24>>24<0?c[d+40>>2]|0:h&255)|0){aa=g;return 0}ZA(e,299248)|0;if((b|0)==-1){aa=g;return 0}iB(f,b);d=a[f+11>>0]|0;h=d<<24>>24<0;b=c[f>>2]|0;bB(e,h?b:f,h?c[f+4>>2]|0:d&255)|0;if(h)HA(b);aa=g;return 0}function Sj(a,b){a=a|0;b=b|0;return 0}function Tj(a,b){a=a|0;b=b|0;return 0}function Uj(a,b){a=a|0;b=b|0;return 0}function Vj(a,b){a=a|0;b=b|0;return 0}function Wj(a,b){a=a|0;b=b|0;return 0}function Xj(a,b){a=a|0;b=b|0;return 0}function Yj(a,b){a=a|0;b=b|0;return 0}function Zj(a,b){a=a|0;b=b|0;return 0}function _j(a,b){a=a|0;b=b|0;return 0}function $j(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;f=g;e=b+48|0;b=c[e>>2]|0;c[e>>2]=b+1;e=d+36|0;h=a[e+11>>0]|0;if((h<<24>>24<0?c[d+40>>2]|0:h&255)|0){aa=g;return 0}ZA(e,299245)|0;if((b|0)==-1){aa=g;return 0}iB(f,b);d=a[f+11>>0]|0;h=d<<24>>24<0;b=c[f>>2]|0;bB(e,h?b:f,h?c[f+4>>2]|0:d&255)|0;if(h)HA(b);aa=g;return 0}function ak(a,b){a=a|0;b=b|0;return 0}function bk(a,b){a=a|0;b=b|0;return 0}function ck(a,b){a=a|0;b=b|0;return 0}function dk(a,b){a=a|0;b=b|0;return 0}function ek(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;f=g;e=b+48|0;b=c[e>>2]|0;c[e>>2]=b+1;e=d+36|0;h=a[e+11>>0]|0;if((h<<24>>24<0?c[d+40>>2]|0:h&255)|0){aa=g;return 0}ZA(e,299242)|0;if((b|0)==-1){aa=g;return 0}iB(f,b);d=a[f+11>>0]|0;h=d<<24>>24<0;b=c[f>>2]|0;bB(e,h?b:f,h?c[f+4>>2]|0:d&255)|0;if(h)HA(b);aa=g;return 0}function fk(a,b){a=a|0;b=b|0;return 0}function gk(a,b){a=a|0;b=b|0;return 0}function hk(a,b){a=a|0;b=b|0;return 0}function ik(a,b){a=a|0;b=b|0;return 0}function jk(a,b){a=a|0;b=b|0;return 0}function kk(a,b){a=a|0;b=b|0;return 0}function lk(a,b){a=a|0;b=b|0;return 0}function mk(a,b){a=a|0;b=b|0;return 0}function nk(a,b){a=a|0;b=b|0;return 0}function ok(a,b){a=a|0;b=b|0;return 0}function pk(a,b){a=a|0;b=b|0;return 0}function qk(a,b){a=a|0;b=b|0;return 0}function rk(a,b){a=a|0;b=b|0;return 0}function sk(a,b){a=a|0;b=b|0;return 0}function tk(a){a=a|0;return c[144+(a<<2)>>2]|0}function uk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=aa;aa=aa+16|0;f=g;tn(f,d,e);d=Eg(b+256|0,f)|0;if(!d)e=-1;else e=c[d+40>>2]|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);d=c[b+112>>2]|0;if(e>>>0>=(c[b+116>>2]|0)-d>>2>>>0){b=0;aa=g;return b|0}b=c[d+(e<<2)>>2]|0;aa=g;return b|0}function vk(a,b){a=a|0;b=b|0;return vx(a+216|0,b)|0}function wk(a,b){a=a|0;b=b|0;return vx(a+236|0,b)|0}function xk(a,b){a=a|0;b=b|0;return vx(a+296|0,b)|0}function yk(a,b){a=a|0;b=b|0;return vx(a+316|0,b)|0}function zk(a,b){a=a|0;b=b|0;return vx(a+276|0,b)|0}function Ak(a,b){a=a|0;b=b|0;return vx(a+196|0,b)|0}function Bk(a,b){a=a|0;b=b|0;return vx(a+336|0,b)|0}function Ck(a,b){a=a|0;b=b|0;return vx(a+356|0,b)|0}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;switch(b|0){case 0:{d=vx(a+216|0,d)|0;b=a+48|0;break}case 3:{d=vx(a+236|0,d)|0;b=a+60|0;break}case 2:{d=vx(a+316|0,d)|0;b=a+56|0;break}case 1:{d=vx(a+296|0,d)|0;b=a+52|0;break}case 4:{d=vx(a+196|0,d)|0;b=a+44|0;break}default:{a=0;return a|0}}a=d>>>0<(c[b>>2]|0)>>>0;return a|0}function Ek(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=aa;aa=aa+16|0;q=r+4|0;p=r;d=c[a>>2]|0;o=a+4|0;c[o>>2]=d;f=c[b>>2]|0;m=b+4|0;n=c[m>>2]|0;i=n;g=f;if((f|0)==(n|0)){aa=r;return}e=d;d=c[f>>2]|0;c[q>>2]=d;c[p>>2]=1;n=a+8|0;if(i-g>>2>>>0>1){e=i;j=f;h=d;f=1;k=g;g=i;l=1;while(1){i=j+(l<<2)|0;if((c[i>>2]|0)==(h|0)){j=e;i=k;f=f+1|0}else{d=c[o>>2]|0;if(d>>>0<(c[n>>2]|0)>>>0){c[d>>2]=h;c[d+4>>2]=f;c[o>>2]=d+8;f=k;d=i}else{ni(a,q,p);d=c[b>>2]|0;e=c[m>>2]|0;f=d;d=d+(l<<2)|0}h=c[d>>2]|0;c[q>>2]=h;j=e;g=e;i=f;d=h;f=1}c[p>>2]=f;l=l+1|0;if(l>>>0>=g-i>>2>>>0)break;else{e=j;j=i;k=i}}e=c[o>>2]|0}else f=1;if(e>>>0<(c[n>>2]|0)>>>0){c[e>>2]=d;c[e+4>>2]=f;c[o>>2]=e+8}else ni(a,q,p);aa=r;return}function Fk(a,b){a=a|0;b=b|0;var d=0;if((a|0)==(b|0)){b=0;return b|0}d=a;a=0;do{a=(c[d+4>>2]|0)+a|0;d=d+8|0}while((d|0)!=(b|0));return a|0}function Gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((a|0)==(b|0)){g=0;return g|0}e=0;while(1){e=(c[a+4>>2]|0)+e|0;f=a+8|0;if(e>>>0>d>>>0)break;if((f|0)==(b|0)){a=0;g=6;break}else a=f}if((g|0)==6)return a|0;g=c[a>>2]|0;return g|0}function Hk(a,b){a=a|0;b=b|0;if(!(c[b+20>>2]|0)){b=c[b+24>>2]|0;return b|0}else{b=vx(a+88|0,b)|0;return b|0}return 0}function Ik(a,b){a=a|0;b=b|0;var d=0;d=vx(a+216|0,b)|0;b=c[a+76>>2]|0;if(d>>>0>=(c[a+80>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Jk(a,b){a=a|0;b=b|0;var d=0;d=vx(a+216|0,b)|0;b=c[a+76>>2]|0;if(d>>>0>=(c[a+80>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Kk(a,b){a=a|0;b=b|0;var d=0;d=vx(a+236|0,b)|0;b=c[a+88>>2]|0;if(d>>>0>=(c[a+92>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Lk(a,b){a=a|0;b=b|0;var d=0;d=vx(a+236|0,b)|0;b=c[a+88>>2]|0;if(d>>>0>=(c[a+92>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Mk(a,b){a=a|0;b=b|0;var d=0;d=vx(a+296|0,b)|0;b=c[a+136>>2]|0;if(d>>>0>=(c[a+140>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Nk(a,b){a=a|0;b=b|0;var d=0;d=vx(a+316|0,b)|0;b=c[a+160>>2]|0;if(d>>>0>=(c[a+164>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Ok(a,b){a=a|0;b=b|0;var d=0;d=vx(a+196|0,b)|0;b=c[a+64>>2]|0;if(d>>>0>=(c[a+68>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Pk(a,b){a=a|0;b=b|0;var d=0;d=vx(a+336|0,b)|0;b=c[a+172>>2]|0;if(d>>>0>=(c[a+176>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Qk(a,b){a=a|0;b=b|0;var d=0;d=vx(a+356|0,b)|0;b=c[a+148>>2]|0;if(d>>>0>=(c[a+152>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Rk(a,b){a=a|0;b=b|0;var d=0;d=vx(a+276|0,b)|0;b=c[a+124>>2]|0;if(d>>>0>=(c[a+128>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Sk(a,b){a=a|0;b=b|0;var d=0;d=vx(a+276|0,b)|0;b=c[a+124>>2]|0;if(d>>>0>=(c[a+128>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Tk(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;d=c[a+128>>2]|0;a=c[a+124>>2]|0;j=a;if((d|0)==(a|0)){l=-1;return l|0}k=c[b>>2]|0;l=(c[b+4>>2]|0)-k|0;h=c[b+12>>2]|0;i=(c[b+16>>2]|0)-h|0;g=d-a>>2;a=0;a:while(1){f=c[j+(a<<2)>>2]|0;m=c[f+16>>2]|0;d=c[f+12>>2]|0;b=d;e=m;b:do if((m-d|0)==(l|0)){if((b|0)!=(e|0)){d=k;while(1){if((c[b>>2]|0)!=(c[d>>2]|0))break b;b=b+4|0;if((b|0)==(e|0))break;else d=d+4|0}}d=c[f+28>>2]|0;m=c[f+24>>2]|0;b=m;e=d;if((d-m|0)==(i|0)){if((b|0)==(e|0)){b=14;break a}d=h;while(1){if((c[b>>2]|0)!=(c[d>>2]|0))break b;b=b+4|0;if((b|0)==(e|0)){b=14;break a}else d=d+4|0}}}while(0);a=a+1|0;if(a>>>0>=g>>>0){a=-1;b=14;break}}if((b|0)==14)return a|0;return 0}function Uk(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;if(a[d>>0]|0){m=vx(b+276|0,d+4|0)|0;return m|0}e=c[b+128>>2]|0;b=c[b+124>>2]|0;k=b;if((e|0)==(b|0)){m=-1;return m|0}l=c[d+40>>2]|0;m=(c[d+44>>2]|0)-l|0;i=c[d+52>>2]|0;j=(c[d+56>>2]|0)-i|0;h=e-b>>2;b=0;a:while(1){f=c[k+(b<<2)>>2]|0;n=c[f+16>>2]|0;e=c[f+12>>2]|0;d=e;g=n;b:do if((n-e|0)==(m|0)){if((d|0)!=(g|0)){e=l;while(1){if((c[d>>2]|0)!=(c[e>>2]|0))break b;d=d+4|0;if((d|0)==(g|0))break;else e=e+4|0}}g=c[f+28>>2]|0;n=c[f+24>>2]|0;d=n;f=g;if((g-n|0)==(j|0)){if((d|0)==(f|0)){d=16;break a}e=i;while(1){if((c[d>>2]|0)!=(c[e>>2]|0))break b;d=d+4|0;if((d|0)==(f|0)){d=16;break a}else e=e+4|0}}}while(0);b=b+1|0;if(b>>>0>=h>>>0){b=-1;d=16;break}}if((d|0)==16)return b|0;return 0}function Vk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+176|0;else{k=f+12|0;f=b+176|0;e=(c[f>>2]|0)-(c[b+172>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+336|0;Hg(h,e,i,g);zg(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+180>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else Wk(b+172|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;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,l=0,m=0;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function Xk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+152|0;else{k=f+12|0;f=b+152|0;e=(c[f>>2]|0)-(c[b+148>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+356|0;Hg(h,e,i,g);zg(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+156>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else Yk(b+148|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function Yk(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function Zk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+68|0;else{k=f+12|0;f=b+68|0;e=(c[f>>2]|0)-(c[b+64>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+196|0;Hg(h,e,i,g);zg(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+72>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else _k(b+64|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function _k(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function $k(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=aa;aa=aa+48|0;f=i+24|0;j=i;k=c[b>>2]|0;g=k+36|0;k=k+12|0;h=a+112|0;e=a+116|0;d=(c[e>>2]|0)-(c[h>>2]|0)>>2;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=d;d=a+256|0;Hg(f,d,g,j);zg(d,c[f>>2]|0);c[f>>2]=g;d=c[e>>2]|0;if(d>>>0<(c[a+120>>2]|0)>>>0){c[d>>2]=g;c[e>>2]=(c[e>>2]|0)+4}else al(h,f);f=c[b>>2]|0;c[b>>2]=0;e=a+36|0;d=c[e>>2]|0;if(!d){k=a+32|0;c[k>>2]=f;c[e>>2]=f;k=a+40|0;j=c[k>>2]|0;j=j+1|0;c[k>>2]=j;aa=i;return}else{c[f+8>>2]=d;k=d+4|0;c[k>>2]=f;c[e>>2]=f;k=a+40|0;j=c[k>>2]|0;j=j+1|0;c[k>>2]=j;aa=i;return}}function al(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+80|0;else{k=f+12|0;f=b+80|0;e=(c[f>>2]|0)-(c[b+76>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+216|0;Hg(h,e,i,g);zg(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+84>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else cl(b+76|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function cl(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+128|0;else{k=f+12|0;f=b+128|0;e=(c[f>>2]|0)-(c[b+124>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+276|0;Hg(h,e,i,g);zg(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+132>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else el(b+124|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function el(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function fl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+92|0;else{k=f+12|0;f=b+92|0;e=(c[f>>2]|0)-(c[b+88>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+236|0;Hg(h,e,i,g);zg(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+96>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else gl(b+88|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function gl(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function hl(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;n=aa;aa=aa+48|0;k=n+28|0;m=n+24|0;l=n;e=c[(c[d>>2]|0)+36>>2]|0;c[m>>2]=e;switch(c[e+28>>2]|0){case 0:{i=e+32|0;g=b+76|0;f=b+80|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+84>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else cl(g,k);g=b+216|0;f=i;e=b+48|0;j=22;break}case 1:{i=e+32|0;g=b+136|0;f=b+140|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+144>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else il(g,k);g=b+296|0;f=i;e=b+52|0;j=22;break}case 2:{i=e+32|0;g=b+160|0;f=b+164|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+168>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else jl(g,k);g=b+316|0;f=i;e=b+56|0;j=22;break}case 3:{i=e+32|0;g=b+88|0;f=b+92|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+96>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else gl(g,k);g=b+236|0;f=i;e=b+60|0;j=22;break}case 4:{i=e+32|0;g=b+64|0;f=b+68|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+72>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else _k(g,k);g=b+196|0;f=i;e=b+44|0;j=22;break}default:{i=0;g=-1;f=0}}if((j|0)==22){c[e>>2]=(c[e>>2]|0)+1;i=g;g=h>>2}e=a[f+11>>0]|0;if(e<<24>>24<0)e=c[f+4>>2]|0;else e=e&255;if(e|0){j=(c[d>>2]|0)+12|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];c[l+16>>2]=c[j+16>>2];c[l+20>>2]=g;kl(k,i,f,l);zg(i,c[k>>2]|0)}f=b+104|0;e=c[f>>2]|0;if((e|0)==(c[b+108>>2]|0))ll(b+100|0,m);else{c[e>>2]=c[m>>2];c[f>>2]=(c[f>>2]|0)+4}g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){d=b+32|0;c[d>>2]=g;c[f>>2]=g;b=b+40|0;d=c[b>>2]|0;d=d+1|0;c[b>>2]=d;aa=n;return}else{c[g+8>>2]=e;d=e+4|0;c[d>>2]=g;c[f>>2]=g;b=b+40|0;d=c[b>>2]|0;d=d+1|0;c[b>>2]=d;aa=n;return}}function il(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function jl(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function kl(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;i=FA(44)|0;c[b>>2]=i;c[b+4>>2]=e+8;e=i+8|0;LA(e,f);h=i+20|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];a[b+8>>0]=1;h=a[i+19>>0]|0;b=h<<24>>24<0;e=b?c[e>>2]|0:e;h=b?c[i+12>>2]|0:h&255;if(h>>>0>3){g=e;f=h;b=h;while(1){k=v(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,1540483477)|0;f=(v(k>>>24^k,1540483477)|0)^(v(f,1540483477)|0);b=b+-4|0;if(b>>>0<=3)break;else g=g+4|0}k=h+-4|0;g=k&-4;e=e+(g+4)|0;g=k-g|0}else{f=h;g=h}switch(g|0){case 3:{f=(d[e+2>>0]|0)<<16^f;j=7;break}case 2:{j=7;break}case 1:break;default:{j=f;k=j>>>13;j=k^j;j=v(j,1540483477)|0;k=j>>>15;j=k^j;k=i+4|0;c[k>>2]=j;c[i>>2]=0;return}}if((j|0)==7)f=(d[e+1>>0]|0)<<8^f;j=v(f^(d[e>>0]|0),1540483477)|0;k=j>>>13;j=k^j;j=v(j,1540483477)|0;k=j>>>15;j=k^j;k=i+4|0;c[k>>2]=j;c[i>>2]=0;return}function ll(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}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;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+40|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+44>>2]|0;else e=e&255;if(!e)f=b+164|0;else{k=f+12|0;f=b+164|0;e=(c[f>>2]|0)-(c[b+160>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+316|0;Hg(h,e,i,g);zg(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+168>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else jl(b+160|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;f=h;g=(c[b>>2]|0)+36|0;c[f>>2]=g;e=a+188|0;d=c[e>>2]|0;if(d>>>0<(c[a+192>>2]|0)>>>0){c[d>>2]=g;c[e>>2]=(c[e>>2]|0)+4}else ol(a+184|0,f);f=c[b>>2]|0;c[b>>2]=0;e=a+36|0;d=c[e>>2]|0;if(!d){b=a+32|0;c[b>>2]=f;c[e>>2]=f;a=a+40|0;b=c[a>>2]|0;b=b+1|0;c[a>>2]=b;aa=h;return}else{c[f+8>>2]=d;b=d+4|0;c[b>>2]=f;c[e>>2]=f;a=a+40|0;b=c[a>>2]|0;b=b+1|0;c[a>>2]=b;aa=h;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,l=0,m=0;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function pl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+40|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+44>>2]|0;else e=e&255;if(!e)f=b+140|0;else{k=f+12|0;f=b+140|0;e=(c[f>>2]|0)-(c[b+136>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+296|0;Hg(h,e,i,g);zg(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+144>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else il(b+136|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;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=aa;aa=aa+80|0;o=q+64|0;n=q+40|0;e=q+32|0;l=q+28|0;m=q+24|0;f=q+20|0;g=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;p=c[b>>2]|0;d=p;do switch(c[p+32>>2]|0){case 0:{c[b>>2]=0;c[e>>2]=d;bl(a,e);d=c[e>>2]|0;c[e>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 1:{c[b>>2]=0;c[l>>2]=d;fl(a,l);d=c[l>>2]|0;c[l>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 2:{c[b>>2]=0;c[m>>2]=d;hl(a,m);d=c[m>>2]|0;c[m>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 3:{c[b>>2]=0;e=p+36|0;m=p+12|0;f=a+112|0;b=a+116|0;d=(c[b>>2]|0)-(c[f>>2]|0)>>2;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=d;d=a+256|0;Hg(o,d,e,n);zg(d,c[o>>2]|0);c[o>>2]=e;d=c[b>>2]|0;if(d>>>0<(c[a+120>>2]|0)>>>0){c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+4}else al(f,o);b=a+36|0;d=c[b>>2]|0;if(!d)d=a+32|0;else{c[p+8>>2]=d;d=d+4|0}c[d>>2]=p;c[b>>2]=p;a=a+40|0;c[a>>2]=(c[a>>2]|0)+1;aa=q;return}case 4:{c[b>>2]=0;c[f>>2]=d;dl(a,f);d=c[f>>2]|0;c[f>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 5:{c[b>>2]=0;c[g>>2]=d;pl(a,g);d=c[g>>2]|0;c[g>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 6:{c[b>>2]=0;c[h>>2]=d;Xk(a,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 7:{c[b>>2]=0;c[i>>2]=d;ml(a,i);d=c[i>>2]|0;c[i>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 8:{c[b>>2]=0;c[j>>2]=d;Vk(a,j);d=c[j>>2]|0;c[j>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 9:{c[b>>2]=0;e=p+36|0;c[o>>2]=e;b=a+188|0;d=c[b>>2]|0;if(d>>>0<(c[a+192>>2]|0)>>>0){c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+4}else ol(a+184|0,o);b=a+36|0;d=c[b>>2]|0;if(!d)d=a+32|0;else{c[p+8>>2]=d;d=d+4|0}c[d>>2]=p;c[b>>2]=p;a=a+40|0;c[a>>2]=(c[a>>2]|0)+1;aa=q;return}case 10:{c[b>>2]=0;c[k>>2]=d;Zk(a,k);d=c[k>>2]|0;c[k>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}default:{aa=q;return}}while(0)}function rl(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=aa;aa=aa+16|0;g=j;i=b+8|0;d=c[i>>2]|0;if(!d){aa=j;return}h=b+4|0;do{e=c[b>>2]|0;if((e|0)==(c[h>>2]|0)){c[h>>2]=0;c[b>>2]=0;f=e+4|0}else{f=e+4|0;k=c[f>>2]|0;c[b>>2]=k;c[k+8>>2]=0}c[e+8>>2]=0;c[f>>2]=0;c[i>>2]=d+-1;c[g>>2]=e;ql(a,g);d=c[g>>2]|0;c[g>>2]=0;if(d|0)ma[c[(c[d>>2]|0)+4>>2]&255](d);d=c[i>>2]|0}while((d|0)!=0);aa=j;return}function sl(a,b){a=a|0;b=b|0;var d=0;d=vx(a+12|0,b)|0;b=c[a>>2]|0;if(d>>>0>=(c[a+4>>2]|0)-b>>2>>>0){a=0;return a|0}a=(c[b+(d<<2)>>2]|0)+8|0;return a|0}function tl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[e>>2]|0;i=e+4|0;g=c[i>>2]|0;h=f;if((g|0)==(f|0))g=h;else{do{g=g+-12|0;if((a[g+11>>0]|0)<0)HA(c[g>>2]|0)}while((g|0)!=(f|0));g=c[e>>2]|0}c[i>>2]=f;h=(h-g|0)/12|0;if(h>>>0>=b>>>0){if(h>>>0>b>>>0){g=g+(b*12|0)|0;if((g|0)!=(f|0))do{f=f+-12|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0)}while((f|0)!=(g|0));c[i>>2]=g}}else ul(e,b-h|0);f=c[d+8>>2]|0;if(!f)return;do{d=f;UA((c[e>>2]|0)+((c[d+40>>2]|0)*12|0)|0,d+8|0)|0;f=c[f>>2]|0}while((f|0)!=0);return}function ul(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;m=b+8|0;g=c[m>>2]|0;n=b+4|0;f=c[n>>2]|0;k=f;if(((g-f|0)/12|0)>>>0>=d>>>0){e=d;do{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=(c[n>>2]|0)+12|0;c[n>>2]=f;e=e+-1|0}while((e|0)!=0);return}e=c[b>>2]|0;h=(f-e|0)/12|0;i=h+d|0;l=e;if(i>>>0>357913941)oB();g=(g-e|0)/12|0;f=g<<1;f=g>>>0<178956970?(f>>>0<i>>>0?i:f):357913941;do if(f)if(f>>>0>357913941)U();else{j=FA(f*12|0)|0;break}else j=0;while(0);h=j+(h*12|0)|0;aC(h|0,0,d*12|0)|0;d=j+(f*12|0)|0;i=j+(i*12|0)|0;if((k|0)!=(l|0)){e=k;do{h=h+-12|0;e=e+-12|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}while((e|0)!=(l|0));e=c[b>>2]|0;f=c[n>>2]|0;g=e;c[b>>2]=h;c[n>>2]=i;c[m>>2]=d;if((f|0)!=(g|0))do{f=f+-12|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0)}while((f|0)!=(g|0))}else{c[b>>2]=h;c[n>>2]=i;c[m>>2]=d}if(!e)return;HA(e);return}function vl(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=0;c[a+24>>2]=b;return}function wl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=1;sn(a+24|0,b,d);return}function xl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+16|0;g=h;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];e=d+24|0;if(!(c[d+20>>2]|0)){e=c[e>>2]|0;d=b+20|0;if((c[d>>2]|0)==1?(f=b+24|0,(a[f+11>>0]|0)<0):0)HA(c[f>>2]|0);c[d>>2]=0;c[b+24>>2]=e;aa=h;return b|0}else{f=a[e+11>>0]|0;i=f<<24>>24<0;tn(g,i?c[e>>2]|0:e,i?c[d+28>>2]|0:f&255);d=b+20|0;e=b+24|0;if((c[d>>2]|0)==1?(a[e+11>>0]|0)<0:0)HA(c[e>>2]|0);c[d>>2]=1;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];aa=h;return b|0}return 0}function yl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=aa;aa=aa+16|0;g=i;h=b+20|0;e=b+24|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;c[e>>2]=-1;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];f=d+24|0;if(!(c[d+20>>2]|0)){g=c[f>>2]|0;c[h>>2]=0;c[e>>2]=g;aa=i;return}e=a[f+11>>0]|0;j=e<<24>>24<0;tn(g,j?c[f>>2]|0:f,j?c[d+28>>2]|0:e&255);e=b+24|0;if((c[h>>2]|0)==1?(a[e+11>>0]|0)<0:0)HA(c[e>>2]|0);c[h>>2]=1;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];aa=i;return}function zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+16|0;g=h;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];e=d+24|0;if(!(c[d+20>>2]|0)){e=c[e>>2]|0;d=b+20|0;if((c[d>>2]|0)==1?(f=b+24|0,(a[f+11>>0]|0)<0):0)HA(c[f>>2]|0);c[d>>2]=0;c[b+24>>2]=e;aa=h;return b|0}else{f=a[e+11>>0]|0;i=f<<24>>24<0;tn(g,i?c[e>>2]|0:e,i?c[d+28>>2]|0:f&255);d=b+20|0;e=b+24|0;if((c[d>>2]|0)==1?(a[e+11>>0]|0)<0:0)HA(c[e>>2]|0);c[d>>2]=1;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];aa=h;return b|0}return 0}function Al(b,d){b=b|0;d=d|0;var e=0,f=0;f=b+20|0;if((c[f>>2]|0)==1?(e=b+24|0,(a[e+11>>0]|0)<0):0)HA(c[e>>2]|0);c[f>>2]=0;c[b+24>>2]=d;return}function Bl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=aa;aa=aa+16|0;f=g;tn(f,d,e);e=b+20|0;d=b+24|0;if((c[e>>2]|0)==1?(a[d+11>>0]|0)<0:0)HA(c[d>>2]|0);c[e>>2]=1;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];aa=g;return}function Cl(b){b=b|0;if((c[b+20>>2]|0)!=1)return;b=b+24|0;if((a[b+11>>0]|0)>=0)return;HA(c[b>>2]|0);return}function Dl(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=-1;c[a+24>>2]=b;return}function El(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=-2;a=a+24|0;c[a>>2]=b;c[a+4>>2]=d;return}function Fl(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=-3;c[a+24>>2]=b;return}function Gl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=-4;a=a+24|0;c[a>>2]=b;c[a+4>>2]=d;return}function Hl(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=-5;a=a+24|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];return}function Il(a){a=a|0;var b=0;b=0;do{a=a>>>7;b=b+1|0}while((a|0)!=0);return b|0}function Jl(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=aa;aa=aa+16|0;g=f;a[g>>0]=d|128;a[g+1>>0]=d>>>7|128;a[g+2>>0]=d>>>14|128;a[g+3>>0]=d>>>21|128;a[g+4>>0]=d>>>28;kn(b,c,g,5,e);aa=f;return}function Kl(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;j=aa;aa=aa+16|0;i=j;e=c>>>7;if(!e){g=i;f=1;e=c}else{h=0;while(1){a[i+h>>0]=c|128;c=h+1|0;f=e>>>7;if(!f)break;else{g=e;h=c;e=f;c=g}}g=i+c|0;f=h+2|0}a[g>>0]=e&127;nn(b,i,f,d,0);aa=j;return}function Ll(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=aa;aa=aa+16|0;f=e;a[f>>0]=c|128;a[f+1>>0]=c>>>7|128;a[f+2>>0]=c>>>14|128;a[f+3>>0]=c>>>21|128;a[f+4>>0]=c>>>28;nn(b,f,5,d,0);aa=e;return}function Ml(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,j=0,k=0;k=aa;aa=aa+16|0;j=k;f=d>>>7;if(!f){h=j;g=1;f=d}else{i=0;while(1){a[j+i>>0]=d|128;d=i+1|0;g=f>>>7;if(!g)break;else{h=f;i=d;f=g;d=h}}h=j+d|0;g=i+2|0}a[h>>0]=f&127;kn(b,c,j,g,e);aa=k;return}function Nl(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;j=aa;aa=aa+16|0;i=j;e=d>>>7;if(!e){g=i;f=1;e=d}else{h=0;while(1){a[i+h>>0]=d|128;d=h+1|0;f=e>>>7;if(!f)break;else{g=e;h=d;e=f;d=g}}g=i+d|0;f=h+2|0}a[g>>0]=e&127;if((c-b|0)>>>0<f>>>0){c=0;aa=j;return c|0}_B(b|0,i|0,f|0)|0;c=f;aa=j;return c|0}function Ol(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;e=c>>7;if((c|0)<0)if((e|0)!=-1|(c&64|0)==0){f=0;while(1){a[h+f>>0]=c|128;f=f+1|0;c=e>>7;if(!((c|0)!=-1|(e&64|0)==0))break;else{g=e;e=c;c=g}}g=h+f|0;c=e}else{g=h;f=0}else if(!(e|c&64)){g=h;f=0}else{f=0;while(1){a[h+f>>0]=c|128;f=f+1|0;c=e>>7;if(!(c|e&64))break;else{g=e;e=c;c=g}}g=h+f|0;c=e}a[g>>0]=c&127;nn(b,h,f+1|0,d,0);aa=i;return}function Pl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=c&255;c=VB(c|0,d|0,7)|0;e=z()|0;if((d|0)<0)if((c|0)!=-1|(e|0)!=-1|(f&64)==0){d=c;c=0;do{a[g+c>>0]=f|-128;c=c+1|0;f=d&255;d=VB(d|0,e|0,7)|0;e=z()|0}while((d|0)!=-1|(e|0)!=-1|(f&64)==0);e=f;d=g+c|0}else{e=f;d=g;c=0}else if((c|0)==0&(e|0)==0&(f&64)==0){e=f;d=g;c=0}else{d=c;c=0;do{a[g+c>>0]=f|-128;c=c+1|0;f=d&255;d=VB(d|0,e|0,7)|0;e=z()|0}while(!((d|0)==0&(e|0)==0&(f&64)==0));e=f;d=g+c|0}a[d>>0]=e&127;nn(b,g,c+1|0,297827,0);aa=h;return}function Ql(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;if(b>>>0<e>>>0?(g=d[b>>0]|0,(g&128|0)==0):0){g=g&127;h=1}else i=4;do if((i|0)==4){j=b+1|0;if(j>>>0<e>>>0?(h=d[j>>0]|0,(h&128|0)==0):0){g=h<<7&16256|a[b>>0]&127;h=2;break}i=b+2|0;if(i>>>0<e>>>0?(k=d[i>>0]|0,(k&128|0)==0):0){g=k<<14&2080768|a[b>>0]&127|(a[j>>0]&127)<<7;h=3;break}h=b+3|0;if(h>>>0<e>>>0?(l=d[h>>0]|0,(l&128|0)==0):0){g=(a[i>>0]&127)<<14|l<<21&266338304|a[b>>0]&127|(a[j>>0]&127)<<7;h=4;break}g=b+4|0;if(g>>>0<e>>>0?(m=d[g>>0]|0,(m&128|0)==0):0)if(!(m&240)){g=(a[h>>0]&127)<<21|m<<28|(a[i>>0]&127)<<14|a[b>>0]&127|(a[j>>0]&127)<<7;h=5;break}else{f=0;return f|0}else{g=0;h=0}}while(0);c[f>>2]=g;f=h;return f|0}function Rl(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;if(b>>>0<e>>>0?(g=d[b>>0]|0,(g&128|0)==0):0){c[f>>2]=g<<25>>25;b=1;return b|0}m=b+1|0;if(m>>>0<e>>>0?(h=d[m>>0]|0,(h&128|0)==0):0){c[f>>2]=(h<<7|a[b>>0]&127)<<18>>18;b=2;return b|0}l=b+2|0;if(l>>>0<e>>>0?(i=d[l>>0]|0,(i&128|0)==0):0){c[f>>2]=(i<<14|a[b>>0]&127|(a[m>>0]&127)<<7)<<11>>11;b=3;return b|0}k=b+3|0;if(k>>>0<e>>>0?(j=d[k>>0]|0,(j&128|0)==0):0){c[f>>2]=((a[l>>0]&127)<<14|j<<21|a[b>>0]&127|(a[m>>0]&127)<<7)<<4>>4;b=4;return b|0}g=b+4|0;if(g>>>0>=e>>>0){b=0;return b|0}h=d[g>>0]|0;if(h&128|0){b=0;return b|0}i=(h&8|0)!=0;g=h&240;if(i&(g|0)!=112){b=0;return b|0}if((g|0)!=0&(i^1)){b=0;return b|0}c[f>>2]=(a[k>>0]&127)<<21|h<<28|(a[l>>0]&127)<<14|a[b>>0]&127|(a[m>>0]&127)<<7;b=5;return b|0}function Sl(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;if(b>>>0<d>>>0?(f=a[b>>0]|0,f<<24>>24>-1):0){r=XB(f&255|0,0,57)|0;r=VB(r|0,z()|0,57)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=1;return b|0}s=b+1|0;if(s>>>0<d>>>0?(g=a[s>>0]|0,g<<24>>24>-1):0){s=XB(g&255|0,0,7)|0;r=z()|0;r=XB(s|a[b>>0]&127|0,r|0,50)|0;r=VB(r|0,z()|0,50)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=2;return b|0}r=b+2|0;if(r>>>0<d>>>0?(h=a[r>>0]|0,h<<24>>24>-1):0){d=XB(h&255|0,0,14)|0;q=z()|0;s=XB(a[s>>0]&127|0,0,7)|0;r=z()|0;r=XB(d|a[b>>0]&127|s|0,q|r|0,43)|0;r=VB(r|0,z()|0,43)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=3;return b|0}q=b+3|0;if(q>>>0<d>>>0?(i=a[q>>0]|0,i<<24>>24>-1):0){p=XB(i&255|0,0,21)|0;q=z()|0;o=XB(a[r>>0]&127|0,0,14)|0;d=z()|0;s=XB(a[s>>0]&127|0,0,7)|0;r=z()|0;r=XB(o|p|a[b>>0]&127|s|0,d|q|r|0,36)|0;r=VB(r|0,z()|0,36)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=4;return b|0}p=b+4|0;if(p>>>0<d>>>0?(j=a[p>>0]|0,j<<24>>24>-1):0){n=XB(j&255|0,0,28)|0;d=z()|0;m=XB(a[q>>0]&127|0,0,21)|0;p=z()|0;o=XB(a[r>>0]&127|0,0,14)|0;q=z()|0;s=XB(a[s>>0]&127|0,0,7)|0;r=z()|0;r=XB(m|n|o|a[b>>0]&127|s|0,p|d|q|r|0,29)|0;r=VB(r|0,z()|0,29)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=5;return b|0}o=b+5|0;if(o>>>0<d>>>0?(k=a[o>>0]|0,k<<24>>24>-1):0){l=XB(k&255|0,0,35)|0;o=z()|0;k=XB(a[p>>0]&127|0,0,28)|0;p=z()|0;m=XB(a[q>>0]&127|0,0,21)|0;d=z()|0;n=XB(a[r>>0]&127|0,0,14)|0;q=z()|0;s=XB(a[s>>0]&127|0,0,7)|0;r=z()|0;r=XB(k|l|m|n|a[b>>0]&127|s|0,p|o|d|q|r|0,22)|0;r=VB(r|0,z()|0,22)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=6;return b|0}k=b+6|0;if(k>>>0<d>>>0?(l=a[k>>0]|0,l<<24>>24>-1):0){j=XB(l&255|0,0,42)|0;n=z()|0;i=XB(a[o>>0]&127|0,0,35)|0;o=z()|0;k=XB(a[p>>0]&127|0,0,28)|0;p=z()|0;l=XB(a[q>>0]&127|0,0,21)|0;d=z()|0;m=XB(a[r>>0]&127|0,0,14)|0;q=z()|0;s=XB(a[s>>0]&127|0,0,7)|0;r=z()|0;r=XB(i|j|k|l|m|a[b>>0]&127|s|0,o|n|p|d|q|r|0,15)|0;r=VB(r|0,z()|0,15)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=7;return b|0}j=b+7|0;if(j>>>0<d>>>0?(m=a[j>>0]|0,m<<24>>24>-1):0){h=XB(m&255|0,0,49)|0;n=z()|0;g=XB(a[k>>0]&127|0,0,42)|0;m=z()|0;i=XB(a[o>>0]&127|0,0,35)|0;o=z()|0;j=XB(a[p>>0]&127|0,0,28)|0;p=z()|0;k=XB(a[q>>0]&127|0,0,21)|0;d=z()|0;l=XB(a[r>>0]&127|0,0,14)|0;q=z()|0;s=XB(a[s>>0]&127|0,0,7)|0;r=z()|0;r=XB(g|h|i|j|k|l|a[b>>0]&127|s|0,m|n|o|p|d|q|r|0,8)|0;r=VB(r|0,z()|0,8)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=8;return b|0}i=b+8|0;if(i>>>0<d>>>0?(n=a[i>>0]|0,n<<24>>24>-1):0){f=XB(n&127|0,0,56)|0;m=z()|0;t=XB(a[j>>0]&127|0,0,49)|0;l=z()|0;g=XB(a[k>>0]&127|0,0,42)|0;n=z()|0;h=XB(a[o>>0]&127|0,0,35)|0;o=z()|0;i=XB(a[p>>0]&127|0,0,28)|0;p=z()|0;j=XB(a[q>>0]&127|0,0,21)|0;d=z()|0;k=XB(a[r>>0]&127|0,0,14)|0;q=z()|0;s=XB(a[s>>0]&127|0,0,7)|0;r=z()|0;r=XB(t|f|g|h|i|j|k|a[b>>0]&127|s|0,l|m|n|o|p|d|q|r|0,1)|0;r=VB(r|0,z()|0,1)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=9;return b|0}f=b+9|0;if(f>>>0>=d>>>0){t=0;return t|0}g=a[f>>0]|0;f=g&255;if(f&128|0){t=0;return t|0}h=(f&1|0)!=0;f=f&254;if(h&(f|0)!=126){t=0;return t|0}if((f|0)!=0&(h^1)){t=0;return t|0}v=XB(g&255|0,0,63)|0;l=z()|0;w=XB(a[i>>0]&127|0,0,56)|0;i=z()|0;u=XB(a[j>>0]&127|0,0,49)|0;m=z()|0;f=XB(a[k>>0]&127|0,0,42)|0;n=z()|0;g=XB(a[o>>0]&127|0,0,35)|0;o=z()|0;h=XB(a[p>>0]&127|0,0,28)|0;d=z()|0;j=XB(a[q>>0]&127|0,0,21)|0;q=z()|0;k=XB(a[r>>0]&127|0,0,14)|0;r=z()|0;p=XB(a[s>>0]&127|0,0,7)|0;s=z()|0;t=e;c[t>>2]=w|v|u|f|g|h|j|k|a[b>>0]&127|p;c[t+4>>2]=i|l|m|n|o|d|q|r|s;t=10;return t|0}function Tl(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=aa;aa=aa+16|0;g=i+4|0;h=i;j=c[d>>2]|0;c[d>>2]=0;c[a>>2]=j;f=a+4|0;e=a+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;b[f+16>>1]=0;fa[c[(c[j>>2]|0)+24>>2]&511](j,0)|0;c[g>>2]=0;c[h>>2]=0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=0;c[d+4>>2]=0;c[e>>2]=d+8;aa=i;return}else{Ul(f,g,h);aa=i;return}}function Ul(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;i=a+4|0;g=c[a>>2]|0;m=(c[i>>2]|0)-g|0;l=m>>3;e=l+1|0;if(e>>>0>536870911)oB();j=a+8|0;n=(c[j>>2]|0)-g|0;f=n>>2;f=n>>3>>>0<268435455?(f>>>0<e>>>0?e:f):536870911;do if(f)if(f>>>0>536870911)U();else{k=FA(f<<3)|0;h=k;break}else{h=0;k=0}while(0);e=k+(l<<3)|0;n=c[d>>2]|0;c[e>>2]=c[b>>2];c[k+(l<<3)+4>>2]=n;if((m|0)>0)_B(h|0,g|0,m|0)|0;c[a>>2]=k;c[i>>2]=e+8;c[j>>2]=k+(f<<3);if(!g)return;HA(g);return}function Vl(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=aa;aa=aa+48|0;l=m+32|0;g=m+8|0;k=m+16|0;j=m;c[g>>2]=0;i=g+4|0;c[i>>2]=0;if((Wl(a,b,g)|0)==1){aa=m;return}b=g;h=c[b>>2]|0;b=c[b+4>>2]|0;if((b-h|0)>>>0>80){g=(e-d|0)>>>0>80?d:(e+d|0)/2|0;g=((g+-1|0)>>>0>40?g+-41|0:0)+h|0;b=b+-80|0;g=b>>>0<g>>>0?b:g;b=g+80|0;d=(c[i>>2]|0)!=(b|0);c[f+12>>2]=g-h;if((g|0)!=(h|0)){cB(f,328485)|0;h=g+3|0}}else{d=(c[i>>2]|0)!=(b|0);c[f+12>>2]=0}c[k>>2]=0;g=k+4|0;c[g>>2]=0;c[k+8>>2]=0;a=c[a>>2]|0;i=c[(c[a>>2]|0)+20>>2]|0;e=j;c[e>>2]=h;c[e+4>>2]=d?b+-3|0:b;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];if((ga[i&127](a,l,k)|0)!=1?(Xl(f,c[k>>2]|0,c[g>>2]|0)|0,d):0)cB(f,328485)|0;b=c[k>>2]|0;if(b|0){c[g>>2]=b;HA(b)}aa=m;return}function Wl(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;x=aa;aa=aa+16|0;s=x+4|0;u=x;v=b+4|0;r=b+8|0;g=c[v>>2]|0;if((c[r>>2]|0)-g>>3>>>0>e>>>0){v=g+(e<<3)|0;b=c[v+4>>2]|0;w=f;c[w>>2]=c[v>>2];c[w+4>>2]=b;w=0;aa=x;return w|0}t=FA(65536)|0;m=t;aC(t|0,0,65536)|0;c[s>>2]=0;o=b+21|0;p=b+20|0;q=b+16|0;n=b+12|0;while(1){if(a[o>>0]|0){g=1;break}l=c[b>>2]|0;if((fa[c[(c[l>>2]|0)+12>>2]&511](l,s)|0)==1){g=1;break}l=c[b>>2]|0;l=ga[c[(c[l>>2]|0)+16>>2]&127](l,t,65536)|0;if(l>>>0<65536)a[o>>0]=1;k=t+l|0;if((l|0)>0){j=t;h=m;while(1){g=a[j>>0]|0;if(g<<24>>24==10){g=d[p>>0]|0;i=h-m+(c[s>>2]|0)-g|0;c[u>>2]=i;h=c[r>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[h>>2]=c[q>>2];c[h+4>>2]=i;c[r>>2]=h+8}else{Yl(v,q,u);g=d[p>>0]|0}c[q>>2]=i+1+g;g=a[j>>0]|0}a[p>>0]=g<<24>>24==13&1;g=j+1|0;if(k>>>0>g>>>0){j=g;h=g}else break}}if(a[o>>0]|0){h=(c[s>>2]|0)+l|0;c[u>>2]=h;g=c[r>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[q>>2];c[g+4>>2]=h;c[r>>2]=g+8}else Yl(v,q,u)}g=c[v>>2]|0;if((c[r>>2]|0)-g>>3>>>0>e>>>0){w=22;break}}if((w|0)==22){b=g+(e<<3)|0;w=c[b+4>>2]|0;g=f;c[g>>2]=c[b>>2];c[g+4>>2]=w;g=0}HA(t);w=g;aa=x;return w|0}function Xl(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=aa;aa=aa+16|0;j=d;k=o;n=b+11|0;f=a[n>>0]|0;g=f<<24>>24<0;if(g){i=(c[b+8>>2]&2147483647)+-1|0;l=c[b+4>>2]|0}else{i=10;l=f&255}m=e-j|0;if(!m){aa=o;return b|0}if(g){g=c[b>>2]|0;h=c[b+4>>2]|0}else{g=b;h=f&255}if(!(g>>>0<=d>>>0&(g+h|0)>>>0>d>>>0)){if((i-l|0)>>>0<m>>>0){aB(b,i,m+l-i|0,l,l,0);f=a[n>>0]|0}if(f<<24>>24<0)f=c[b>>2]|0;else f=b;f=f+l|0;if((d|0)!=(e|0))do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((d|0)!=(e|0));a[f>>0]=0;f=m+l|0;if((a[n>>0]|0)<0){c[b+4>>2]=f;aa=o;return b|0}else{a[n>>0]=f;aa=o;return b|0}}else{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;if(m>>>0>4294967279)JA();if(m>>>0<11){a[k+11>>0]=m;f=k}else{n=m+16&-16;f=FA(n)|0;c[k>>2]=f;c[k+8>>2]=n|-2147483648;c[k+4>>2]=m}if((d|0)!=(e|0)){g=f;while(1){a[g>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}f=f+(e-j)|0}a[f>>0]=0;n=a[k+11>>0]|0;e=n<<24>>24<0;f=c[k>>2]|0;bB(b,e?f:k,e?c[k+4>>2]|0:n&255)|0;if(e)HA(f);aa=o;return b|0}return 0}function Yl(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;i=a+4|0;g=c[a>>2]|0;m=(c[i>>2]|0)-g|0;l=m>>3;e=l+1|0;if(e>>>0>536870911)oB();j=a+8|0;n=(c[j>>2]|0)-g|0;f=n>>2;f=n>>3>>>0<268435455?(f>>>0<e>>>0?e:f):536870911;do if(f)if(f>>>0>536870911)U();else{k=FA(f<<3)|0;h=k;break}else{h=0;k=0}while(0);e=k+(l<<3)|0;n=c[d>>2]|0;c[e>>2]=c[b>>2];c[k+(l<<3)+4>>2]=n;if((m|0)>0)_B(h|0,g|0,m|0)|0;c[a>>2]=k;c[i>>2]=e+8;c[j>>2]=k+(f<<3);if(!g)return;HA(g);return}function Zl(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<416){d=368+(d*36|0)|0;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));return}else{e=0-d|0;c[b>>2]=c[3836];c[b+4>>2]=c[3837];c[b+8>>2]=c[3838];c[b+12>>2]=c[3839];c[b+16>>2]=c[3840];c[b+20>>2]=c[3841];a[b+24>>0]=e>>>8;d=b+25|0;a[d>>0]=a[15369]|0;a[d+1>>0]=a[15370]|0;a[d+2>>0]=a[15371]|0;c[b+28>>2]=e&255;c[b+32>>2]=e&65535;return}}function _l(a,b){a=a|0;b=b|0;return ((b|0)==-1?1:(c[(a>>>0<416?368+(a*36|0)+20|0:15364)>>2]|0)==(b|0))|0}function $l(a,b){a=a|0;b=b|0;if((b|0)!=-1){a=b;return a|0}a=c[a>>2]|0;a=c[(a>>>0<416?368+(a*36|0)+20|0:15364)>>2]|0;return a|0}function am(b,c){b=b|0;c=c|0;switch(b|0){case 10:case 9:case 8:case 7:case 6:{c=(a[c>>0]|0)!=0;break}case 18:case 19:{c=(a[c+7>>0]|0)!=0;break}case 196:case 195:case 194:case 193:case 192:case 191:case 190:case 189:{c=(a[c+2>>0]|0)!=0;break}case 183:case 182:case 181:case 180:case 179:{c=(a[c+3>>0]|0)!=0;break}case 415:case 414:case 413:case 412:case 411:case 410:case 409:case 408:case 407:case 406:case 405:case 404:case 403:case 402:case 401:case 400:case 399:case 398:case 397:case 396:case 395:case 394:case 393:case 392:case 391:case 390:case 389:case 388:case 387:case 386:case 385:case 384:case 383:case 382:case 381:case 380:case 379:case 378:case 377:case 376:case 375:case 374:case 373:case 372:case 371:case 370:case 369:case 368:case 367:case 366:case 365:case 364:case 363:case 362:case 361:case 360:case 359:case 358:case 357:case 356:case 355:case 354:case 353:case 352:case 351:case 350:{c=(a[c+5>>0]|0)!=0;break}case 345:case 344:case 343:case 342:case 349:case 348:case 347:case 346:case 335:case 326:case 338:case 329:case 339:case 330:case 337:case 328:case 336:case 327:case 341:case 332:case 340:case 331:case 333:case 324:case 334:case 325:case 275:case 269:case 263:case 262:case 253:case 252:case 243:case 242:case 273:case 267:case 259:case 258:case 249:case 248:case 239:case 238:case 274:case 268:case 261:case 260:case 251:case 250:case 241:case 240:case 272:case 266:case 257:case 256:case 247:case 246:case 237:case 236:case 271:case 265:case 255:case 245:case 235:case 270:case 264:case 254:case 244:case 234:case 318:case 309:case 296:case 283:case 317:case 308:case 295:case 282:case 280:case 276:case 279:case 278:case 277:case 321:case 320:case 312:case 311:case 299:case 298:case 286:case 285:case 319:case 310:case 297:case 284:case 305:case 304:case 292:case 291:case 302:case 301:case 289:case 288:case 316:case 307:case 294:case 281:case 315:case 306:case 293:case 323:case 314:case 303:case 290:case 322:case 313:case 300:case 287:case 213:case 233:case 230:case 227:case 224:case 221:case 217:case 232:case 229:case 226:case 223:case 220:case 219:case 216:case 215:case 231:case 228:case 225:case 222:case 218:case 214:case 211:case 210:case 212:{c=(a[c+4>>0]|0)!=0;break}case 203:case 202:case 201:case 200:case 199:case 198:case 197:{c=(a[c+8>>0]|0)!=0;break}case 209:case 208:case 207:case 206:case 205:case 204:{c=(a[c+9>>0]|0)!=0;break}case 188:case 187:case 186:case 185:case 184:{c=0;break}default:c=1}return c|0}function bm(a){a=a|0;var b=0;switch(a|0){case 217:case 216:case 215:{b=16;break}case 221:case 220:case 219:{b=8;break}case 224:case 223:case 230:case 229:{b=4;break}case 227:case 226:case 233:case 232:{b=2;break}default:{}}return b|0}function cm(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;k=aa;aa=aa+16|0;j=k;c[b>>2]=0;h=b+4|0;c[h>>2]=0;i=b+8|0;c[i>>2]=0;g=d>>>0<416;if(g)e=a[368+(d*36|0)+24>>0]|0;else e=(0-d|0)>>>8&255;if(!(e<<24>>24)){if(g)e=c[368+(d*36|0)+28>>2]|0;else e=0-d&255;d=FA(1)|0;j=d+1|0;a[d>>0]=e;c[b>>2]=d;c[h>>2]=j;c[i>>2]=j;aa=k;return}if(g)e=a[368+(d*36|0)+24>>0]|0;else e=(0-d|0)>>>8&255;m=FA(1)|0;f=m+1|0;l=f;a[m>>0]=e;c[b>>2]=m;c[h>>2]=l;c[i>>2]=l;if(g)e=c[368+(d*36|0)+28>>2]|0;else e=0-d&255;dm(b,f,j,j+(Nl(j,j+5|0,e)|0)|0);aa=k;return}function dm(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,r=0;q=e;k=c[b>>2]|0;l=k;o=d;h=o-l|0;j=f;m=j-q|0;if((m|0)<=0)return;p=b+8|0;i=c[p>>2]|0;r=b+4|0;n=c[r>>2]|0;g=n;if((m|0)<=(i-g|0)){i=g-o|0;do if((m|0)>(i|0)){h=e+i|0;g=j-h|0;if((g|0)>0){_B(n|0,h|0,g|0)|0;g=(c[r>>2]|0)+g|0;c[r>>2]=g}else g=n;if((i|0)>0){j=g;f=h;break}else return}else j=n;while(0);i=g-(d+m)|0;g=d+i|0;if(g>>>0<n>>>0){h=j;do{a[h>>0]=a[g>>0]|0;g=g+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((g|0)!=(n|0))}if(i|0)$B(j+(0-i)|0,d|0,i|0)|0;g=f-q|0;if(!g)return;$B(d|0,e|0,g|0)|0;return}g=g-l+m|0;if((g|0)<0)oB();m=i-l|0;n=m<<1;g=m>>>0<1073741823?(n>>>0<g>>>0?g:n):2147483647;if(!g)j=0;else j=FA(g)|0;m=j+h|0;n=j+g|0;if((e|0)==(f|0)){f=k;g=m}else{i=f+(o-q-l)|0;h=m;g=e;while(1){a[h>>0]=a[g>>0]|0;g=g+1|0;if((g|0)==(f|0))break;else h=h+1|0}h=c[b>>2]|0;f=h;g=j+i|0;h=o-h|0}i=m+(0-h)|0;if((h|0)>0)_B(i|0,f|0,h|0)|0;h=(c[r>>2]|0)-o|0;if((h|0)>0){_B(g|0,d|0,h|0)|0;g=g+h|0}c[b>>2]=i;c[r>>2]=g;c[p>>2]=n;if(!f)return;HA(f);return}function em(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+80|0;h=i;c[h>>2]=288808;c[h+4>>2]=d;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;Aj(h+20|0,h);g=h+60|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;g=fm(h,b)|0;c[h>>2]=288808;b=h+60|0;e=c[b>>2]|0;if(e|0){f=h+64|0;d=c[f>>2]|0;if((d|0)==(e|0))d=e;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0)}while((d|0)!=(e|0));d=c[b>>2]|0}c[f>>2]=e;HA(d)}d=c[h+48>>2]|0;if(d|0){c[h+52>>2]=d;HA(d)}d=c[h+36>>2]|0;if(d|0){c[h+40>>2]=d;HA(d)}d=c[h+24>>2]|0;if(!d){aa=i;return g|0}c[h+28>>2]=d;HA(d);aa=i;return g|0} -function uq(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;n=aa;aa=aa+64|0;m=n+40|0;k=n+28|0;j=n;l=n+24|0;if((vp(b,24)|0)==1){m=1;aa=n;return m|0}pp(m,b);e=FA(72)|0;c[e+4>>2]=0;c[e+8>>2]=0;g=e+12|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];c[g+16>>2]=c[m+16>>2];c[e+32>>2]=4;c[e>>2]=288488;g=e+36|0;tn(g,0,0);h=e+48|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;f=e;if(((vp(b,39)|0)!=1?(zp(b,g),(vp(b,24)|0)!=1):0)?(vp(b,17)|0)!=1:0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=1065353216;a:do if((Bq(b,29,h,m,0)|0)!=1){e=e+60|0;if(up(b,33)|0)do{Pp(b,e);if((vp(b,34)|0)==1){e=1;break a}}while(up(b,33)|0);c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;a[j+11>>0]=5;a[j>>0]=a[328027]|0;a[j+1>>0]=a[328028]|0;a[j+2>>0]=a[328029]|0;a[j+3>>0]=a[328030]|0;a[j+4>>0]=a[328031]|0;a[j+5>>0]=0;o=j+12|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;a[o+11>>0]=6;a[o>>0]=a[328056]|0;a[o+1>>0]=a[328057]|0;a[o+2>>0]=a[328058]|0;a[o+3>>0]=a[328059]|0;a[o+4>>0]=a[328060]|0;a[o+5>>0]=a[328061]|0;a[o+6>>0]=0;h=k+4|0;i=FA(24)|0;c[k>>2]=i;e=i+24|0;c[k+8>>2]=e;LA(i,j);g=i+12|0;LA(g,o);c[h>>2]=e;e=(yp(b,k)|0)==1;if((a[i+23>>0]|0)<0)HA(c[g>>2]|0);if((a[i+11>>0]|0)<0)HA(c[i>>2]|0);c[h>>2]=i;HA(i);if((!e?(vp(b,34)|0)!=1:0)?(vp(b,34)|0)!=1:0){c[l>>2]=f;dl(d,l);e=c[l>>2]|0;c[l>>2]=0;if(!e){f=0;e=0}else{ma[c[(c[e>>2]|0)+4>>2]&255](e);f=0;e=0}}else e=1}else e=1;while(0);g=c[m+8>>2]|0;if(g|0)do{h=g;g=c[g>>2]|0;i=h+8|0;if((a[i+11>>0]|0)<0)HA(c[i>>2]|0);HA(h)}while((g|0)!=0);g=c[m>>2]|0;c[m>>2]=0;if(g|0)HA(g);if(!f){o=e;aa=n;return o|0}}else e=1;ma[c[(c[f>>2]|0)+4>>2]&255](f);o=e;aa=n;return o|0}function vq(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;n=aa;aa=aa+112|0;k=n+92|0;e=n;j=n+56|0;g=n+36|0;m=n+20|0;l=n+4|0;i=n+32|0;h=n+16|0;if((vp(b,24)|0)==1){m=1;aa=n;return m|0}pp(g,b);if((vp(b,20)|0)==1)e=1;else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;zp(b,m);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;a:do if((Aq(b,l,3)|0)==1)e=1;else{do if(!(rp(b,21)|0)){f=FA(68)|0;e=a[m+11>>0]|0;i=e<<24>>24<0;o=i?c[m>>2]|0:m;e=i?c[m+4>>2]|0:e&255;c[f+4>>2]=0;c[f+8>>2]=0;i=f+12|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];c[i+16>>2]=c[g+16>>2];c[f+32>>2]=1;c[f>>2]=288312;i=f+36|0;tn(i,o,e);c[f+48>>2]=-64;a[f+52>>0]=0;e=f+56|0;c[e>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;if((Cq(b,i)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}if((Dp(b,e)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}c[h>>2]=f;fl(d,h);e=c[h>>2]|0;c[h>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e)}else{if(!((((((c[d+80>>2]|0)-(c[d+76>>2]|0)>>2|0)==(c[d+48>>2]|0)?((c[d+140>>2]|0)-(c[d+136>>2]|0)>>2|0)==(c[d+52>>2]|0):0)?((c[d+164>>2]|0)-(c[d+160>>2]|0)>>2|0)==(c[d+56>>2]|0):0)?((c[d+92>>2]|0)-(c[d+88>>2]|0)>>2|0)==(c[d+60>>2]|0):0)?((c[d+68>>2]|0)-(c[d+64>>2]|0)>>2|0)==(c[d+44>>2]|0):0)){pp(j,b);c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];c[k+16>>2]=c[j+16>>2];np(b,k,308876,e)}f=FA(64)|0;e=a[m+11>>0]|0;g=e<<24>>24<0;o=g?c[m>>2]|0:m;e=g?c[m+4>>2]|0:e&255;g=f+4|0;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;c[f+28>>2]=3;c[f>>2]=288424;h=f+32|0;tn(h,o,e);c[f+44>>2]=-64;a[f+48>>0]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;e=f;if(((((vp(b,24)|0)!=1?(vp(b,21)|0)!=1:0)?($p(b,g)|0)!=1:0)?($p(b,f+16|0)|0)!=1:0)?(vp(b,34)|0)!=1:0){if((Cq(b,h)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}pp(k,b);o=FA(40)|0;c[o+4>>2]=0;c[o+8>>2]=0;h=o+12|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[o+32>>2]=2;c[o>>2]=288392;c[o+36>>2]=e;c[i>>2]=o;hl(d,i);e=c[i>>2]|0;c[i>>2]=0;if(!e)break;ma[c[(c[e>>2]|0)+4>>2]&255](e);break}ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}while(0);f=((c[d+92>>2]|0)-(c[d+88>>2]|0)>>2)+-1|0;e=(c[d+36>>2]|0)+12|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];e=c[l>>2]|0;if(e|0)do{vl(j,f,k);xl(e+52|0,j)|0;Cl(j);e=c[e+4>>2]|0}while((e|0)!=0);rl(d,l);e=(vp(b,34)|0)==1&1}while(0);f=c[l>>2]|0;if(f|0)do{o=f;f=c[f+4>>2]|0;ma[c[(c[o>>2]|0)+4>>2]&255](o)}while((f|0)!=0);if((a[m+11>>0]|0)<0)HA(c[m>>2]|0)}o=e;aa=n;return o|0}function wq(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=aa;aa=aa+352|0;o=v+312|0;f=v;t=v+288|0;p=v+224|0;u=v+168|0;s=v+112|0;h=v+248|0;n=v+8|0;i=v+184|0;j=v+128|0;k=v+72|0;l=v+32|0;q=v+4|0;if((vp(d,24)|0)==1){u=1;aa=v;return u|0}pp(p,d);if(!((((((c[e+80>>2]|0)-(c[e+76>>2]|0)>>2|0)==(c[e+48>>2]|0)?((c[e+140>>2]|0)-(c[e+136>>2]|0)>>2|0)==(c[e+52>>2]|0):0)?((c[e+164>>2]|0)-(c[e+160>>2]|0)>>2|0)==(c[e+56>>2]|0):0)?((c[e+92>>2]|0)-(c[e+88>>2]|0)>>2|0)==(c[e+60>>2]|0):0)?((c[e+68>>2]|0)-(c[e+64>>2]|0)>>2|0)==(c[e+44>>2]|0):0)){pp(t,d);c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];c[o+16>>2]=c[t+16>>2];np(d,o,308876,f)}if((vp(d,21)|0)==1)f=1;else{c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;if((($p(d,t)|0)!=1?($p(d,u)|0)!=1:0)?(vp(d,24)|0)!=1:0){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;g=d+96|0;if(!(c[g>>2]|0)){f=d+100|0;do{tt(o,c[d>>2]|0,d);m=c[g>>2]|0;c[g>>2]=m+1;m=d+16+(((c[f>>2]|0)+m&1)*40|0)|0;Wx(m);Ux(m,o);Wx(o)}while(!(c[g>>2]|0))}else f=d+100|0;f=c[f>>2]&1;a:do switch(c[d+16+(f*40|0)+20>>2]|0){case 17:{k=d+100|0;Ux(h,d+16+(f*40|0)|0);f=d+16+((c[k>>2]&1)*40|0)|0;Wx(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;c[k>>2]=c[k>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;Wx(h);zp(d,s);f=FA(152)|0;h=a[s+11>>0]|0;g=h<<24>>24<0;k=g?c[s>>2]|0:s;h=g?c[s+4>>2]|0:h&255;g=f+4|0;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;c[g+24>>2]=0;c[f>>2]=288472;tn(f+32|0,k,h);h=f+44|0;a[h>>0]=0;k=f+48|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;vl(k,-1,o);j=f+84|0;i=f+136|0;l=j;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[i>>2]=1065353216;c[f+140>>2]=0;c[f+144>>2]=0;c[f+148>>2]=0;b:do if(rp(d,39)|0){a[h>>0]=1;do if(up(d,39)|0){a[h>>0]=1;if((Ap(d,k)|0)!=1?(vp(d,34)|0)!=1:0)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else a[h>>0]=0;while(0);if((vp(d,34)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}}else{c:do if((Bq(d,29,j,f+120|0,0)|0)!=1){h=f+96|0;if(up(d,33)|0)do{Pp(d,h);if((vp(d,34)|0)==1)break c}while(up(d,33)|0);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;a[n+11>>0]=5;a[n>>0]=a[328027]|0;a[n+1>>0]=a[328028]|0;a[n+2>>0]=a[328029]|0;a[n+3>>0]=a[328030]|0;a[n+4>>0]=a[328031]|0;a[n+5>>0]=0;m=n+12|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;a[m+11>>0]=6;a[m>>0]=a[328056]|0;a[m+1>>0]=a[328057]|0;a[m+2>>0]=a[328058]|0;a[m+3>>0]=a[328059]|0;a[m+4>>0]=a[328060]|0;a[m+5>>0]=a[328061]|0;a[m+6>>0]=0;j=o+4|0;k=FA(24)|0;c[o>>2]=k;h=k+24|0;c[o+8>>2]=h;LA(k,n);i=k+12|0;LA(i,m);c[j>>2]=h;h=(yp(d,o)|0)==1;if((a[k+23>>0]|0)<0)HA(c[i>>2]|0);if((a[k+11>>0]|0)<0)HA(c[k>>2]|0);c[j>>2]=k;HA(k);if(!h?(vp(d,34)|0)!=1:0)break b}while(0);ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}while(0);h=FA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=68;break}case 37:{o=d+100|0;Ux(i,d+16+(f*40|0)|0);f=d+16+((c[o>>2]&1)*40|0)|0;Wx(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;c[o>>2]=c[o>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;Wx(i);zp(d,s);f=FA(80)|0;o=a[s+11>>0]|0;g=o<<24>>24<0;h=g?c[s>>2]|0:s;o=g?c[s+4>>2]|0:o&255;g=f+4|0;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;c[f+28>>2]=1;c[f>>2]=288456;tn(f+32|0,h,o);o=f+48|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o+16>>1]=0;h=f+72|0;c[h>>2]=-16;if((aq(d,o)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}if(!(tp(d,18)|0)){if((_p(d,h)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}}else c[h>>2]=-16;if((vp(d,34)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else{h=FA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=68;break a}}case 25:{o=d+100|0;Ux(j,d+16+(f*40|0)|0);f=d+16+((c[o>>2]&1)*40|0)|0;Wx(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;c[o>>2]=c[o>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;Wx(j);zp(d,s);f=FA(72)|0;o=a[s+11>>0]|0;g=o<<24>>24<0;n=g?c[s>>2]|0:s;o=g?c[s+4>>2]|0:o&255;g=f+4|0;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;c[f+28>>2]=2;c[f>>2]=288440;tn(f+32|0,n,o);o=f+48|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o+16>>1]=0;if((aq(d,o)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}if((vp(d,34)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else{h=FA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=68;break a}}case 20:{n=d+100|0;Ux(k,d+16+(f*40|0)|0);f=d+16+((c[n>>2]&1)*40|0)|0;Wx(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;c[n>>2]=c[n>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;Wx(k);zp(d,s);f=FA(64)|0;n=a[s+11>>0]|0;g=n<<24>>24<0;m=g?c[s>>2]|0:s;n=g?c[s+4>>2]|0:n&255;g=f+4|0;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;c[f+28>>2]=3;c[f>>2]=288424;o=f+32|0;tn(o,m,n);c[f+44>>2]=-64;a[f+48>>0]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;if((Cq(d,o)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}if((vp(d,34)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else{h=FA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=68;break a}}case 15:{i=d+100|0;Ux(l,d+16+(f*40|0)|0);f=d+16+((c[i>>2]&1)*40|0)|0;Wx(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;c[i>>2]=c[i>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;Wx(l);zp(d,s);f=FA(108)|0;i=a[s+11>>0]|0;g=i<<24>>24<0;j=g?c[s>>2]|0:s;i=g?c[s+4>>2]|0:i&255;g=f+4|0;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;c[f+28>>2]=4;c[f>>2]=288376;tn(f+32|0,j,i);i=f+44|0;a[i>>0]=0;j=f+48|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;vl(j,-1,o);h=f+84|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;do if(up(d,39)|0){a[i>>0]=1;if((Ap(d,j)|0)!=1?(vp(d,34)|0)!=1:0)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else a[i>>0]=0;while(0);if((Op(d,h)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}if((vp(d,34)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else{h=FA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=68;break a}}default:{h=FA(32)|0;c[n>>2]=h;c[n+8>>2]=-2147483616;c[n+4>>2]=16;l=h;f=308929;m=l+16|0;do{a[l>>0]=a[f>>0]|0;l=l+1|0;f=f+1|0}while((l|0)<(m|0));a[h+16>>0]=0;f=o+4|0;g=FA(12)|0;c[o>>2]=g;q=g+12|0;c[o+8>>2]=q;LA(g,n);c[f>>2]=q;xp(d,o,0);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);c[f>>2]=g;HA(g);HA(h);f=1}}while(0);if((r|0)==68){c[h+32>>2]=2;c[h>>2]=288392;r=h+36|0;c[r>>2]=f;UA(g,t)|0;UA((c[r>>2]|0)+16|0,u)|0;c[q>>2]=h;hl(e,q);f=c[q>>2]|0;c[q>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f);f=(vp(d,34)|0)==1&1}if((a[s+11>>0]|0)<0)HA(c[s>>2]|0)}else f=1;if((a[u+11>>0]|0)<0)HA(c[u>>2]|0);if((a[t+11>>0]|0)<0)HA(c[t>>2]|0)}u=f;aa=v;return u|0}function xq(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;t=aa;aa=aa+144|0;q=t+8|0;f=t;p=t+108|0;n=t+84|0;s=t+68|0;r=t+52|0;j=t+104|0;m=t+80|0;o=t+64|0;g=t+48|0;if((vp(d,24)|0)==1){s=1;aa=t;return s|0}pp(n,d);if((vp(d,25)|0)==1)f=1;else{c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;zp(d,s);c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;a:do if((Aq(d,r,2)|0)==1)f=1;else{do if(!(rp(d,21)|0)){if(!(up(d,12)|0)){f=FA(80)|0;o=a[s+11>>0]|0;l=o<<24>>24<0;m=l?c[s>>2]|0:s;o=l?c[s+4>>2]|0:o&255;c[f+4>>2]=0;c[f+8>>2]=0;l=f+12|0;c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];c[l+16>>2]=c[n+16>>2];c[f+32>>2]=7;c[f>>2]=288328;tn(f+40|0,m,o);o=f+56|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o+16>>1]=0;if((aq(d,o)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}c[g>>2]=f;ml(e,g);f=c[g>>2]|0;c[g>>2]=0;if(!f)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);break}k=FA(112)|0;c[k+4>>2]=0;c[k+8>>2]=0;j=k+12|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];c[j+16>>2]=c[n+16>>2];c[k+32>>2]=8;c[k>>2]=287400;tn(k+36|0,0,0);j=k+48|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;vl(j,-1,q);a[k+84>>0]=0;f=k+88|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;l=k;g=(c[e+164>>2]|0)-(c[e+160>>2]|0)>>2;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;vl(q,g,p);xl(j,q)|0;Cl(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;Dl(q,0,p);j=FA(80)|0;g=j+4|0;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;c[g+24>>2]=0;c[j+32>>2]=15;c[j>>2]=287352;g=j+40|0;h=q;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));h=k+92|0;g=c[h>>2]|0;if(g){c[j+8>>2]=g;f=g+4|0}c[f>>2]=j;c[h>>2]=j;f=k+96|0;c[f>>2]=(c[f>>2]|0)+1;f=j+12|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];c[f+16>>2]=c[n+16>>2];f=k+100|0;Zp(d,f)|0;if((vp(d,34)|0)==1){ma[c[(c[k>>2]|0)+4>>2]&255](k);f=1;break a}j=FA(80)|0;i=a[s+11>>0]|0;g=i<<24>>24<0;h=g?c[s>>2]|0:s;i=g?c[s+4>>2]|0:i&255;c[j+4>>2]=0;c[j+8>>2]=0;g=j+12|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[g+12>>2]=c[n+12>>2];c[g+16>>2]=c[n+16>>2];c[j+32>>2]=7;c[j>>2]=288328;tn(j+40|0,h,i);i=j+56|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;b[i+16>>1]=0;n=((c[k+104>>2]|0)+65535-(c[f>>2]|0)|0)>>>16;f=i;c[f>>2]=n;c[f+4>>2]=0;f=j+64|0;c[f>>2]=n;c[f+4>>2]=0;a[j+72>>0]=1;c[m>>2]=j;ml(e,m);f=c[m>>2]|0;c[m>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f);c[o>>2]=l;Vk(e,o);f=c[o>>2]|0;c[o>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f)}else{if(!((((((c[e+80>>2]|0)-(c[e+76>>2]|0)>>2|0)==(c[e+48>>2]|0)?((c[e+140>>2]|0)-(c[e+136>>2]|0)>>2|0)==(c[e+52>>2]|0):0)?((c[e+164>>2]|0)-(c[e+160>>2]|0)>>2|0)==(c[e+56>>2]|0):0)?((c[e+92>>2]|0)-(c[e+88>>2]|0)>>2|0)==(c[e+60>>2]|0):0)?((c[e+68>>2]|0)-(c[e+64>>2]|0)>>2|0)==(c[e+44>>2]|0):0)){pp(p,d);c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];np(d,q,308876,f)}g=FA(72)|0;i=a[s+11>>0]|0;h=i<<24>>24<0;f=h?c[s>>2]|0:s;i=h?c[s+4>>2]|0:i&255;h=g+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g+28>>2]=2;c[g>>2]=288440;tn(g+32|0,f,i);i=g+48|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;b[i+16>>1]=0;f=g;if(((((vp(d,24)|0)!=1?(vp(d,21)|0)!=1:0)?($p(d,h)|0)!=1:0)?($p(d,g+16|0)|0)!=1:0)?(vp(d,34)|0)!=1:0){if((aq(d,i)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}pp(q,d);o=FA(40)|0;c[o+4>>2]=0;c[o+8>>2]=0;n=o+12|0;c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];c[n+16>>2]=c[q+16>>2];c[o+32>>2]=2;c[o>>2]=288392;c[o+36>>2]=f;c[j>>2]=o;hl(e,j);f=c[j>>2]|0;c[j>>2]=0;if(!f)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);break}ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}while(0);g=((c[e+164>>2]|0)-(c[e+160>>2]|0)>>2)+-1|0;f=(c[e+36>>2]|0)+12|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];c[q+16>>2]=c[f+16>>2];f=c[r>>2]|0;if(f|0)do{vl(p,g,q);xl(f+52|0,p)|0;Cl(p);f=c[f+4>>2]|0}while((f|0)!=0);rl(e,r);f=(vp(d,34)|0)==1&1}while(0);g=c[r>>2]|0;if(g|0)do{r=g;g=c[g+4>>2]|0;ma[c[(c[r>>2]|0)+4>>2]&255](r)}while((g|0)!=0);if((a[s+11>>0]|0)<0)HA(c[s>>2]|0)}s=f;aa=t;return s|0}function yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+96|0;d=h+60|0;e=h+40|0;g=h+4|0;f=h;if((vp(a,24)|0)==1){g=1;aa=h;return g|0}pp(e,a);if((vp(a,36)|0)==1)d=1;else{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;vl(g,-1,d);if((Ap(a,g)|0)!=1?(vp(a,34)|0)!=1:0){a=FA(72)|0;yl(d,g);c[a+4>>2]=0;c[a+8>>2]=0;i=a+12|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];c[a+32>>2]=9;c[a>>2]=288280;yl(a+36|0,d);c[f>>2]=a;Cl(d);nl(b,f);d=c[f>>2]|0;c[f>>2]=0;if(!d)d=0;else{ma[c[(c[d>>2]|0)+4>>2]&255](d);d=0}}else d=1;Cl(g)}i=d;aa=h;return i|0}function zq(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;t=aa;aa=aa+144|0;q=t+8|0;f=t;p=t+108|0;n=t+84|0;s=t+68|0;r=t+52|0;k=t+104|0;m=t+80|0;o=t+64|0;i=t+48|0;if((vp(d,24)|0)==1){s=1;aa=t;return s|0}pp(n,d);if((vp(d,37)|0)==1)f=1;else{c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;zp(d,s);c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;a:do if((Aq(d,r,1)|0)==1)f=1;else{do if(!(rp(d,21)|0)){if(!(tp(d,18)|0)){h=FA(88)|0;o=a[s+11>>0]|0;f=o<<24>>24<0;g=f?c[s>>2]|0:s;o=f?c[s+4>>2]|0:o&255;c[h+4>>2]=0;c[h+8>>2]=0;f=h+12|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];c[f+16>>2]=c[n+16>>2];c[h+32>>2]=5;c[h>>2]=288344;tn(h+40|0,g,o);o=h+56|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o+16>>1]=0;g=h+80|0;c[g>>2]=-16;f=h;if((aq(d,o)|0)==1){ma[c[(c[h>>2]|0)+4>>2]&255](h);f=1;break a}if(!(tp(d,18)|0)){if((_p(d,g)|0)==1){ma[c[(c[h>>2]|0)+4>>2]&255](h);f=1;break a}}else c[g>>2]=-16;c[i>>2]=f;pl(e,i);f=c[i>>2]|0;c[i>>2]=0;if(!f)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);break}if((vp(d,24)|0)==1){f=1;break a}if((vp(d,13)|0)==1){f=1;break a}k=FA(112)|0;c[k+4>>2]=0;c[k+8>>2]=0;j=k+12|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];c[j+16>>2]=c[n+16>>2];c[k+32>>2]=6;c[k>>2]=287416;tn(k+36|0,0,0);j=k+48|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;vl(j,-1,q);a[k+84>>0]=0;f=k+88|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;l=k;g=(c[e+140>>2]|0)-(c[e+136>>2]|0)>>2;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;vl(q,g,p);xl(j,q)|0;Cl(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;Dl(q,0,p);j=FA(80)|0;g=j+4|0;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;c[g+24>>2]=0;c[j+32>>2]=15;c[j>>2]=287352;g=j+40|0;h=q;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));h=k+92|0;g=c[h>>2]|0;if(g){c[j+8>>2]=g;f=g+4|0}c[f>>2]=j;c[h>>2]=j;f=k+96|0;c[f>>2]=(c[f>>2]|0)+1;f=j+12|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];c[f+16>>2]=c[n+16>>2];f=k+100|0;if(!(Sp(d,f)|0)){ma[c[(c[k>>2]|0)+4>>2]&255](k);f=1;break a}if((vp(d,34)|0)==1){ma[c[(c[k>>2]|0)+4>>2]&255](k);f=1;break a}j=FA(88)|0;i=a[s+11>>0]|0;g=i<<24>>24<0;h=g?c[s>>2]|0:s;i=g?c[s+4>>2]|0:i&255;c[j+4>>2]=0;c[j+8>>2]=0;g=j+12|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[g+12>>2]=c[n+12>>2];c[g+16>>2]=c[n+16>>2];c[j+32>>2]=5;c[j>>2]=288344;tn(j+40|0,h,i);i=j+56|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;b[i+16>>1]=0;n=((c[k+104>>2]|0)-(c[f>>2]|0)|0)/36|0;f=i;c[f>>2]=n;c[f+4>>2]=0;f=j+64|0;c[f>>2]=n;c[f+4>>2]=0;a[j+72>>0]=1;c[j+80>>2]=-16;c[m>>2]=j;pl(e,m);f=c[m>>2]|0;c[m>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f);c[o>>2]=l;Xk(e,o);f=c[o>>2]|0;c[o>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f)}else{if(!((((((c[e+80>>2]|0)-(c[e+76>>2]|0)>>2|0)==(c[e+48>>2]|0)?((c[e+140>>2]|0)-(c[e+136>>2]|0)>>2|0)==(c[e+52>>2]|0):0)?((c[e+164>>2]|0)-(c[e+160>>2]|0)>>2|0)==(c[e+56>>2]|0):0)?((c[e+92>>2]|0)-(c[e+88>>2]|0)>>2|0)==(c[e+60>>2]|0):0)?((c[e+68>>2]|0)-(c[e+64>>2]|0)>>2|0)==(c[e+44>>2]|0):0)){pp(p,d);c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];np(d,q,308876,f)}g=FA(80)|0;h=a[s+11>>0]|0;j=h<<24>>24<0;i=j?c[s>>2]|0:s;h=j?c[s+4>>2]|0:h&255;j=g+4|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;c[g+28>>2]=1;c[g>>2]=288456;tn(g+32|0,i,h);h=g+48|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;b[h+16>>1]=0;i=g+72|0;c[i>>2]=-16;f=g;if(((((vp(d,24)|0)!=1?(vp(d,21)|0)!=1:0)?($p(d,j)|0)!=1:0)?($p(d,g+16|0)|0)!=1:0)?(vp(d,34)|0)!=1:0){if((aq(d,h)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}if(!(tp(d,18)|0)){if((_p(d,i)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}}else c[i>>2]=-16;pp(q,d);o=FA(40)|0;c[o+4>>2]=0;c[o+8>>2]=0;n=o+12|0;c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];c[n+16>>2]=c[q+16>>2];c[o+32>>2]=2;c[o>>2]=288392;c[o+36>>2]=f;c[k>>2]=o;hl(e,k);f=c[k>>2]|0;c[k>>2]=0;if(!f)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);break}ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}while(0);g=((c[e+140>>2]|0)-(c[e+136>>2]|0)>>2)+-1|0;f=(c[e+36>>2]|0)+12|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];c[q+16>>2]=c[f+16>>2];f=c[r>>2]|0;if(f|0)do{vl(p,g,q);xl(f+52|0,p)|0;Cl(p);f=c[f+4>>2]|0}while((f|0)!=0);rl(e,r);f=(vp(d,34)|0)==1&1}while(0);g=c[r>>2]|0;if(g|0)do{r=g;g=c[g+4>>2]|0;ma[c[(c[r>>2]|0)+4>>2]&255](r)}while((g|0)!=0);if((a[s+11>>0]|0)<0)HA(c[s>>2]|0)}s=f;aa=t;return s|0}function Aq(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=aa;aa=aa+48|0;i=l+20|0;h=l;if(!(rp(a,16)|0)){k=0;aa=l;return k|0}g=b+4|0;j=b+8|0;while(1){if((vp(a,24)|0)==1){e=1;f=13;break}pp(h,a);k=FA(88)|0;c[k+4>>2]=0;f=k+8|0;c[f>>2]=0;e=k+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];c[e+16>>2]=c[h+16>>2];c[k+32>>2]=3;c[k>>2]=288296;e=k+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;vl(k+52|0,-1,i);c[k+48>>2]=d;if((vp(a,16)|0)==1){f=5;break}if(($p(a,e)|0)==1){f=7;break}if((vp(a,34)|0)==1){f=9;break}e=c[g>>2]|0;if(!e)e=b;else{c[f>>2]=e;e=e+4|0}c[e>>2]=k;c[g>>2]=k;c[j>>2]=(c[j>>2]|0)+1;if(!(rp(a,16)|0)){e=0;f=13;break}}if((f|0)==5){ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}else if((f|0)==7){ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}else if((f|0)==9){ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}else if((f|0)==13){aa=l;return e|0}return 0}function Bq(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=aa;aa=aa+112|0;j=t+64|0;s=t+48|0;q=t+44|0;n=t+24|0;o=t;if(!(up(b,d)|0)){s=0;aa=t;return s|0}p=b+96|0;l=b+100|0;i=e+4|0;m=o+20|0;k=e+8|0;r=s+11|0;while(1){if(!(c[p>>2]|0))do{tt(j,c[b>>2]|0,b);h=c[p>>2]|0;c[p>>2]=h+1;h=b+16+(((c[l>>2]|0)+h&1)*40|0)|0;Wx(h);Ux(h,j);Wx(j)}while(!(c[p>>2]|0));if((c[b+16+((c[l>>2]&1)*40|0)+20>>2]|0)==105){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;pp(n,b);zp(b,s);if((_p(b,q)|0)==1){i=9;break}h=((c[i>>2]|0)-(c[e>>2]|0)>>2)+g|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];c[m>>2]=h;Hg(j,f,s,o);zg(f,c[j>>2]|0);h=c[i>>2]|0;if((h|0)==(c[k>>2]|0))Dn(e,q);else{c[h>>2]=c[q>>2];c[i>>2]=h+4}if((a[r>>0]|0)<0)HA(c[s>>2]|0)}else Pp(b,e);if((vp(b,34)|0)==1){h=1;i=20;break}if(!(up(b,d)|0)){h=0;i=20;break}}if((i|0)==9){if((a[r>>0]|0)<0)HA(c[s>>2]|0);s=1;aa=t;return s|0}else if((i|0)==20){aa=t;return h|0}return 0}function Cq(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;k=aa;aa=aa+64|0;j=k+48|0;e=k;if(up(b,27)|0){a[d+16>>0]=1;if((_p(b,d+12|0)|0)==1){b=1;aa=k;return b|0}f=e+4|0;c[f>>2]=0;c[f+4>>2]=50331648;a[e>>0]=a[328637]|0;a[e+1>>0]=a[328638]|0;a[e+2>>0]=a[328639]|0;a[e+3>>0]=0;f=e+12|0;g=e+16|0;c[g>>2]=0;c[g+4>>2]=50331648;a[f>>0]=a[328633]|0;a[f+1>>0]=a[328634]|0;a[f+2>>0]=a[328635]|0;a[f+3>>0]=0;g=e+24|0;l=e+28|0;c[l>>2]=0;c[l+4>>2]=50331648;a[g>>0]=a[328629]|0;a[g+1>>0]=a[328630]|0;a[g+2>>0]=a[328631]|0;a[g+3>>0]=0;l=e+36|0;h=e+40|0;c[h>>2]=0;c[h+4>>2]=50331648;a[l>>0]=a[328625]|0;a[l+1>>0]=a[328626]|0;a[l+2>>0]=a[328627]|0;a[l+3>>0]=0;h=j+4|0;i=FA(48)|0;c[j>>2]=i;d=i+48|0;c[j+8>>2]=d;LA(i,e);e=i+12|0;LA(e,f);f=i+24|0;LA(f,g);g=i+36|0;LA(g,l);c[h>>2]=d;d=(yp(b,j)|0)==1;if((a[i+47>>0]|0)<0)HA(c[g>>2]|0);if((a[i+35>>0]|0)<0)HA(c[f>>2]|0);if((a[i+23>>0]|0)<0)HA(c[e>>2]|0);if((a[i+11>>0]|0)<0)HA(c[i>>2]|0);c[h>>2]=i;HA(i);if(d){l=1;aa=k;return l|0}if((vp(b,34)|0)==1){l=1;aa=k;return l|0}}else if((_p(b,d+12|0)|0)==1){l=1;aa=k;return l|0}l=0;aa=k;return l|0}function Dq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+96|0;i=k+56|0;j=k;g=k+16|0;if((vp(b,24)|0)==1){aa=k;return 1}h=b+96|0;if(!(c[h>>2]|0)){e=b+100|0;do{tt(i,c[b>>2]|0,b);f=c[h>>2]|0;c[h>>2]=f+1;f=b+16+(((c[e>>2]|0)+f&1)*40|0)|0;Wx(f);Ux(f,i);Wx(i)}while(!(c[h>>2]|0))}else e=b+100|0;f=c[e>>2]&1;switch(c[b+16+(f*40|0)+20>>2]|0){case 17:{e=0;break}case 37:{e=1;break}case 25:{e=2;break}case 20:{e=3;break}case 15:{e=4;break}default:{d=FA(32)|0;c[j>>2]=d;c[j+8>>2]=-2147483616;c[j+4>>2]=16;e=d;f=308929;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));a[d+16>>0]=0;e=i+4|0;f=FA(12)|0;c[i>>2]=f;h=f+12|0;c[i+8>>2]=h;LA(f,j);c[e>>2]=h;xp(b,i,0);if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);c[e>>2]=f;HA(f);HA(d);aa=k;return 1}}c[d+12>>2]=e;j=b+100|0;Ux(g,b+16+(f*40|0)|0);i=b+16+((c[j>>2]&1)*40|0)|0;Wx(i);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[j>>2]=c[j>>2]&1^1;c[h>>2]=(c[h>>2]|0)+-1;Wx(g);if((Ap(b,d+16|0)|0)==1){aa=k;return 1}else{b=(vp(b,34)|0)==1&1;aa=k;return b|0}return 0}function Eq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b+12|0;if(c[j>>2]|0){h=b+8|0;e=c[h>>2]|0;if(e|0)do{f=e;e=c[e>>2]|0;g=f+8|0;if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);HA(f)}while((e|0)!=0);c[h>>2]=0;e=c[b+4>>2]|0;if(e|0){f=0;do{c[(c[b>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[j>>2]=0}i=c[d>>2]|0;c[d>>2]=0;e=c[b>>2]|0;c[b>>2]=i;if(e|0)HA(e);i=d+4|0;f=b+4|0;c[f>>2]=c[i>>2];c[i>>2]=0;i=d+12|0;g=c[i>>2]|0;c[j>>2]=g;c[b+16>>2]=c[d+16>>2];d=d+8|0;e=c[d>>2]|0;h=b+8|0;c[h>>2]=e;if(!g)return;e=c[e+4>>2]|0;f=c[f>>2]|0;g=f+-1|0;if(g&f){if(e>>>0>=f>>>0)e=(e>>>0)%(f>>>0)|0}else e=g&e;c[(c[b>>2]|0)+(e<<2)>>2]=h;c[d>>2]=0;c[i>>2]=0;return}function Fq(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;s=aa;aa=aa+192|0;q=s+144|0;o=s+120|0;r=s+64|0;f=s+80|0;g=s+24|0;h=s+16|0;l=s;if((vp(b,24)|0)==1){r=1;aa=s;return r|0}pp(o,b);if((vp(b,26)|0)==1)e=1;else{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;zp(b,r);i=b+96|0;if(!(c[i>>2]|0)){e=b+100|0;do{tt(q,c[b>>2]|0,b);k=c[i>>2]|0;c[i>>2]=k+1;k=b+16+(((c[e>>2]|0)+k&1)*40|0)|0;Wx(k);Ux(k,q);Wx(q)}while(!(c[i>>2]|0))}else e=b+100|0;e=c[e>>2]&1;a:do switch(c[b+16+(e*40|0)+20>>2]|0){case 11:{j=b+100|0;Ux(f,b+16+(e*40|0)|0);h=b+16+((c[j>>2]&1)*40|0)|0;Wx(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[j>>2]=c[j>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;Wx(f);c[q>>2]=0;j=q+4|0;c[j>>2]=0;h=q+8|0;c[h>>2]=0;if(!(Zp(b,q)|0)){e=c[q>>2]|0;if(e|0){c[j>>2]=e;HA(e)}e=1;break a}i=FA(52)|0;c[i+4>>2]=1;c[i>>2]=289804;e=i+8|0;f=e;k=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(k|0));UA(i+28|0,r)|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];g=i+40|0;e=c[g>>2]|0;if(!e){e=i+44|0;f=i+48|0}else{p=i+44|0;c[p>>2]=e;HA(e);f=i+48|0;c[f>>2]=0;c[p>>2]=0;c[g>>2]=0;e=p}c[g>>2]=c[q>>2];c[e>>2]=c[j>>2];c[f>>2]=c[h>>2];c[h>>2]=0;c[j>>2]=0;c[q>>2]=0;e=c[d>>2]|0;c[d>>2]=i;if(e|0?(ma[c[(c[e>>2]|0)+4>>2]&255](e),n=c[q>>2]|0,n|0):0){c[j>>2]=n;HA(n)}p=44;break}case 31:{j=b+100|0;Ux(g,b+16+(e*40|0)|0);h=b+16+((c[j>>2]&1)*40|0)|0;Wx(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[j>>2]=c[j>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;Wx(g);c[q>>2]=0;j=q+4|0;c[j>>2]=0;h=q+8|0;c[h>>2]=0;if(!(Zp(b,q)|0)){e=c[q>>2]|0;if(e|0){c[j>>2]=e;HA(e)}e=1;break a}i=FA(52)|0;c[i+4>>2]=2;c[i>>2]=289824;e=i+8|0;f=e;k=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(k|0));UA(i+28|0,r)|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];g=i+40|0;e=c[g>>2]|0;if(!e){e=i+44|0;f=i+48|0}else{p=i+44|0;c[p>>2]=e;HA(e);f=i+48|0;c[f>>2]=0;c[p>>2]=0;c[g>>2]=0;e=p}c[g>>2]=c[q>>2];c[e>>2]=c[j>>2];c[f>>2]=c[h>>2];c[h>>2]=0;c[j>>2]=0;c[q>>2]=0;e=c[d>>2]|0;c[d>>2]=i;if(e|0?(ma[c[(c[e>>2]|0)+4>>2]&255](e),m=c[q>>2]|0,m|0):0){c[j>>2]=m;HA(m)}p=44;break}default:{j=FA(384)|0;e=j;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=289844;e=j+8|0;aC(e|0,0,212)|0;c[j+220>>2]=1065353216;n=j+224|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+240>>2]=1065353216;n=j+244|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+260>>2]=1065353216;n=j+264|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+280>>2]=1065353216;n=j+284|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+300>>2]=1065353216;n=j+304|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+320>>2]=1065353216;n=j+324|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+340>>2]=1065353216;n=j+344|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+360>>2]=1065353216;n=j+364|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+380>>2]=1065353216;UA(j+28|0,r)|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];qp(h,b);b:do if((c[h>>2]|0)==24){switch(c[h+4>>2]|0){case 37:case 36:case 25:case 21:case 20:case 39:case 17:case 16:case 15:case 13:case 12:break;default:{p=34;break b}}if((eq(b,e)|0)==1){ma[c[(c[j>>2]|0)+4>>2]&255](j);e=1;break a}}else p=34;while(0);if((p|0)==34){if(!(c[i>>2]|0)){e=b+100|0;do{tt(q,c[b>>2]|0,b);o=c[i>>2]|0;c[i>>2]=o+1;o=b+16+(((c[e>>2]|0)+o&1)*40|0)|0;Wx(o);Ux(o,q);Wx(q)}while(!(c[i>>2]|0))}else e=b+100|0;if((c[b+16+((c[e>>2]&1)*40|0)+20>>2]|0)!=34){tp(b,24)|0;g=FA(16)|0;c[l>>2]=g;c[l+8>>2]=-2147483632;c[l+4>>2]=14;f=g;e=308802;k=f+14|0;do{a[f>>0]=a[e>>0]|0;f=f+1|0;e=e+1|0}while((f|0)<(k|0));a[g+14>>0]=0;e=q+4|0;f=FA(12)|0;c[q>>2]=f;d=f+12|0;c[q+8>>2]=d;LA(f,l);c[e>>2]=d;xp(b,q,0);if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);c[e>>2]=f;HA(f);HA(g);ma[c[(c[j>>2]|0)+4>>2]&255](j);e=1;break a}}e=c[d>>2]|0;c[d>>2]=j;if(!e)p=44;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);p=44}}}while(0);if((p|0)==44)e=(vp(b,34)|0)==1&1;if((a[r+11>>0]|0)<0)HA(c[r>>2]|0)}r=e;aa=s;return r|0}function Gq(a){a=a|0;c[a>>2]=289788;db(a+8|0);return}function Hq(a){a=a|0;c[a>>2]=289788;db(a+8|0);HA(a);return}function Iq(a){a=a|0;c[a>>2]=289844;db(a+8|0);return}function Jq(a){a=a|0;c[a>>2]=289844;db(a+8|0);HA(a);return}function Kq(a){a=a|0;return a+8|0}function Lq(b){b=b|0;var d=0;c[b>>2]=289824;d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;HA(d)}d=b+28|0;if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function Mq(b){b=b|0;var d=0;c[b>>2]=289824;d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;HA(d)}d=b+28|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function Nq(a){a=a|0;return a+8|0}function Oq(b){b=b|0;var d=0;c[b>>2]=289804;d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;HA(d)}d=b+28|0;if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function Pq(b){b=b|0;var d=0;c[b>>2]=289804;d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;HA(d)}d=b+28|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function Qq(a){a=a|0;return a+8|0}function Rq(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;n=aa;aa=aa+64|0;e=n+32|0;k=n+40|0;j=n+8|0;f=n;m=FA(32)|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]=1065353216;l=m;qp(e,b);a:do if((c[e>>2]|0)==24){switch(c[e+4>>2]|0){case 37:case 36:case 25:case 21:case 20:case 39:case 17:case 16:case 15:case 13:case 12:break;default:{h=12;break a}}e=FA(384)|0;i=e;c[i>>2]=0;c[i+4>>2]=0;c[e>>2]=289788;i=e+8|0;aC(i|0,0,212)|0;c[e+220>>2]=1065353216;g=e+224|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+240>>2]=1065353216;g=e+244|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+260>>2]=1065353216;g=e+264|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+280>>2]=1065353216;g=e+284|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+300>>2]=1065353216;g=e+304|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+320>>2]=1065353216;g=e+324|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+340>>2]=1065353216;g=e+344|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+360>>2]=1065353216;g=e+364|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+380>>2]=1065353216;g=e;c[k>>2]=g;pp(j,b);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];if((eq(b,i)|0)==1){c[k>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);break}f=m+4|0;e=c[f>>2]|0;if(e>>>0>=(c[m+8>>2]|0)>>>0){Sq(m,k);e=c[k>>2]|0;c[k>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e)}else{c[e>>2]=g;c[f>>2]=e+4;c[k>>2]=0}h=18}else h=12;while(0);b:do if((h|0)==12){qp(f,b);c:do if((c[f>>2]|0)==24){switch(c[f+4>>2]|0){case 32:case 26:case 22:case 19:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:break;default:break c}if((Tq(b,m,m)|0)==1)break b;else{h=18;break b}}while(0);tp(b,24)|0;i=FA(16)|0;c[j>>2]=i;c[j+8>>2]=-2147483632;c[j+4>>2]=14;e=i;f=308802;g=e+14|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[i+14>>0]=0;h=j+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a[h+11>>0]=9;e=h;f=309446;g=e+9|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[h+9>>0]=0;f=k+4|0;g=FA(24)|0;c[k>>2]=g;o=g+24|0;c[k+8>>2]=o;LA(g,j);e=g+12|0;LA(e,h);c[f>>2]=o;xp(b,k,0);if((a[g+23>>0]|0)<0)HA(c[e>>2]|0);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);c[f>>2]=g;HA(g);HA(i);h=18}while(0);if(((h|0)==18?(vp(b,14)|0)!=1:0)?(o=c[b+8>>2]|0,(c[o+4>>2]|0)==(c[o>>2]|0)):0){i=c[d>>2]|0;c[d>>2]=l;if(!i){o=0;aa=n;return o|0}e=c[i+20>>2]|0;if(e|0)do{f=e;e=c[e>>2]|0;g=f+8|0;if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);HA(f)}while((e|0)!=0);o=i+12|0;e=c[o>>2]|0;c[o>>2]=0;if(e|0)HA(e);g=c[i>>2]|0;if(g|0){h=i+4|0;e=c[h>>2]|0;if((e|0)==(g|0))e=g;else{do{e=e+-4|0;f=c[e>>2]|0;c[e>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((e|0)!=(g|0));e=c[i>>2]|0}c[h>>2]=g;HA(e)}HA(i);o=0;aa=n;return o|0}e=c[m+20>>2]|0;if(e|0)do{f=e;e=c[e>>2]|0;g=f+8|0;if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);HA(f)}while((e|0)!=0);o=m+12|0;e=c[o>>2]|0;c[o>>2]=0;if(e|0)HA(e);g=c[m>>2]|0;if(g|0){h=m+4|0;e=c[h>>2]|0;if((e|0)==(g|0))e=g;else{do{e=e+-4|0;f=c[e>>2]|0;c[e>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((e|0)!=(g|0));e=c[m>>2]|0}c[h>>2]=g;HA(e)}HA(m);o=1;aa=n;return o|0}function Sq(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;k=a+4|0;d=c[a>>2]|0;j=(c[k>>2]|0)-d>>2;e=j+1|0;if(e>>>0>1073741823)oB();l=a+8|0;h=(c[l>>2]|0)-d|0;d=h>>1;d=h>>2>>>0<536870911?(d>>>0<e>>>0?e:d):1073741823;do if(d)if(d>>>0>1073741823)U();else{i=FA(d<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;h=i+(d<<2)|0;g=c[b>>2]|0;c[b>>2]=0;c[e>>2]=g;g=e+4|0;d=c[a>>2]|0;f=d;b=c[k>>2]|0;if((b|0)!=(d|0)){f=(b+-4-f|0)>>>2;do{e=e+-4|0;b=b+-4|0;m=c[b>>2]|0;c[b>>2]=0;c[e>>2]=m}while((b|0)!=(d|0));e=i+(j+-1-f<<2)|0;f=c[a>>2]|0;d=c[k>>2]|0}c[a>>2]=e;c[k>>2]=g;c[l>>2]=h;b=f;if((d|0)!=(b|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(b|0));if(!f)return;HA(f);return}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,k=0,l=0,m=0;m=aa;aa=aa+16|0;i=m;k=m+8|0;qp(i,a);if((c[i>>2]|0)!=24){l=0;aa=m;return l|0}j=i+4|0;g=d+4|0;h=d+8|0;a:while(1){switch(c[j>>2]|0){case 32:case 26:case 22:case 19:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:break;default:{e=0;l=15;break a}}c[k>>2]=0;do if(!(Uq(a,b,k)|0)){f=c[g>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=c[k>>2];c[g>>2]=f+4;c[k>>2]=0;break}else{Vq(d,k);l=12;break}}else if((wp(a,102)|0)==1){l=9;break a}else l=12;while(0);if((l|0)==12?(l=0,e=c[k>>2]|0,c[k>>2]=0,e|0):0)ma[c[(c[e>>2]|0)+4>>2]&255](e);qp(i,a);if((c[i>>2]|0)!=24){e=0;l=15;break}}if((l|0)==9){e=c[k>>2]|0;c[k>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);l=1;aa=m;return l|0}else if((l|0)==15){aa=m;return e|0}return 0}function Uq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+48|0;f=h;g=a+96|0;if((c[g>>2]|0)>>>0>1)e=a+100|0;else{e=a+100|0;do{tt(f,c[a>>2]|0,a);i=c[g>>2]|0;c[g>>2]=i+1;i=a+16+(((c[e>>2]|0)+i&1)*40|0)|0;Wx(i);Ux(i,f);Wx(f)}while((c[g>>2]|0)>>>0<=1)}do switch(c[a+16+((c[e>>2]&1^1)*40|0)+20>>2]|0){case 3:{i=Xq(a,d)|0;aa=h;return i|0}case 4:{i=Yq(a,d)|0;aa=h;return i|0}case 5:{i=Zq(a,d)|0;aa=h;return i|0}case 6:{i=_q(a,d)|0;aa=h;return i|0}case 7:{i=$q(a,d)|0;aa=h;return i|0}case 8:{i=ar(a,d)|0;aa=h;return i|0}case 9:{i=br(a,d)|0;aa=h;return i|0}case 10:{i=cr(a,d)|0;aa=h;return i|0}case 22:case 19:{f=FA(12)|0;c[f+4>>2]=1;c[f>>2]=289864;i=f+8|0;c[i>>2]=0;if((dr(a,i)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;aa=h;return i|0}e=c[d>>2]|0;c[d>>2]=f;if(!e){i=0;aa=h;return i|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);i=0;aa=h;return i|0}case 26:{i=cq(a,b,d)|0;aa=h;return i|0}case 32:{i=er(a,d)|0;aa=h;return i|0}default:{i=1;aa=h;return i|0}}while(0);return 0}function Vq(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;k=a+4|0;d=c[a>>2]|0;j=(c[k>>2]|0)-d>>2;e=j+1|0;if(e>>>0>1073741823)oB();l=a+8|0;h=(c[l>>2]|0)-d|0;d=h>>1;d=h>>2>>>0<536870911?(d>>>0<e>>>0?e:d):1073741823;do if(d)if(d>>>0>1073741823)U();else{i=FA(d<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;h=i+(d<<2)|0;g=c[b>>2]|0;c[b>>2]=0;c[e>>2]=g;g=e+4|0;d=c[a>>2]|0;f=d;b=c[k>>2]|0;if((b|0)!=(d|0)){f=(b+-4-f|0)>>>2;do{e=e+-4|0;b=b+-4|0;m=c[b>>2]|0;c[b>>2]=0;c[e>>2]=m}while((b|0)!=(d|0));e=i+(j+-1-f<<2)|0;f=c[a>>2]|0;d=c[k>>2]|0}c[a>>2]=e;c[k>>2]=g;c[l>>2]=h;b=f;if((d|0)!=(b|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(b|0));if(!f)return;HA(f);return}function Wq(a){a=a|0;if((c[a>>2]|0)!=24)return 0;a=(c[a+4>>2]|0)+-3|0;if(a>>>0<30)return (545849599>>>(a&1073741823)&1|0)!=0|0;else return 0;return 0}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0;if((vp(a,24)|0)==1){b=1;return b|0}if((vp(a,3)|0)==1){b=1;return b|0}d=FA(24)|0;c[d+4>>2]=11;c[d>>2]=290072;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((dr(a,e)|0)!=1?($p(a,d+12|0)|0)!=1:0)?(vp(a,34)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function Yq(a,b){a=a|0;b=b|0;var d=0,e=0;if((vp(a,24)|0)==1){b=1;return b|0}if((vp(a,4)|0)==1){b=1;return b|0}d=FA(24)|0;c[d+4>>2]=4;c[d>>2]=290056;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((Fq(a,e)|0)!=1?($p(a,d+12|0)|0)!=1:0)?(vp(a,34)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function Zq(a,b){a=a|0;b=b|0;var d=0,e=0;if((vp(a,24)|0)==1){b=1;return b|0}if((vp(a,5)|0)==1){b=1;return b|0}d=FA(24)|0;c[d+4>>2]=3;c[d>>2]=290040;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((Fq(a,e)|0)!=1?($p(a,d+12|0)|0)!=1:0)?(vp(a,34)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0;if((vp(a,24)|0)==1){b=1;return b|0}if((vp(a,6)|0)==1){b=1;return b|0}d=FA(24)|0;c[d+4>>2]=7;c[d>>2]=290024;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((dr(a,e)|0)!=1?(hr(a,d+12|0)|0)!=1:0)?(vp(a,34)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0;if((vp(a,24)|0)==1){b=1;return b|0}if((vp(a,7)|0)==1){b=1;return b|0}d=FA(12)|0;c[d+4>>2]=9;c[d>>2]=290008;e=d+8|0;c[e>>2]=0;if((dr(a,e)|0)!=1?(vp(a,34)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function ar(a,b){a=a|0;b=b|0;var d=0,e=0;if((vp(a,24)|0)==1){b=1;return b|0}if((vp(a,8)|0)==1){b=1;return b|0}d=FA(12)|0;c[d+4>>2]=8;c[d>>2]=289992;e=d+8|0;c[e>>2]=0;if((dr(a,e)|0)!=1?(vp(a,34)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((vp(a,24)|0)==1)return 1;if((vp(a,9)|0)==1)return 1;f=rp(a,26)|0;e=FA(24)|0;d=e+4|0;if(f){c[d>>2]=6;c[e>>2]=289960;f=e+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;if((Fq(a,f)|0)==1){ma[c[(c[e>>2]|0)+4>>2]&255](e);return 1}if(($p(a,e+12|0)|0)==1){ma[c[(c[e>>2]|0)+4>>2]&255](e);return 1}d=c[b>>2]|0;c[b>>2]=e;if(!d){f=vp(a,34)|0;f=(f|0)==1;f=f&1;return f|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);f=vp(a,34)|0;f=(f|0)==1;f=f&1;return f|0}else{c[d>>2]=10;c[e>>2]=289976;f=e+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;if((dr(a,f)|0)==1){ma[c[(c[e>>2]|0)+4>>2]&255](e);return 1}if(($p(a,e+12|0)|0)==1){ma[c[(c[e>>2]|0)+4>>2]&255](e);return 1}d=c[b>>2]|0;c[b>>2]=e;if(!d){f=vp(a,34)|0;f=(f|0)==1;f=f&1;return f|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);f=vp(a,34)|0;f=(f|0)==1;f=f&1;return f|0}return 0}function cr(a,b){a=a|0;b=b|0;var d=0,e=0;if((vp(a,24)|0)==1){b=1;return b|0}if((vp(a,10)|0)==1){b=1;return b|0}d=FA(24)|0;c[d+4>>2]=5;c[d>>2]=289944;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((Fq(a,e)|0)!=1?($p(a,d+12|0)|0)!=1:0)?(vp(a,34)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function dr(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;o=aa;aa=aa+240|0;m=o+200|0;l=o+104|0;f=o+160|0;j=o+124|0;g=o+64|0;i=o;k=o+40|0;if((vp(b,24)|0)==1){b=1;aa=o;return b|0}pp(l,b);h=b+96|0;if(!(c[h>>2]|0)){e=b+100|0;do{tt(m,c[b>>2]|0,b);p=c[h>>2]|0;c[h>>2]=p+1;p=b+16+(((c[e>>2]|0)+p&1)*40|0)|0;Wx(p);Ux(p,m);Wx(m)}while(!(c[h>>2]|0))}else e=b+100|0;e=c[e>>2]&1;a:do switch(c[b+16+(e*40|0)+20>>2]|0){case 22:{k=b+100|0;Ux(f,b+16+(e*40|0)|0);p=b+16+((c[k>>2]&1)*40|0)|0;Wx(p);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[k>>2]=c[k>>2]&1^1;c[h>>2]=(c[h>>2]|0)+-1;Wx(f);f=FA(88)|0;c[f>>2]=289896;k=f+4|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];c[k+16>>2]=c[l+16>>2];k=f+24|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;vl(k,-1,m);p=f+60|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[f>>2]=289912;e=f+76|0;c[e>>2]=0;c[f+80>>2]=0;c[f+84>>2]=0;vl(j,c[b+4>>2]|0,l);Bp(b,k,j)|0;Cl(j);if(($p(b,p)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}if((hr(b,e)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}e=c[d>>2]|0;c[d>>2]=f;if(!e)n=20;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);n=20}break}case 19:{f=b+100|0;Ux(g,b+16+(e*40|0)|0);k=b+16+((c[f>>2]&1)*40|0)|0;Wx(k);c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[h>>2]=(c[h>>2]|0)+-1;Wx(g);f=FA(76)|0;c[f>>2]=289896;k=f+4|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];c[k+16>>2]=c[l+16>>2];k=f+24|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;vl(k,-1,m);p=f+60|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[f+72>>2]=1;c[f>>2]=289928;vl(i,c[b+4>>2]|0,l);Bp(b,k,i)|0;Cl(i);if(($p(b,p)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}e=c[d>>2]|0;c[d>>2]=f;if(!e)n=20;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);n=20}break}default:{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;a[k+11>>0]=6;a[k>>0]=a[327987]|0;a[k+1>>0]=a[327988]|0;a[k+2>>0]=a[327989]|0;a[k+3>>0]=a[327990]|0;a[k+4>>0]=a[327991]|0;a[k+5>>0]=a[327992]|0;a[k+6>>0]=0;d=k+12|0;f=k+16|0;c[f>>2]=0;c[f+4>>2]=50331648;a[d>>0]=a[327969]|0;a[d+1>>0]=a[327970]|0;a[d+2>>0]=a[327971]|0;a[d+3>>0]=0;f=m+4|0;g=FA(24)|0;c[m>>2]=g;p=g+24|0;c[m+8>>2]=p;LA(g,k);e=g+12|0;LA(e,d);c[f>>2]=p;xp(b,m,0);if((a[g+23>>0]|0)<0)HA(c[e>>2]|0);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);c[f>>2]=g;HA(g);e=1}}while(0);if((n|0)==20)e=(vp(b,34)|0)==1&1;p=e;aa=o;return p|0}function er(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+128|0;f=j+104|0;h=j+92|0;i=j+56|0;g=j+36|0;e=j;if((vp(b,24)|0)==1){i=1;aa=j;return i|0}pp(f,b);if((vp(b,32)|0)==1)e=1;else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;vl(i,-1,g);if(($p(b,h)|0)!=1?(vl(e,c[b+4>>2]|0,f),Bp(b,i,e)|0,Cl(e),(vp(b,34)|0)!=1):0){b=FA(56)|0;e=a[h+11>>0]|0;f=e<<24>>24<0;g=f?c[h>>2]|0:h;e=f?c[h+4>>2]|0:e&255;c[b+4>>2]=2;c[b>>2]=289880;sn(b+8|0,g,e);yl(b+20|0,i);e=c[d>>2]|0;c[d>>2]=b;if(!e)e=0;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);e=0}}else e=1;Cl(i);if((a[h+11>>0]|0)<0)HA(c[h>>2]|0)}i=e;aa=j;return i|0}function fr(b){b=b|0;c[b>>2]=289880;Cl(b+20|0);b=b+8|0;if((a[b+11>>0]|0)>=0)return;HA(c[b>>2]|0);return}function gr(b){b=b|0;var d=0;c[b>>2]=289880;Cl(b+20|0);d=b+8|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);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;n=aa;aa=aa+112|0;l=n+80|0;i=n+40|0;j=n;if(!(rp(a,59)|0)){a=0;aa=n;return a|0}k=a+100|0;m=a+96|0;g=b+4|0;h=b+8|0;while(1){Ux(i,a+16+((c[k>>2]&1)*40|0)|0);f=a+16+((c[k>>2]&1)*40|0)|0;Wx(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;c[k>>2]=c[k>>2]&1^1;c[m>>2]=(c[m>>2]|0)+-1;Wx(i);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;Dl(j,0,l);if((Vp(a,j)|0)==1){e=4;break}if((vp(a,34)|0)==1){e=6;break}d=c[g>>2]|0;if((d|0)==(c[h>>2]|0))kr(b,j);else{e=j;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[g>>2]=(c[g>>2]|0)+40}if(!(rp(a,59)|0)){d=0;e=11;break}}if((e|0)==4){a=1;aa=n;return a|0}else if((e|0)==6){a=1;aa=n;return a|0}else if((e|0)==11){aa=n;return d|0}return 0}function ir(b){b=b|0;var d=0;c[b>>2]=289896;d=b+60|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);Cl(b+24|0);return}function jr(b){b=b|0;var d=0;c[b>>2]=289896;d=b+60|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);Cl(b+24|0);HA(b);return}function kr(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;j=a+4|0;i=c[a>>2]|0;l=(c[j>>2]|0)-i|0;e=(l|0)/40|0;d=e+1|0;if(d>>>0>107374182)oB();k=a+8|0;g=((c[k>>2]|0)-i|0)/40|0;h=g<<1;d=g>>>0<53687091?(h>>>0<d>>>0?d:h):107374182;do if(d)if(d>>>0>107374182)U();else{f=FA(d*40|0)|0;break}else f=0;while(0);h=f+(e*40|0)|0;g=f+(d*40|0)|0;f=h;d=b;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));d=h+(((l|0)/-40|0)*40|0)|0;if((l|0)>0)_B(d|0,i|0,l|0)|0;c[a>>2]=d;c[j>>2]=h+40;c[k>>2]=g;if(!i)return;HA(i);return}function lr(b){b=b|0;var d=0;c[b>>2]=289912;d=c[b+76>>2]|0;if(d|0){c[b+80>>2]=d;HA(d)}c[b>>2]=289896;d=b+60|0;if((a[d+11>>0]|0)>=0){b=b+24|0;Cl(b);return}HA(c[d>>2]|0);b=b+24|0;Cl(b);return}function mr(b){b=b|0;var d=0;c[b>>2]=289912;d=c[b+76>>2]|0;if(d|0){c[b+80>>2]=d;HA(d)}c[b>>2]=289896;d=b+60|0;if((a[d+11>>0]|0)>=0){d=b+24|0;Cl(d);HA(b);return}HA(c[d>>2]|0);d=b+24|0;Cl(d);HA(b);return}function nr(b){b=b|0;var d=0;c[b>>2]=289896;d=b+60|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);Cl(b+24|0);HA(b);return}function or(a){a=a|0;var b=0;c[a>>2]=289864;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;ma[c[(c[a>>2]|0)+4>>2]&255](a);return}function pr(a){a=a|0;var b=0,d=0;c[a>>2]=289864;d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){HA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);HA(a);return}function qr(b){b=b|0;var d=0;c[b>>2]=289944;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function rr(b){b=b|0;var d=0,e=0;c[b>>2]=289944;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){HA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);HA(b);return}function sr(b){b=b|0;var d=0;c[b>>2]=289976;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function tr(b){b=b|0;var d=0,e=0;c[b>>2]=289976;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){HA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);HA(b);return}function ur(b){b=b|0;var d=0;c[b>>2]=289960;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function vr(b){b=b|0;var d=0,e=0;c[b>>2]=289960;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){HA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);HA(b);return}function wr(a){a=a|0;var b=0;c[a>>2]=289992;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;ma[c[(c[a>>2]|0)+4>>2]&255](a);return}function xr(a){a=a|0;var b=0,d=0;c[a>>2]=289992;d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){HA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);HA(a);return}function yr(a){a=a|0;var b=0;c[a>>2]=290008;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;ma[c[(c[a>>2]|0)+4>>2]&255](a);return}function zr(a){a=a|0;var b=0,d=0;c[a>>2]=290008;d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){HA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);HA(a);return}function Ar(a){a=a|0;var b=0;c[a>>2]=290024;b=c[a+12>>2]|0;if(b|0){c[a+16>>2]=b;HA(b)}a=a+8|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;ma[c[(c[b>>2]|0)+4>>2]&255](b);return}function Br(a){a=a|0;var b=0,d=0;c[a>>2]=290024;b=c[a+12>>2]|0;if(b|0){c[a+16>>2]=b;HA(b)}d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){HA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);HA(a);return}function Cr(b){b=b|0;var d=0;c[b>>2]=290040;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function Dr(b){b=b|0;var d=0,e=0;c[b>>2]=290040;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){HA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);HA(b);return}function Er(b){b=b|0;var d=0;c[b>>2]=290056;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function Fr(b){b=b|0;var d=0,e=0;c[b>>2]=290056;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){HA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);HA(b);return}function Gr(b){b=b|0;var d=0;c[b>>2]=290072;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function Hr(b){b=b|0;var d=0,e=0;c[b>>2]=290072;d=b+12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){HA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);HA(b);return}function Ir(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=aa;aa=aa+112|0;h=i;c[h>>2]=a;c[h+4>>2]=-1;c[h+8>>2]=d;c[h+12>>2]=e;e=h+16|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;e=h+56|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;g=h+96|0;c[g>>2]=0;f=h+100|0;c[f>>2]=0;a=bq(h,b)|0;d=c[g>>2]|0;if(!d){Wx(e);h=h+16|0;Wx(h);aa=i;return a|0}do{b=h+16+((d+1+(c[f>>2]|0)&1)*40|0)|0;Wx(b);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;d=(c[g>>2]|0)+-1|0;c[g>>2]=d}while((d|0)!=0);Wx(e);h=h+16|0;Wx(h);aa=i;return a|0}function Jr(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=aa;aa=aa+112|0;h=i;c[h>>2]=a;c[h+4>>2]=-1;c[h+8>>2]=d;c[h+12>>2]=e;e=h+16|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;e=h+56|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;g=h+96|0;c[g>>2]=0;f=h+100|0;c[f>>2]=0;a=Rq(h,b)|0;d=c[g>>2]|0;if(!d){Wx(e);h=h+16|0;Wx(h);aa=i;return a|0}do{b=h+16+((d+1+(c[f>>2]|0)&1)*40|0)|0;Wx(b);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;d=(c[g>>2]|0)+-1|0;c[g>>2]=d}while((d|0)!=0);Wx(e);h=h+16|0;Wx(h);aa=i;return a|0}function Kr(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,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=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;sa=aa;aa=aa+336|0;ka=sa+104|0;ja=sa+96|0;ia=sa+88|0;ha=sa+80|0;ga=sa+72|0;fa=sa+64|0;ea=sa+56|0;da=sa+48|0;ca=sa+40|0;na=sa+32|0;ma=sa+24|0;la=sa+16|0;ba=sa+8|0;$=sa;W=sa+320|0;oa=sa+280|0;X=sa+264|0;ra=sa+108|0;c[ra>>2]=e;Y=ra+4|0;V=ra+8|0;c[V>>2]=0;Z=ra+12|0;c[Z>>2]=b;S=ra+16|0;m=ra+56|0;c[m>>2]=0;n=ra+60|0;c[n>>2]=0;qa=ra+56|0;b=ra+52|0;f=S;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[b>>2]=qa;f=ra+64|0;h=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[Y>>2]=d;if((a[e+1>>0]|0)!=0?(i=c[d+112>>2]|0,o=c[d+116>>2]|0,(i|0)!=(o|0)):0){l=ra+52|0;do{h=c[i>>2]|0;if(!(a[e+2>>0]|0)){b=h;f=c[b+12>>2]|0;if(!(Dk(c[Y>>2]|0,f,b+16|0)|0)){k=f;pa=7}}else{k=h;b=k;k=c[k+12>>2]|0;pa=7}a:do if((pa|0)==7){pa=0;switch(k|0){case 0:{j=vk(c[Y>>2]|0,b+16|0)|0;break}case 1:{j=xk(c[Y>>2]|0,b+16|0)|0;break}case 2:{j=yk(c[Y>>2]|0,b+16|0)|0;break}case 3:{j=wk(c[Y>>2]|0,b+16|0)|0;break}case 4:{j=Ak(c[Y>>2]|0,b+16|0)|0;break}default:break a}if((j|0)!=-1){e=FA(28)|0;b=e+16|0;c[b>>2]=k;c[b+4>>2]=j;c[e+24>>2]=h;b=c[qa>>2]|0;do if(b){b:while(1){f=c[b+16>>2]|0;do if((f|0)<=(k|0)){if((f|0)>=(k|0)?(c[b+20>>2]|0)>>>0>j>>>0:0){pa=19;break}f=b+4|0;h=c[f>>2]|0;if(!h){pa=22;break b}else b=h}else pa=19;while(0);if((pa|0)==19){pa=0;f=c[b>>2]|0;if(!f){pa=20;break}else b=f}}if((pa|0)==20){pa=0;h=b;f=b;break}else if((pa|0)==22){pa=0;h=b;break}}else{h=qa;f=qa}while(0);c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[f>>2]=e;b=c[c[l>>2]>>2]|0;if(b){c[l>>2]=b;e=c[f>>2]|0}Lr(c[m>>2]|0,e);c[n>>2]=(c[n>>2]|0)+1;e=c[ra>>2]|0}}while(0);i=i+4|0}while((i|0)!=(o|0))}if(a[e+2>>0]|0?(p=c[Y>>2]|0,g=c[p+100>>2]|0,p=c[p+104>>2]|0,(g|0)!=(p|0)):0)do{e=c[g>>2]|0;c[W>>2]=e;b=c[e+28>>2]|0;h=ra+64+(b*12|0)+4|0;f=c[h>>2]|0;if((f|0)==(c[ra+64+(b*12|0)+8>>2]|0))Mr(ra+64+(b*12|0)|0,W);else{c[f>>2]=e;c[h>>2]=(c[h>>2]|0)+4}g=g+4|0}while((g|0)!=(p|0));Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);R=ra+24|0;c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,328009,6,0,0);c[R>>2]=1;Q=ra+20|0;c[Q>>2]=(c[Q>>2]|0)+2;b=d+20|0;e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[d+24>>2]|0:e&255;if(!e)c[R>>2]=2;else Or(ra,f?c[b>>2]|0:b,e,2);e=c[d+32>>2]|0;c:do if(e|0){y=X+4|0;F=X+8|0;O=ra+132|0;K=ra+152|0;J=ra+148|0;M=ra+140|0;N=ra+28|0;A=ra+32|0;G=ra+36|0;E=W+11|0;P=W+4|0;u=oa+28|0;v=oa+16|0;x=oa+32|0;L=ra+40|0;C=W+4|0;I=W+8|0;D=ra+44|0;H=ra+48|0;w=oa+4|0;z=oa+20|0;B=oa+8|0;d:while(1){e:do switch(c[e+32>>2]|0){case 0:{s=e;t=s+36|0;Pr(ra,t);c[X>>2]=0;c[y>>2]=0;c[F>>2]=0;q=s+88|0;d=s+92|0;n=s+112|0;o=s+116|0;tl(((c[d>>2]|0)-(c[q>>2]|0)>>2)+(Fk(c[n>>2]|0,c[o>>2]|0)|0)|0,s+124|0,X);b=c[s+88>>2]|0;m=c[d>>2]|0;if((b|0)!=(m|0)){l=c[X>>2]|0;k=0;f=0;while(1){j=c[b>>2]|0;if(!f){Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,328027,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2}h=l+(k*12|0)|0;g=h+11|0;f=a[g>>0]|0;i=f<<24>>24<0;if(i)f=c[l+(k*12|0)+4>>2]|0;else f=f&255;if(f|0){p=i?c[h>>2]|0:h;r=Az(p)|0;Nr(ra);nn(c[Z>>2]|0,p,r,0,0);c[R>>2]=1}Qr(ra,j,1);f=a[g>>0]|0;if(f<<24>>24<0)f=c[l+(k*12|0)+4>>2]|0;else f=f&255;if(!f)f=1;else{if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=1;f=0}b=b+4|0;if((b|0)==(m|0))break;else k=k+1|0}if(f){if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=1}}r=s+100|0;Rr(ra,r,328056);if((c[R>>2]|0)==3)Nr(ra);c[R>>2]=2;f=c[n>>2]|0;p=c[o>>2]|0;b=f;do if(Fk(f,p)|0?(_=(c[d>>2]|0)-(c[q>>2]|0)>>2,(p|0)!=(f|0)):0){o=c[X>>2]|0;n=f;l=0;m=0;f=0;while(1){j=c[n>>2]|0;if(!f){Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,327994,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2}k=m+_|0;h=o+(k*12|0)|0;g=h+11|0;f=a[g>>0]|0;i=f<<24>>24<0;if(i)f=c[o+(k*12|0)+4>>2]|0;else f=f&255;if(f|0){d=i?c[h>>2]|0:h;q=Az(d)|0;Nr(ra);nn(c[Z>>2]|0,d,q,0,0);c[R>>2]=1}Qr(ra,j,1);f=a[g>>0]|0;if(f<<24>>24<0)f=c[o+(k*12|0)+4>>2]|0;else f=f&255;if(!f)f=1;else{if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=1;f=0}q=l+1|0;d=q>>>0<(c[n+4>>2]|0)>>>0;b=d?b:n+8|0;l=d?q:0;n=b;if(!((l|0)!=0|(p|0)!=(n|0)))break;else m=m+1|0}b=c[R>>2]|0;if(!f){if((b|0)!=3)break;Nr(ra);break}if((b|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=1}while(0);c[R>>2]=2;h=c[N>>2]|0;b=c[A>>2]|0;if((b|0)!=(h|0))do{f=c[b+-12>>2]|0;if(f|0){c[b+-8>>2]=f;HA(f)}f=c[b+-24>>2]|0;if(f|0){c[b+-20>>2]=f;HA(f)}b=b+-40|0;if((a[b+11>>0]|0)<0)HA(c[b>>2]|0)}while((b|0)!=(h|0));c[A>>2]=h;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;q=c[G>>2]|0;f=q;if(h>>>0>=q>>>0){g=c[N>>2]|0;h=(h-g|0)/40|0;b=h+1|0;if(b>>>0>107374182){pa=107;break d}d=(f-g|0)/40|0;q=d<<1;b=d>>>0<53687091?(q>>>0<b>>>0?b:q):107374182;if(!b)g=0;else{if(b>>>0>107374182){pa=110;break d}g=FA(b*40|0)|0}f=g+(h*40|0)|0;m=g+(b*40|0)|0;LA(f,W);b=g+(h*40|0)+12|0;l=g+(h*40|0)+28|0;k=g+(h*40|0)+32|0;j=g+(h*40|0)+36|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;c[b+24>>2]=0;b=c[r>>2]|0;i=(c[s+104>>2]|0)-b|0;h=i>>2;if(i|0){if(h>>>0>1073741823){pa=114;break d}g=FA(i)|0;c[k>>2]=g;c[l>>2]=g;c[j>>2]=g+(h<<2);if((i|0)>0){_B(g|0,b|0,i|0)|0;c[k>>2]=g+(i>>>2<<2)}}h=f+40|0;g=c[N>>2]|0;b=c[A>>2]|0;if((b|0)==(g|0)){b=f;i=g;f=g}else{do{p=f;f=f+-40|0;d=b;b=b+-40|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[p+-28>>2]=c[d+-28>>2];r=p+-24|0;q=d+-24|0;c[r>>2]=0;o=p+-20|0;c[o>>2]=0;n=p+-16|0;c[n>>2]=0;c[r>>2]=c[q>>2];r=d+-20|0;c[o>>2]=c[r>>2];o=d+-16|0;c[n>>2]=c[o>>2];c[o>>2]=0;c[r>>2]=0;c[q>>2]=0;q=p+-12|0;r=d+-12|0;c[q>>2]=0;o=p+-8|0;c[o>>2]=0;p=p+-4|0;c[p>>2]=0;c[q>>2]=c[r>>2];q=d+-8|0;c[o>>2]=c[q>>2];d=d+-4|0;c[p>>2]=c[d>>2];c[d>>2]=0;c[q>>2]=0;c[r>>2]=0}while((b|0)!=(g|0));b=f;i=c[N>>2]|0;f=c[A>>2]|0}c[N>>2]=b;c[A>>2]=h;c[G>>2]=m;g=i;if((f|0)!=(g|0))do{b=c[f+-12>>2]|0;if(b|0){c[f+-8>>2]=b;HA(b)}b=c[f+-24>>2]|0;if(b|0){c[f+-20>>2]=b;HA(b)}f=f+-40|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0)}while((f|0)!=(g|0));if(i|0)HA(i)}else{LA(h,W);b=h+12|0;j=h+28|0;k=h+32|0;f=h+36|0;h=s+104|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;c[b+24>>2]=0;b=(c[h>>2]|0)-(c[r>>2]|0)|0;g=b>>2;if(b|0){if(g>>>0>1073741823){pa=102;break d}i=FA(b)|0;c[k>>2]=i;c[j>>2]=i;c[f>>2]=i+(g<<2);f=c[r>>2]|0;b=(c[h>>2]|0)-f|0;if((b|0)>0){_B(i|0,f|0,b|0)|0;c[k>>2]=i+(b>>>2<<2)}}c[A>>2]=(c[A>>2]|0)+40}if((a[E>>0]|0)<0)HA(c[W>>2]|0);c[V>>2]=t;b=s+144|0;if(!(a[c[ra>>2]>>0]|0)){c[W>>2]=290088;c[P>>2]=ra;Aj(oa,W);Hj(oa,b)|0;b=c[u>>2]|0;if(b|0){c[x>>2]=b;HA(b)}b=c[v>>2]|0;if(b|0){c[z>>2]=b;HA(b)}b=c[w>>2]|0;if(b|0){c[B>>2]=b;HA(b)}}else{b=c[b>>2]|0;if(b|0)do{Sr(ra,b);b=c[b+4>>2]|0}while((b|0)!=0);t=c[L>>2]|0;c[W>>2]=t;s=c[D>>2]|0;c[C>>2]=s;c[I>>2]=c[H>>2];b=t;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;Tr(ra,b,s);if(t|0){Ur(W,b);HA(c[W>>2]|0)}}c[V>>2]=0;if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;f=c[X>>2]|0;if(f|0){b=c[y>>2]|0;if((b|0)!=(f|0))do{b=b+-12|0;if((a[b+11>>0]|0)<0)HA(c[b>>2]|0)}while((b|0)!=(f|0));c[y>>2]=f;HA(f)}break}case 1:{t=e;Vr(ra,t+36|0);Wr(ra,t+56|0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;break}case 2:{h=c[e+36>>2]|0;if(!(a[(c[ra>>2]|0)+2>>0]|0)){Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,327980,6,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;s=h+4|0;r=a[s+11>>0]|0;t=r<<24>>24<0;Xr(ra,t?c[s>>2]|0:s,t?c[h+8>>2]|0:r&255);c[R>>2]=1;r=h+16|0;t=a[r+11>>0]|0;s=t<<24>>24<0;Xr(ra,s?c[r>>2]|0:r,s?c[h+20>>2]|0:t&255);c[R>>2]=1}switch(c[h+28>>2]|0){case 0:{Pr(ra,h+32|0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=1;b=1;break}case 1:{f=h+32|0;Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,328078,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;b=a[f+11>>0]|0;g=b<<24>>24<0;b=g?c[h+36>>2]|0:b&255;if(!b){c[$>>2]=c[O>>2];Yr(ra,310594,$)}else Or(ra,g?c[f>>2]|0:f,b,1);Zr(ra,1,c[O>>2]|0);_r(ra,1,c[O>>2]|0);b=h+48|0;r=b;s=c[r+4>>2]|0;t=ba;c[t>>2]=c[r>>2];c[t+4>>2]=s;Yr(ra,310601,ba);if(a[b+16>>0]|0){r=h+56|0;s=c[r+4>>2]|0;t=la;c[t>>2]=c[r>>2];c[t+4>>2]=s;Yr(ra,310601,la)}if(a[b+17>>0]|0)Yr(ra,328065,ma);Qr(ra,c[h+72>>2]|0,0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;c[O>>2]=(c[O>>2]|0)+1;b=2;break}case 2:{$r(ra,h+32|0);pa=183;break}case 3:{Vr(ra,h+32|0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=1;b=1;break}case 4:{as(ra,h+32|0);pa=183;break}default:pa=183}if((pa|0)==183){pa=0;b=c[R>>2]|0}b=(b|0)==3;if(a[(c[ra>>2]|0)+2>>0]|0){if(b)Nr(ra)}else{if(!b)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0)}c[R>>2]=2;break}case 10:{as(ra,e+36|0);break}case 3:{j=e;l=j+36|0;i=j+48|0;if(a[(c[ra>>2]|0)+1>>0]|0){k=c[i>>2]|0;switch(k|0){case 0:{m=vk(c[Y>>2]|0,j+52|0)|0;break}case 1:{m=xk(c[Y>>2]|0,j+52|0)|0;break}case 2:{m=yk(c[Y>>2]|0,j+52|0)|0;break}case 3:{m=wk(c[Y>>2]|0,j+52|0)|0;break}case 4:{m=Ak(c[Y>>2]|0,j+52|0)|0;break}default:m=0}b=c[qa>>2]|0;if(b|0){h=qa;while(1){f=c[b+16>>2]|0;do if((f|0)<(k|0)){g=b+4|0;f=h}else{if((k|0)>=(f|0)?(c[b+20>>2]|0)>>>0<m>>>0:0){g=b+4|0;f=h;break}g=b;f=b}while(0);b=c[g>>2]|0;if(!b)break;else h=f}if((f|0)!=(qa|0)?(T=c[f+16>>2]|0,(k|0)>=(T|0)):0){if((T|0)<(k|0))break e;if(m>>>0>=(c[f+20>>2]|0)>>>0)break e}}}Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,327954,6,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;s=a[l+11>>0]|0;t=s<<24>>24<0;Xr(ra,t?c[l>>2]|0:l,t?c[j+40>>2]|0:s&255);c[R>>2]=1;s=c[64+(c[i>>2]<<2)>>2]|0;Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;t=Az(s)|0;Nr(ra);nn(c[Z>>2]|0,s,t,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;if(c[j+72>>2]|0){r=j+76|0;t=a[r+11>>0]|0;s=t<<24>>24<0;Or(ra,s?c[r>>2]|0:r,s?c[j+80>>2]|0:t&255,1);if((c[R>>2]|0)!=3)pa=214}else{c[na>>2]=c[j+76>>2];Yr(ra,329253,na);c[R>>2]=1;pa=214}if((pa|0)==214){pa=0;c[R>>2]=0}c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;break}case 5:{b=e;g=b+40|0;Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,328078,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;f=a[g+11>>0]|0;h=f<<24>>24<0;f=h?c[b+44>>2]|0:f&255;if(!f){c[ca>>2]=c[O>>2];Yr(ra,310594,ca)}else Or(ra,h?c[g>>2]|0:g,f,1);Zr(ra,1,c[O>>2]|0);_r(ra,1,c[O>>2]|0);r=b+56|0;s=c[r+4>>2]|0;t=da;c[t>>2]=c[r>>2];c[t+4>>2]=s;Yr(ra,310601,da);if(a[b+72>>0]|0){r=b+64|0;s=c[r+4>>2]|0;t=ea;c[t>>2]=c[r>>2];c[t+4>>2]=s;Yr(ra,310601,ea)}if(a[b+73>>0]|0)Yr(ra,328065,fa);Qr(ra,c[b+80>>2]|0,0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;c[O>>2]=(c[O>>2]|0)+1;break}case 6:{h=e;f=h+36|0;Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,327939,4,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;b=a[f+11>>0]|0;g=b<<24>>24<0;b=g?c[h+40>>2]|0:b&255;if(!b){c[ga>>2]=c[K>>2];Yr(ra,310594,ga)}else Or(ra,g?c[f>>2]|0:f,b,1);if(!(a[h+84>>0]|0))Wr(ra,h+88|0);else{Nr(ra);nn(c[Z>>2]|0,328033,7,0,0);c[R>>2]=1}b=c[h+100>>2]|0;f=c[h+104>>2]|0;if((b|0)!=(f|0))do{if(!(c[b+20>>2]|0)){c[ha>>2]=c[b+24>>2];Yr(ra,329253,ha);c[R>>2]=1}else{r=b+24|0;t=a[r+11>>0]|0;s=t<<24>>24<0;Or(ra,s?c[r>>2]|0:r,s?c[b+28>>2]|0:t&255,1)}b=b+36|0}while((b|0)!=(f|0));if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;c[K>>2]=(c[K>>2]|0)+1;break}case 7:{$r(ra,e+40|0);break}case 8:{b=e;g=b+36|0;Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,327934,4,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;f=a[g+11>>0]|0;h=f<<24>>24<0;f=h?c[b+40>>2]|0:f&255;if(!f){c[ia>>2]=c[J>>2];Yr(ra,310594,ia)}else Or(ra,h?c[g>>2]|0:g,f,1);if(!(a[b+84>>0]|0))Wr(ra,b+88|0);else{Nr(ra);nn(c[Z>>2]|0,328033,7,0,0);c[R>>2]=1}t=c[b+100>>2]|0;Xr(ra,t,(c[b+104>>2]|0)-t|0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;c[J>>2]=(c[J>>2]|0)+1;break}case 4:{b=e;i=b+36|0;Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,328089,4,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;h=a[i+11>>0]|0;j=h<<24>>24<0;f=c[i>>2]|0;h=j?c[b+40>>2]|0:h&255;g=c[M>>2]|0;c[M>>2]=g+1;if(!h){c[ja>>2]=g;Yr(ra,310594,ja)}else Or(ra,j?f:i,h,1);Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,328607,4,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;Rr(ra,b+48|0,328027);Rr(ra,b+60|0,328056);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;break}case 9:{b=e;Nr(ra);nn(c[Z>>2]|0,328e3,1,0,0);c[R>>2]=0;Nr(ra);nn(c[Z>>2]|0,328072,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;if(c[b+56>>2]|0){r=b+60|0;t=a[r+11>>0]|0;s=t<<24>>24<0;Or(ra,s?c[r>>2]|0:r,s?c[b+64>>2]|0:t&255,0);if((c[R>>2]|0)!=3)pa=260}else{c[ka>>2]=c[b+60>>2];Yr(ra,329253,ka);c[R>>2]=0;pa=260}if((pa|0)==260){pa=0;c[R>>2]=0}c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;break}default:{}}while(0);e=c[e+4>>2]|0;if(!e)break c}if((pa|0)==102)oB();else if((pa|0)==107)oB();else if((pa|0)==110)U();else if((pa|0)==114)oB()}while(0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;Nr(ra);nn(c[Z>>2]|0,328063,1,0,0);c[R>>2]=2;Nr(ra);i=c[S>>2]|0;e=c[ra+112>>2]|0;if(e|0){c[ra+116>>2]=e;HA(e)}e=c[ra+100>>2]|0;if(e|0){c[ra+104>>2]=e;HA(e)}e=c[ra+88>>2]|0;if(e|0){c[ra+92>>2]=e;HA(e)}e=c[ra+76>>2]|0;if(e|0){c[ra+80>>2]=e;HA(e)}e=c[ra+64>>2]|0;if(e|0){c[ra+68>>2]=e;HA(e)}bs(c[qa>>2]|0);e=ra+40|0;b=c[e>>2]|0;if(b|0){Ur(e,b);HA(c[e>>2]|0)}f=ra+28|0;h=c[f>>2]|0;if(!h){aa=sa;return i|0}g=ra+32|0;e=c[g>>2]|0;if((e|0)==(h|0))e=h;else{do{b=c[e+-12>>2]|0;if(b|0){c[e+-8>>2]=b;HA(b)}b=c[e+-24>>2]|0;if(b|0){c[e+-20>>2]=b;HA(b)}e=e+-40|0;if((a[e+11>>0]|0)<0)HA(c[e>>2]|0)}while((e|0)!=(h|0));e=c[f>>2]|0}c[g>>2]=h;HA(e);aa=sa;return i|0}function Lr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=(d|0)==(b|0);a[d+12>>0]=j&1;if(j)return;h=d;while(1){g=h+8|0;i=c[g>>2]|0;d=i+12|0;if(a[d>>0]|0){e=24;break}j=i+8|0;f=c[j>>2]|0;e=c[f>>2]|0;if((e|0)==(i|0)){e=c[f+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(a[e>>0]|0){e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(a[e>>0]|0){e=16;break}}a[d>>0]=1;j=(f|0)==(b|0);a[f+12>>0]=j&1;a[e>>0]=1;if(j){e=24;break}else h=f}if((e|0)==7){if((c[i>>2]|0)==(h|0))g=f;else{h=i+4|0;e=c[h>>2]|0;d=c[e>>2]|0;c[h>>2]=d;if(!d)d=f;else{c[d+8>>2]=i;d=c[j>>2]|0}g=e+8|0;c[g>>2]=d;d=c[j>>2]|0;c[((c[d>>2]|0)==(i|0)?d:d+4|0)>>2]=e;c[e>>2]=i;c[j>>2]=e;g=c[g>>2]|0;d=e+12|0}a[d>>0]=1;a[g+12>>0]=0;d=c[g>>2]|0;f=d+4|0;e=c[f>>2]|0;c[g>>2]=e;if(e|0)c[e+8>>2]=g;j=g+8|0;c[d+8>>2]=c[j>>2];i=c[j>>2]|0;c[((c[i>>2]|0)==(g|0)?i:i+4|0)>>2]=d;c[f>>2]=g;c[j>>2]=d;return}else if((e|0)==16){if((c[i>>2]|0)==(h|0)){e=h+4|0;d=c[e>>2]|0;c[i>>2]=d;if(!d)d=f;else{c[d+8>>2]=i;d=c[j>>2]|0}c[g>>2]=d;f=c[j>>2]|0;c[((c[f>>2]|0)==(i|0)?f:f+4|0)>>2]=h;c[e>>2]=i;c[j>>2]=h;f=c[g>>2]|0;d=h+12|0}a[d>>0]=1;a[f+12>>0]=0;j=f+4|0;d=c[j>>2]|0;e=c[d>>2]|0;c[j>>2]=e;if(e|0)c[e+8>>2]=f;j=f+8|0;c[d+8>>2]=c[j>>2];i=c[j>>2]|0;c[((c[i>>2]|0)==(f|0)?i:i+4|0)>>2]=d;c[d>>2]=f;c[j>>2]=d;return}else if((e|0)==24)return}function Mr(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function Nr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;d=g;e=b+24|0;switch(c[e>>2]|0){case 1:{f=c[b+12>>2]|0;a[d>>0]=32;nn(f,d,1,0,0);c[e>>2]=0;aa=g;return}case 3:case 2:{f=b+12|0;h=c[f>>2]|0;a[d>>0]=10;nn(h,d,1,0,0);d=c[b+20>>2]|0;if(d>>>0>141)do{nn(c[f>>2]|0,15904,142,0,0);d=d+-142|0}while(d>>>0>141);if(!d){c[e>>2]=0;aa=g;return}nn(c[f>>2]|0,15904,d,0,0);c[e>>2]=0;aa=g;return}default:{c[e>>2]=0;aa=g;return}}}function Or(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;k=aa;aa=aa+16|0;j=k;i=e+f|0;a:do if(f|0){h=e;while(1){if(!(a[15648+(d[h>>0]|0)>>0]|0))break;h=h+1|0;if((h|0)==(i|0))break a}c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;do{f=a[e>>0]|0;dB(j,(a[15648+(f&255)>>0]|0)==0?95:f);e=e+1|0}while((e|0)!=(i|0));i=j+11|0;f=a[i>>0]|0;e=f<<24>>24<0;h=e?c[j>>2]|0:j;f=e?c[j+4>>2]|0:f&255;Nr(b);nn(c[b+12>>2]|0,h,f,0,0);if((a[i>>0]|0)<0)HA(c[j>>2]|0);j=b+24|0;c[j>>2]=g;aa=k;return}while(0);Nr(b);nn(c[b+12>>2]|0,e,f,0,0);j=b+24|0;c[j>>2]=g;aa=k;return}function Pr(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;p=aa;aa=aa+80|0;n=p+8|0;g=p;k=p+32|0;l=p+12|0;Nr(b);m=b+12|0;nn(c[m>>2]|0,328e3,1,0,0);j=b+24|0;c[j>>2]=0;Nr(b);nn(c[m>>2]|0,328607,4,0,0);c[j>>2]=1;i=b+20|0;c[i>>2]=(c[i>>2]|0)+2;e=a[d+11>>0]|0;f=e<<24>>24<0;e=f?c[d+4>>2]|0:e&255;h=b+124|0;if(!e){c[g>>2]=c[h>>2];Yr(b,310594,g)}else Or(b,f?c[d>>2]|0:d,e,1);Zr(b,0,c[h>>2]|0);_r(b,0,c[h>>2]|0);e=d+12|0;if(a[e>>0]|0){Nr(b);nn(c[m>>2]|0,328e3,1,0,0);c[j>>2]=0;Nr(b);nn(c[m>>2]|0,328089,4,0,0);c[j>>2]=1;c[i>>2]=(c[i>>2]|0)+2;if(c[d+36>>2]|0){f=d+40|0;n=a[f+11>>0]|0;g=n<<24>>24<0;Or(b,g?c[f>>2]|0:f,g?c[d+44>>2]|0:n&255,0);if((c[j>>2]|0)!=3)o=8}else{c[n>>2]=c[d+40>>2];Yr(b,329253,n);c[j>>2]=0;o=8}if((o|0)==8)c[j>>2]=0;c[i>>2]=(c[i>>2]|0)+-2;Nr(b);nn(c[m>>2]|0,328063,1,0,0);c[j>>2]=1}o=c[b+4>>2]|0;n=c[h>>2]|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;vl(k,n,l);o=Dk(o,0,k)|0;Cl(k);if(!o){o=c[h>>2]|0;o=o+1|0;c[h>>2]=o;aa=p;return}if(!((a[e>>0]|0)==0?1:(a[(c[b>>2]|0)+2>>0]|0)!=0)){o=c[h>>2]|0;o=o+1|0;c[h>>2]=o;aa=p;return}Rr(b,d+52|0,328027);Rr(b,d+64|0,328056);o=c[h>>2]|0;o=o+1|0;c[h>>2]=o;aa=p;return}function Qr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do switch(b|0){case -1:{b=328637;break}case -2:{b=328633;break}case -3:{b=328629;break}case -4:{b=328625;break}case -5:{b=328620;break}case -16:{b=328612;break}case -32:{b=328607;break}case -24:{b=328596;break}case -64:{b=328591;break}case 0:{b=328587;break}case -17:{b=328580;break}default:b=328567}while(0);e=Az(b)|0;Nr(a);nn(c[a+12>>2]|0,b,e,0,0);c[a+24>>2]=d;return}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;g=b+4|0;f=c[g>>2]|0;e=c[b>>2]|0;if((f|0)==(e|0))return;h=(d|0)!=0;if(h){Nr(a);i=a+12|0;nn(c[i>>2]|0,328e3,1,0,0);e=a+24|0;c[e>>2]=0;f=Az(d)|0;Nr(a);nn(c[i>>2]|0,d,f,0,0);c[e>>2]=1;e=a+20|0;c[e>>2]=(c[e>>2]|0)+2;e=c[b>>2]|0;f=c[g>>2]|0}if((e|0)!=(f|0))do{Qr(a,c[e>>2]|0,1);e=e+4|0}while((e|0)!=(f|0));if(!h)return;e=a+24|0;if((c[e>>2]|0)!=3)c[e>>2]=0;i=a+20|0;c[i>>2]=(c[i>>2]|0)+-2;Nr(a);nn(c[a+12>>2]|0,328063,1,0,0);c[e>>2]=1;return}function Sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;f=h+8|0;e=h;d=c[b+32>>2]|0;do switch(d|0){case 47:case 14:case 6:case 1:case 4:{ot(a,b,2,1);aa=h;return}case 49:case 42:case 3:{ot(a,b,2,0);aa=h;return}case 7:{g=b+88|0;ot(a,b,0,(c[g+16>>2]|0)-(c[g+12>>2]|0)>>2);aa=h;return}case 8:{ot(a,b,pt(a,b+36|0)|0,1);aa=h;return}case 9:{g=pt(a,b+36|0)|0;ot(a,b,g+1|0,g);aa=h;return}case 10:{ot(a,b,1,1);aa=h;return}case 11:{ot(a,b,(pt(a,b+48|0)|0)+1|0,1);aa=h;return}case 12:{f=b+36|0;e=c[a+4>>2]|0;d=Ik(e,f)|0;if(!d)g=0;else g=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;d=Ik(e,f)|0;if(!d)d=0;else d=(c[d+68>>2]|0)-(c[d+64>>2]|0)>>2;ot(a,b,g,d);aa=h;return}case 37:{f=b+36|0;e=c[a+4>>2]|0;d=Ik(e,f)|0;if(!d)g=0;else g=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;d=Ik(e,f)|0;if(!d)d=0;else d=(c[d+68>>2]|0)-(c[d+64>>2]|0)>>2;ot(a,b,g,d);aa=h;return}case 13:{ot(a,b,((c[b+80>>2]|0)-(c[b+76>>2]|0)>>2)+1|0,(c[b+92>>2]|0)-(c[b+88>>2]|0)>>2);aa=h;return}case 38:{ot(a,b,((c[b+80>>2]|0)-(c[b+76>>2]|0)>>2)+1|0,(c[b+92>>2]|0)-(c[b+88>>2]|0)>>2);aa=h;return}case 34:case 54:case 48:case 31:case 22:case 18:case 15:{ot(a,b,0,1);aa=h;return}case 44:case 27:{ot(a,b,0,0);aa=h;return}case 43:case 26:case 28:case 45:case 30:{ot(a,b,3,0);aa=h;return}case 33:case 46:case 53:case 29:case 24:case 21:case 16:case 0:{ot(a,b,1,1);aa=h;return}case 23:case 19:case 17:{ot(a,b,1,0);aa=h;return}case 20:{g=b+88|0;ot(a,b,1,(c[g+16>>2]|0)-(c[g+12>>2]|0)>>2);aa=h;return}case 25:{g=b+88|0;ot(a,b,0,(c[g+16>>2]|0)-(c[g+12>>2]|0)>>2);aa=h;return}case 32:{ot(a,b,0,0);aa=h;return}case 36:{g=c[a+8>>2]|0;ot(a,b,(c[g+68>>2]|0)-(c[g+64>>2]|0)>>2,1);aa=h;return}case 35:{ot(a,b,0,0);aa=h;return}case 39:case 5:case 2:{ot(a,b,3,1);aa=h;return}case 51:{d=Ok(c[a+4>>2]|0,b+36|0)|0;if(!d)d=0;else d=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;ot(a,b,d,0);aa=h;return}case 52:{g=b+88|0;ot(a,b,0,(c[g+16>>2]|0)-(c[g+12>>2]|0)>>2);aa=h;return}case 50:{ot(a,b,3,1);aa=h;return}case 40:switch(c[b+36>>2]|0){case 232:case 229:case 226:case 223:case 220:case 219:case 216:case 215:{ot(a,b,1,1);aa=h;return}case 233:case 230:case 227:case 224:case 221:case 217:{ot(a,b,2,1);aa=h;return}default:{a=tk(40)|0;c[e>>2]=a;gA(0,310796,e);aa=h;return}}case 41:{ot(a,b,2,1);aa=h;return}default:{a=tk(d)|0;c[f>>2]=a;gA(0,310830,f);aa=h;return}}while(0)}function Tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=aa;aa=aa+112|0;O=S+64|0;Q=S+24|0;J=S;if((b|0)==(d|0)){aa=S;return}I=J+4|0;z=J+8|0;A=J+12|0;N=J+16|0;P=a+12|0;M=a+24|0;R=O+4|0;m=Q+28|0;l=J+4|0;L=a+20|0;n=Q+16|0;r=Q+32|0;K=a+40|0;q=O+4|0;C=O+8|0;p=a+44|0;B=a+48|0;w=O+4|0;G=O+8|0;y=O+4|0;H=O+8|0;t=O+4|0;E=O+8|0;o=Q+4|0;v=Q+20|0;x=Q+8|0;u=O+4|0;F=O+8|0;s=O+4|0;D=O+8|0;while(1){k=c[b>>2]|0;c[J>>2]=k;g=b+4|0;c[I>>2]=0;c[z>>2]=0;c[A>>2]=0;i=b+8|0;e=(c[i>>2]|0)-(c[g>>2]|0)|0;h=(e|0)/20|0;j=k;if(e){if(h>>>0>214748364){b=6;break}f=FA(e)|0;c[z>>2]=f;c[I>>2]=f;c[A>>2]=f+(h*20|0);e=c[g>>2]|0;g=c[i>>2]|0;if((e|0)==(g|0))e=k;else{do{nt(f,e);e=e+20|0;f=f+20|0;c[z>>2]=f}while((e|0)!=(g|0));e=c[J>>2]|0;j=e}}else{e=k;f=0}c[N>>2]=c[b+16>>2];switch(c[j+32>>2]|0){case 7:{Nr(a);nn(c[P>>2]|0,328e3,1,0,0);c[M>>2]=0;Zl(O,2);lt(a,1,e+36|0,c[O>>2]|0);e=c[e+112>>2]|0;if(e|0)do{Sr(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;j=c[p>>2]|0;c[q>>2]=j;c[C>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;Tr(a,e,j);if(k|0){Ur(O,e);HA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;Nr(a);nn(c[P>>2]|0,328063,1,0,0);break}case 25:{Nr(a);nn(c[P>>2]|0,328e3,1,0,0);c[M>>2]=0;Zl(O,3);lt(a,2,e+36|0,c[O>>2]|0);e=c[e+112>>2]|0;if(e|0)do{Sr(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;j=c[p>>2]|0;c[w>>2]=j;c[G>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;Tr(a,e,j);if(k|0){Ur(O,e);HA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;Nr(a);nn(c[P>>2]|0,328063,1,0,0);break}case 20:{Nr(a);nn(c[P>>2]|0,328e3,1,0,0);c[M>>2]=0;Zl(O,4);lt(a,3,j+36|0,c[O>>2]|0);Tr(a,c[I>>2]|0,f);Nr(a);nn(c[P>>2]|0,328e3,1,0,0);c[M>>2]=0;Nr(a);nn(c[P>>2]|0,328084,4,0,0);c[M>>2]=2;c[L>>2]=(c[L>>2]|0)+2;e=c[j+112>>2]|0;if(e|0)do{Sr(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;i=c[p>>2]|0;c[y>>2]=i;c[H>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;Tr(a,e,i);if(k|0){Ur(O,e);HA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;Nr(a);nn(c[P>>2]|0,328063,1,0,0);c[M>>2]=2;if(c[j+152>>2]|0){Nr(a);nn(c[P>>2]|0,328e3,1,0,0);c[M>>2]=0;Nr(a);nn(c[P>>2]|0,328224,4,0,0);c[M>>2]=2;c[L>>2]=(c[L>>2]|0)+2;e=c[j+144>>2]|0;if(e|0)do{Sr(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;j=c[p>>2]|0;c[s>>2]=j;c[D>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;Tr(a,e,j);if(k|0){Ur(O,e);HA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;Nr(a);nn(c[P>>2]|0,328063,1,0,0);c[M>>2]=2}c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;Nr(a);nn(c[P>>2]|0,328063,1,0,0);break}case 52:{Nr(a);nn(c[P>>2]|0,328e3,1,0,0);c[M>>2]=0;Zl(O,6);lt(a,5,j+36|0,c[O>>2]|0);Tr(a,c[I>>2]|0,f);e=c[j+112>>2]|0;if(e|0)do{Sr(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;i=c[p>>2]|0;c[t>>2]=i;c[E>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;Tr(a,e,i);if(k|0){Ur(O,e);HA(c[O>>2]|0)}Nr(a);nn(c[P>>2]|0,328e3,1,0,0);c[M>>2]=0;Nr(a);nn(c[P>>2]|0,328196,5,0,0);c[M>>2]=2;c[L>>2]=(c[L>>2]|0)+2;e=c[j+144>>2]|0;if(e|0)do{Sr(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;j=c[p>>2]|0;c[u>>2]=j;c[F>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;Tr(a,e,j);if(k|0){Ur(O,e);HA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;Nr(a);nn(c[P>>2]|0,328063,1,0,0);c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;Nr(a);nn(c[P>>2]|0,328063,1,0,0);break}default:{Nr(a);nn(c[P>>2]|0,328e3,1,0,0);c[M>>2]=0;c[O>>2]=290088;c[R>>2]=a;Aj(Q,O);Bj(Q,j)|0;e=c[m>>2]|0;if(e|0){c[r>>2]=e;HA(e)}e=c[n>>2]|0;if(e|0){c[v>>2]=e;HA(e)}e=c[o>>2]|0;if(e|0){c[x>>2]=e;HA(e)}c[L>>2]=(c[L>>2]|0)+2;Tr(a,c[I>>2]|0,f);if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;Nr(a);nn(c[P>>2]|0,328063,1,0,0)}}c[M>>2]=2;e=c[l>>2]|0;if(e|0){Ur(l,e);HA(c[l>>2]|0)}b=b+20|0;if((b|0)==(d|0)){b=3;break}}if((b|0)==3){aa=S;return}else if((b|0)==6)oB()}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;a=c[f>>2]|0;if((a|0)==(b|0)){c[f>>2]=b;return}do{d=a+-16|0;a=a+-20|0;e=c[d>>2]|0;if(e|0){Ur(d,e);HA(c[d>>2]|0)}}while((a|0)!=(b|0));c[f>>2]=b;return}function Vr(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=aa;aa=aa+16|0;k=l;Nr(b);i=b+12|0;nn(c[i>>2]|0,328e3,1,0,0);h=b+24|0;c[h>>2]=0;Nr(b);nn(c[i>>2]|0,327973,6,0,0);c[h>>2]=1;g=b+20|0;c[g>>2]=(c[g>>2]|0)+2;e=a[d+11>>0]|0;j=e<<24>>24<0;e=j?c[d+4>>2]|0:e&255;f=b+128|0;if(!e){c[k>>2]=c[f>>2];Yr(b,310594,k)}else Or(b,j?c[d>>2]|0:d,e,1);Zr(b,3,c[f>>2]|0);_r(b,3,c[f>>2]|0);if(!(a[d+16>>0]|0)){Qr(b,c[d+12>>2]|0,1);k=c[f>>2]|0;k=k+1|0;c[f>>2]=k;aa=l;return}Nr(b);nn(c[i>>2]|0,328e3,1,0,0);c[h>>2]=0;Nr(b);nn(c[i>>2]|0,328016,3,0,0);c[h>>2]=1;c[g>>2]=(c[g>>2]|0)+2;Qr(b,c[d+12>>2]|0,1);if((c[h>>2]|0)!=3)c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-2;Nr(b);nn(c[i>>2]|0,328063,1,0,0);c[h>>2]=1;k=c[f>>2]|0;k=k+1|0;c[f>>2]=k;aa=l;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;d=h+40|0;g=h;if(!(c[b+8>>2]|0)){aa=h;return}Nr(a);f=a+12|0;nn(c[f>>2]|0,328e3,1,0,0);e=a+24|0;c[e>>2]=0;c[d>>2]=290088;c[d+4>>2]=a;Aj(g,d);Hj(g,b)|0;d=c[g+28>>2]|0;if(d|0){c[g+32>>2]=d;HA(d)}d=c[g+16>>2]|0;if(d|0){c[g+20>>2]=d;HA(d)}d=c[g+4>>2]|0;if(d|0){c[g+8>>2]=d;HA(d)}c[e>>2]=0;Nr(a);nn(c[f>>2]|0,328063,1,0,0);c[e>>2]=1;aa=h;return}function Xr(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=aa;aa=aa+16|0;i=l;Nr(b);j=b+12|0;k=c[j>>2]|0;a[i>>0]=34;nn(k,i,1,0,0);if(!e){k=c[j>>2]|0;a[i>>0]=34;nn(k,i,1,0,0);k=b+24|0;c[k>>2]=1;aa=l;return}g=0;do{f=a[d+g>>0]|0;h=f&255;k=c[j>>2]|0;if(!(a[15392+h>>0]|0)){a[i>>0]=f;nn(k,i,1,0,0)}else{a[i>>0]=92;nn(k,i,1,0,0);k=c[j>>2]|0;a[i>>0]=a[16704+(h>>>4)>>0]|0;nn(k,i,1,0,0);k=c[j>>2]|0;a[i>>0]=a[16704+(h&15)>>0]|0;nn(k,i,1,0,0)}g=g+1|0}while((g|0)!=(e|0));k=c[j>>2]|0;a[i>>0]=34;nn(k,i,1,0,0);k=b+24|0;c[k>>2]=1;aa=l;return}function Yr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+160|0;e=h+144|0;g=h+128|0;f=h;c[e>>2]=d;c[g>>2]=c[e>>2];d=Bz(f,128,b,e)|0;e=d+1|0;if(e>>>0>128){d=aa;aa=aa+((1*e|0)+15&-16)|0;f=d;d=Bz(d,e,b,g)|0}Nr(a);nn(c[a+12>>2]|0,f,d,0,0);c[a+24>>2]=1;aa=h;return}function Zr(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;if(!(a[(c[b>>2]|0)+1>>0]|0))return;f=b+56|0;g=c[f>>2]|0;a:do if(!g)k=28;else{j=g;b:while(1){g=c[j+16>>2]|0;do if((g|0)>(d|0))k=7;else{if((g|0)>=(d|0)){g=c[j+20>>2]|0;if(g>>>0>e>>>0){k=7;break}if(g>>>0>=e>>>0)break b}g=j+4|0}while(0);if((k|0)==7){k=0;f=j;g=j}g=c[g>>2]|0;if(!g){k=28;break a}else j=g}h=c[j>>2]|0;if(!h)g=j;else{g=j;do{i=c[h+16>>2]|0;do if((i|0)<(d|0))i=h+4|0;else{if((i|0)<=(d|0)?(c[h+20>>2]|0)>>>0<e>>>0:0){i=h+4|0;break}i=h;g=h}while(0);h=c[i>>2]|0}while((h|0)!=0)}h=c[j+4>>2]|0;if(h)do{i=c[h+16>>2]|0;do if((i|0)>(d|0)){i=h;f=h}else{if((i|0)>=(d|0)?(c[h+20>>2]|0)>>>0>e>>>0:0){i=h;f=h;break}i=h+4|0}while(0);h=c[i>>2]|0}while((h|0)!=0)}while(0);if((k|0)==28)g=f;if((g|0)==(f|0))return;d=b+12|0;e=b+24|0;j=b+20|0;do{k=c[g+24>>2]|0;Nr(b);nn(c[d>>2]|0,328e3,1,0,0);c[e>>2]=0;Nr(b);nn(c[d>>2]|0,327954,6,0,0);c[e>>2]=1;c[j>>2]=(c[j>>2]|0)+2;h=a[k+11>>0]|0;i=h<<24>>24<0;Xr(b,i?c[k>>2]|0:k,i?c[k+4>>2]|0:h&255);c[e>>2]=0;c[j>>2]=(c[j>>2]|0)+-2;Nr(b);nn(c[d>>2]|0,328063,1,0,0);c[e>>2]=1;h=c[g+4>>2]|0;if(!h){h=g+8|0;i=c[h>>2]|0;if((c[i>>2]|0)==(g|0))g=i;else do{k=c[h>>2]|0;h=k+8|0;g=c[h>>2]|0}while((c[g>>2]|0)!=(k|0))}else{g=h;while(1){h=c[g>>2]|0;if(!h)break;else g=h}}}while((g|0)!=(f|0));return}function _r(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[(c[b>>2]|0)+2>>0]|0))return;f=c[b+64+(d*12|0)>>2]|0;if((c[b+64+(d*12|0)+4>>2]|0)-f>>2>>>0<=e>>>0)return;h=c[f+(e<<2)>>2]|0;Nr(b);e=b+12|0;nn(c[e>>2]|0,328e3,1,0,0);d=b+24|0;c[d>>2]=0;Nr(b);nn(c[e>>2]|0,327980,6,0,0);c[d>>2]=1;f=b+20|0;c[f>>2]=(c[f>>2]|0)+2;i=h+4|0;j=a[i+11>>0]|0;g=j<<24>>24<0;Xr(b,g?c[i>>2]|0:i,g?c[h+8>>2]|0:j&255);c[d>>2]=1;j=h+16|0;g=a[j+11>>0]|0;i=g<<24>>24<0;Xr(b,i?c[j>>2]|0:j,i?c[h+20>>2]|0:g&255);c[d>>2]=0;c[f>>2]=(c[f>>2]|0)+-2;Nr(b);nn(c[e>>2]|0,328063,1,0,0);c[d>>2]=1;return}function $r(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;n=aa;aa=aa+32|0;m=n+16|0;l=n+8|0;k=n;Nr(b);i=b+12|0;nn(c[i>>2]|0,328e3,1,0,0);h=b+24|0;c[h>>2]=0;Nr(b);nn(c[i>>2]|0,328002,6,0,0);c[h>>2]=1;f=b+20|0;c[f>>2]=(c[f>>2]|0)+2;e=a[d+11>>0]|0;j=e<<24>>24<0;e=j?c[d+4>>2]|0:e&255;g=b+136|0;if(!e){c[k>>2]=c[g>>2];Yr(b,310594,k)}else Or(b,j?c[d>>2]|0:d,e,1);Zr(b,2,c[g>>2]|0);_r(b,2,c[g>>2]|0);e=d+16|0;j=c[e+4>>2]|0;k=l;c[k>>2]=c[e>>2];c[k+4>>2]=j;Yr(b,310601,l);if(a[d+32>>0]|0){j=d+24|0;k=c[j+4>>2]|0;l=m;c[l>>2]=c[j>>2];c[l+4>>2]=k;Yr(b,310601,m)}if(a[d+33>>0]|0)Yr(b,328065,n+24|0);if((c[h>>2]|0)==3){m=c[f>>2]|0;m=m+-2|0;c[f>>2]=m;Nr(b);m=c[i>>2]|0;nn(m,328063,1,0,0);c[h>>2]=2;m=c[g>>2]|0;m=m+1|0;c[g>>2]=m;aa=n;return}c[h>>2]=0;m=c[f>>2]|0;m=m+-2|0;c[f>>2]=m;Nr(b);m=c[i>>2]|0;nn(m,328063,1,0,0);c[h>>2]=2;m=c[g>>2]|0;m=m+1|0;c[g>>2]=m;aa=n;return}function as(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;n=aa;aa=aa+16|0;l=n+8|0;k=n;Nr(b);i=b+12|0;nn(c[i>>2]|0,328e3,1,0,0);h=b+24|0;c[h>>2]=0;Nr(b);nn(c[i>>2]|0,327948,5,0,0);c[h>>2]=1;g=b+20|0;c[g>>2]=(c[g>>2]|0)+2;e=a[d+11>>0]|0;j=e<<24>>24<0;e=j?c[d+4>>2]|0:e&255;f=b+144|0;if(!e){c[k>>2]=c[f>>2];Yr(b,310594,k)}else Or(b,j?c[d>>2]|0:d,e,1);Zr(b,4,c[f>>2]|0);_r(b,4,c[f>>2]|0);if(a[d+12>>0]|0){Nr(b);nn(c[i>>2]|0,328e3,1,0,0);c[h>>2]=0;Nr(b);nn(c[i>>2]|0,328089,4,0,0);c[h>>2]=1;c[g>>2]=(c[g>>2]|0)+2;if(c[d+36>>2]|0){j=d+40|0;l=a[j+11>>0]|0;k=l<<24>>24<0;Or(b,k?c[j>>2]|0:j,k?c[d+44>>2]|0:l&255,0);if((c[h>>2]|0)!=3)m=8}else{c[l>>2]=c[d+40>>2];Yr(b,329253,l);c[h>>2]=0;m=8}if((m|0)==8)c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-2;Nr(b);nn(c[i>>2]|0,328063,1,0,0);c[h>>2]=1}Rr(b,d+52|0,328027);c[f>>2]=(c[f>>2]|0)+1;if((c[h>>2]|0)==3){m=c[g>>2]|0;m=m+-2|0;c[g>>2]=m;Nr(b);m=c[i>>2]|0;nn(m,328063,1,0,0);c[h>>2]=2;aa=n;return}c[h>>2]=0;m=c[g>>2]|0;m=m+-2|0;c[g>>2]=m;Nr(b);m=c[i>>2]|0;nn(m,328063,1,0,0);c[h>>2]=2;aa=n;return}function bs(a){a=a|0;if(!a)return;else{bs(c[a>>2]|0);bs(c[a+4>>2]|0);HA(a);return}}function cs(a){a=a|0;HA(a);return}function ds(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;Zl(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function es(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;Zl(e,2);lt(a,1,b+36|0,c[e>>2]|0);aa=d;return 0}function fs(a,b){a=a|0;b=b|0;kt(c[a+4>>2]|0);return 0}function gs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=aa;aa=aa+48|0;g=d;a=a+4|0;e=c[a>>2]|0;Zl(g,12);g=c[g>>2]|0;f=Az(g)|0;Nr(e);nn(c[e+12>>2]|0,g,f,0,0);c[e+24>>2]=1;mt(c[a>>2]|0,b+36|0,2);aa=d;return 0}function hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=aa;aa=aa+48|0;g=d;a=a+4|0;e=c[a>>2]|0;Zl(g,13);g=c[g>>2]|0;f=Az(g)|0;Nr(e);nn(c[e+12>>2]|0,g,f,0,0);c[e+24>>2]=1;mt(c[a>>2]|0,b+36|0,2);aa=d;return 0}function is(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,10);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;mt(c[b>>2]|0,d+36|0,1);b=c[b>>2]|0;if(!(c[d+92>>2]|0)){c[e>>2]=c[d+96>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+96|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+100>>2]|0:i&255,2);aa=f;return 0}return 0}function js(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;e=g;f=a+4|0;d=c[f>>2]|0;Zl(e,14);a=c[e>>2]|0;e=Az(a)|0;Nr(d);nn(c[d+12>>2]|0,a,e,0,0);c[d+24>>2]=1;d=c[b+36>>2]|0;e=c[b+40>>2]|0;a=c[f>>2]|0;if((d|0)==(e|0)){f=a;b=b+48|0;mt(f,b,2);aa=g;return 0}do{mt(a,d,1);d=d+36|0;a=c[f>>2]|0}while((d|0)!=(e|0));b=b+48|0;mt(a,b,2);aa=g;return 0}function ks(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,16);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function ls(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=aa;aa=aa+48|0;h=i+8|0;e=i;f=i+12|0;g=b+4|0;b=c[g>>2]|0;Zl(f,17);f=c[f>>2]|0;j=Az(f)|0;Nr(b);nn(c[b+12>>2]|0,f,j,0,0);c[b+24>>2]=1;b=c[g>>2]|0;Nr(b);j=b+12|0;nn(c[j>>2]|0,328e3,1,0,0);f=b+24|0;c[f>>2]=0;Nr(b);nn(c[j>>2]|0,328089,4,0,0);c[f>>2]=1;b=b+20|0;c[b>>2]=(c[b>>2]|0)+2;b=c[g>>2]|0;if(!(c[d+60>>2]|0)){c[e>>2]=c[d+64>>2];Yr(b,329253,e);c[b+24>>2]=1}else{e=d+64|0;j=a[e+11>>0]|0;f=j<<24>>24<0;Or(b,f?c[e>>2]|0:e,f?c[d+68>>2]|0:j&255,1)}f=d+120|0;if((c[f>>2]|0)==0?(c[d+124>>2]|0)==0:0){b=c[g>>2]|0;e=b+24|0;if((c[e>>2]|0)!=3)c[e>>2]=0;j=b+20|0;c[j>>2]=(c[j>>2]|0)+-2;Nr(b);nn(c[b+12>>2]|0,328063,1,0,0);c[e>>2]=2;aa=i;return 0}b=c[g>>2]|0;e=b+24|0;if((c[e>>2]|0)!=3)c[e>>2]=0;j=b+20|0;c[j>>2]=(c[j>>2]|0)+-2;Nr(b);nn(c[b+12>>2]|0,328063,1,0,0);c[e>>2]=1;b=c[g>>2]|0;if(!(c[f>>2]|0)){c[h>>2]=c[d+124>>2];Yr(b,329253,h);c[b+24>>2]=2;aa=i;return 0}else{g=d+124|0;j=a[g+11>>0]|0;h=j<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+128>>2]|0:j&255,2);aa=i;return 0}return 0}function ms(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;Zl(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function ns(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+176|0;h=m+160|0;j=m+152|0;i=m+144|0;e=m+136|0;d=m+128|0;k=m;l=c[a+4>>2]|0;switch(c[b+60>>2]|0){case -1:{Zl(k,52);k=c[k>>2]|0;a=Az(k)|0;Nr(l);nn(c[l+12>>2]|0,k,a,0,0);a=l+24|0;c[a>>2]=1;c[d>>2]=c[b+64>>2];Yr(l,329250,d);if((c[a>>2]|0)==3)Nr(l);c[a>>2]=2;aa=m;return 0}case -2:{Zl(k,53);j=c[k>>2]|0;a=Az(j)|0;Nr(l);nn(c[l+12>>2]|0,j,a,0,0);a=l+24|0;c[a>>2]=1;j=b+64|0;k=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=k;Yr(l,310670,e);if((c[a>>2]|0)==3)Nr(l);c[a>>2]=2;aa=m;return 0}case -3:{Zl(k,54);j=c[k>>2]|0;a=Az(j)|0;Nr(l);h=l+12|0;nn(c[h>>2]|0,j,a,0,0);a=l+24|0;c[a>>2]=1;b=b+64|0;Mx(k,c[b>>2]|0);j=Az(k)|0;Nr(l);nn(c[h>>2]|0,k,j,0,0);c[a>>2]=1;g[i>>3]=+f[b>>2];Yr(l,310675,i);if((c[a>>2]|0)==3)Nr(l);c[a>>2]=2;aa=m;return 0}case -4:{Zl(k,55);i=c[k>>2]|0;a=Az(i)|0;Nr(l);h=l+12|0;nn(c[h>>2]|0,i,a,0,0);a=l+24|0;c[a>>2]=1;b=b+64|0;i=b;Nx(k,c[i>>2]|0,c[i+4>>2]|0);i=Az(k)|0;Nr(l);nn(c[h>>2]|0,k,i,0,0);c[a>>2]=1;g[j>>3]=+g[b>>3];Yr(l,310675,j);if((c[a>>2]|0)==3)Nr(l);c[a>>2]=2;aa=m;return 0}case -5:{Zl(k,212);i=c[k>>2]|0;a=Az(i)|0;Nr(l);nn(c[l+12>>2]|0,i,a,0,0);a=l+24|0;c[a>>2]=1;i=b+64|0;j=c[i+4>>2]|0;k=c[b+72>>2]|0;b=c[b+76>>2]|0;c[h>>2]=c[i>>2];c[h+4>>2]=j;c[h+8>>2]=k;c[h+12>>2]=b;Yr(l,310683,h);if((c[a>>2]|0)==3)Nr(l);c[a>>2]=2;aa=m;return 0}default:{aa=m;return 0}}return 0}function os(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;Zl(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function ps(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,20);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function qs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,25);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function rs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,26);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function ss(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;Zl(e,4);lt(a,3,b+36|0,c[e>>2]|0);aa=d;return 0}function ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=aa;aa=aa+48|0;d=e;if(!(c[b+152>>2]|0)){aa=e;return 0}b=a+4|0;a=c[b>>2]|0;f=a+20|0;c[f>>2]=(c[f>>2]|0)+-2;Zl(d,5);f=c[d>>2]|0;d=Az(f)|0;Nr(a);nn(c[a+12>>2]|0,f,d,0,0);c[a+24>>2]=1;b=c[b>>2]|0;d=b+20|0;c[d>>2]=(c[d>>2]|0)+2;d=b+24|0;if((c[d>>2]|0)==3)Nr(b);c[d>>2]=3;aa=e;return 0}function us(a,b){a=a|0;b=b|0;kt(c[a+4>>2]|0);return 0} -function Yx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+32|0;f=g+12|0;e=g;Xx(f,d);d=f+11|0;h=a[d>>0]|0;if((h<<24>>24<0?c[f+4>>2]|0:h&255)>>>0<=80){c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;aa=g;return}SA(e,f,0,77);cB(e,328485)|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;if((a[d>>0]|0)>=0){aa=g;return}HA(c[f>>2]|0);aa=g;return}function Zx(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;c[b>>2]=d;i=b+4|0;c[i>>2]=0;m=b+8|0;c[m>>2]=0;h=b+12|0;c[h>>2]=0;k=e+4|0;d=(c[k>>2]|0)-(c[e>>2]|0)|0;j=d>>2;if(d|0){if(j>>>0>1073741823)oB();l=FA(d)|0;c[m>>2]=l;c[i>>2]=l;c[h>>2]=l+(j<<2);h=c[e>>2]|0;d=(c[k>>2]|0)-h|0;if((d|0)>0){_B(l|0,h|0,d|0)|0;c[m>>2]=l+(d>>>2<<2)}}i=b+16|0;c[i>>2]=0;e=b+20|0;c[e>>2]=0;h=b+24|0;c[h>>2]=0;k=f+4|0;d=(c[k>>2]|0)-(c[f>>2]|0)|0;j=d>>2;if(!d){f=b+28|0;c[f>>2]=g;b=b+32|0;a[b>>0]=0;return}if(j>>>0>1073741823)oB();l=FA(d)|0;c[e>>2]=l;c[i>>2]=l;c[h>>2]=l+(j<<2);h=c[f>>2]|0;d=(c[k>>2]|0)-h|0;if((d|0)<=0){f=b+28|0;c[f>>2]=g;b=b+32|0;a[b>>0]=0;return}_B(l|0,h|0,d|0)|0;c[e>>2]=l+(d>>>2<<2);f=b+28|0;c[f>>2]=g;b=b+32|0;a[b>>0]=0;return}function _x(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=aa;aa=aa+176|0;i=j+160|0;f=j+144|0;h=j+128|0;e=j;g=a+16|0;if(!(c[g>>2]|0)){aa=j;return}c[f>>2]=d;c[h>>2]=c[f>>2];a=(Bz(e,128,b,f)|0)+1|0;if(a>>>0>128){e=aa;aa=aa+((1*a|0)+15&-16)|0;Bz(e,a,b,h)|0}c[i>>2]=e;e=c[g>>2]|0;if(!e)U();na[c[(c[e>>2]|0)+24>>2]&31](e,i);aa=j;return}function $x(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;m=b+4|0;h=c[b>>2]|0;j=((c[m>>2]|0)-h|0)/36|0;i=j+1|0;if(i>>>0>119304647)oB();n=b+8|0;l=((c[n>>2]|0)-h|0)/36|0;h=l<<1;h=l>>>0<59652323?(h>>>0<i>>>0?i:h):119304647;do if(h)if(h>>>0>119304647)U();else{k=FA(h*36|0)|0;break}else k=0;while(0);i=k+(j*36|0)|0;l=k+(h*36|0)|0;Zx(i,c[d>>2]|0,e,f,c[g>>2]|0);d=i+36|0;j=c[b>>2]|0;h=c[m>>2]|0;if((h|0)==(j|0)){h=i;k=j;i=j}else{do{f=h;h=h+-36|0;c[i+-36>>2]=c[h>>2];g=i+-32|0;e=f+-32|0;c[g>>2]=0;k=i+-28|0;c[k>>2]=0;o=i+-24|0;c[o>>2]=0;c[g>>2]=c[e>>2];g=f+-28|0;c[k>>2]=c[g>>2];k=f+-24|0;c[o>>2]=c[k>>2];c[k>>2]=0;c[g>>2]=0;c[e>>2]=0;e=i+-20|0;g=f+-20|0;c[e>>2]=0;k=i+-16|0;c[k>>2]=0;o=i+-12|0;c[o>>2]=0;c[e>>2]=c[g>>2];e=f+-16|0;c[k>>2]=c[e>>2];k=f+-12|0;c[o>>2]=c[k>>2];c[k>>2]=0;c[e>>2]=0;c[g>>2]=0;g=i+-8|0;f=f+-8|0;c[g>>2]=c[f>>2];a[g+4>>0]=a[f+4>>0]|0;i=i+-36|0}while((h|0)!=(j|0));h=i;k=c[b>>2]|0;i=c[m>>2]|0}c[b>>2]=h;c[m>>2]=d;c[n>>2]=l;j=k;if((i|0)!=(j|0))do{h=c[i+-20>>2]|0;if(h|0){c[i+-16>>2]=h;HA(h)}h=c[i+-32>>2]|0;if(h|0){c[i+-28>>2]=h;HA(h)}i=i+-36|0}while((i|0)!=(j|0));if(!k)return;HA(k);return}function ay(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=aa;aa=aa+64|0;s=y+16|0;x=y+8|0;h=y;u=y+48|0;w=y+36|0;v=y+24|0;if(!d){aa=y;return}r=b+36|0;p=b+40|0;d=c[r>>2]|0;t=(c[p>>2]|0)-d|0;g=(t|0)/36|0;if(!t){c[h>>2]=0;c[h+4>>2]=g+-1;_x(b,328489,h);d=0}else d=c[d+((g+-1|0)*36|0)+28>>2]|0;c[u>>2]=0;t=u+4|0;c[t>>2]=0;n=u+8|0;c[n>>2]=0;o=b+24|0;m=b+28|0;q=((c[m>>2]|0)-(c[o>>2]|0)>>2)-d|0;l=(c[f+4>>2]|0)-(c[f>>2]|0)|0;k=l>>2;k=(l|0)==0?(q>>>0<4?q:4):q>>>0<k>>>0?q:k;q=(k|0)==(q|0);if(k|0){l=0;do{j=k-l|0;d=c[r>>2]|0;i=(c[p>>2]|0)-d|0;h=(i|0)/36|0;do if(i){g=c[o>>2]|0;i=(c[m>>2]|0)-g>>2;if((j+-1+(c[d+((h+-1|0)*36|0)+28>>2]|0)|0)>>>0<i>>>0){g=c[g+(i-j<<2)>>2]|0;c[w>>2]=g;break}else{c[w>>2]=0;g=0;break}}else{c[s>>2]=0;c[s+4>>2]=h+-1;_x(b,328489,s);g=0}while(0);d=c[t>>2]|0;if((d|0)==(c[n>>2]|0))Dn(u,w);else{c[d>>2]=g;c[t>>2]=d+4}l=l+1|0}while((l|0)!=(k|0))}d=FA(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=17;g=d;h=328517;i=g+17|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+17>>0]=0;cB(w,e)|0;cB(w,328535)|0;by(v,f,0);f=v+11|0;e=a[f>>0]|0;s=e<<24>>24<0;bB(w,s?c[v>>2]|0:v,s?c[v+4>>2]|0:e&255)|0;if((a[f>>0]|0)<0)HA(c[v>>2]|0);cB(w,328547)|0;by(v,u,q?0:328557);f=v+11|0;e=a[f>>0]|0;s=e<<24>>24<0;bB(w,s?c[v>>2]|0:v,s?c[v+4>>2]|0:e&255)|0;if((a[f>>0]|0)<0)HA(c[v>>2]|0);v=w+11|0;c[x>>2]=(a[v>>0]|0)<0?c[w>>2]|0:w;_x(b,328562,x);if((a[v>>0]|0)<0)HA(c[w>>2]|0);d=c[u>>2]|0;if(d|0){c[t>>2]=d;HA(d)}aa=y;return}function by(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+11>>0]=1;a[b>>0]=91;a[b+1>>0]=0;if(e|0)cB(b,e)|0;h=d+4|0;e=c[d>>2]|0;if((c[h>>2]|0)==(e|0)){cB(b,328565)|0;return}g=0;do{do switch(c[e+(g<<2)>>2]|0){case -1:{e=328637;break}case -2:{e=328633;break}case -3:{e=328629;break}case -4:{e=328625;break}case -5:{e=328620;break}case -16:{e=328612;break}case -32:{e=328607;break}case -24:{e=328596;break}case -64:{e=328591;break}case 0:{e=328587;break}case -17:{e=328580;break}default:e=328567}while(0);cB(b,e)|0;e=c[d>>2]|0;f=(c[h>>2]|0)-e>>2;if(g>>>0<(f+-1|0)>>>0){cB(b,328641)|0;f=c[d>>2]|0;e=f;f=(c[h>>2]|0)-f>>2}g=g+1|0}while(g>>>0<f>>>0);cB(b,328565)|0;return}function cy(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;v=aa;aa=aa+16|0;u=v;p=d+4|0;f=c[p>>2]|0;g=c[d>>2]|0;h=f-g|0;if(!h){u=0;ay(b,u,e,d);aa=v;return u|0}s=b+36|0;q=b+40|0;t=b+24|0;r=b+28|0;m=f;o=0;f=0;h=h>>2;do{l=h-o|0;n=c[g+(o<<2)>>2]|0;h=c[s>>2]|0;k=(c[q>>2]|0)-h|0;i=(k|0)/36|0;do if(k){k=i+-1|0;i=c[t>>2]|0;j=(c[r>>2]|0)-i>>2;if((l+-1+(c[h+(k*36|0)+28>>2]|0)|0)>>>0<j>>>0){i=c[i+(j-l<<2)>>2]|0;h=0;break}else{i=0;h=(a[h+(k*36|0)+32>>0]|0)==0;break}}else{c[u>>2]=0;c[u+4>>2]=i+-1;_x(b,328489,u);m=c[p>>2]|0;g=c[d>>2]|0;i=0;h=1}while(0);f=((f|0)==1|(h|(i|0)!=0&((n|0)!=0&(i|0)!=(n|0))))&1;o=o+1|0;h=m-g>>2}while(h>>>0>o>>>0);ay(b,f,e,d);aa=v;return f|0}function dy(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;n=aa;aa=aa+32|0;m=n;k=n+20|0;l=n+8|0;h=c[d>>2]|0;f=(c[d+4>>2]|0)-h|0;j=f>>2;g=c[e>>2]|0;i=g;if((j|0)==((c[e+4>>2]|0)-g>>2|0)){if(!f){m=0;aa=n;return m|0}g=0;f=0;while(1){o=c[h+(g<<2)>>2]|0;p=c[i+(g<<2)>>2]|0;f=(f|0)==1|(o|0)!=0&((p|0)!=0&(p|0)!=(o|0));g=g+1|0;if(g>>>0>=j>>>0)break;else f=f&1}if(!f){p=0;aa=n;return p|0}}by(k,e,0);f=k+11|0;j=(a[f>>0]|0)<0?c[k>>2]|0:k;by(l,d,0);p=l+11|0;o=(a[p>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=j;c[m+4>>2]=o;_x(b,328644,m);if((a[p>>0]|0)<0)HA(c[l>>2]|0);if((a[f>>0]|0)<0)HA(c[k>>2]|0);p=1;aa=n;return p|0}function ey(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;n=aa;aa=aa+16|0;f=n;m=cy(b,d,e)|0;l=(c[d+4>>2]|0)-(c[d>>2]|0)|0;k=l>>2;e=c[b+36>>2]|0;j=(c[b+40>>2]|0)-e|0;d=(j|0)/36|0;if(!j){c[f>>2]=0;c[f+4>>2]=d+-1;_x(b,328489,f);l=1;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}i=d+-1|0;h=c[e+(i*36|0)+28>>2]|0;j=b+24|0;b=b+28|0;d=c[b>>2]|0;f=c[j>>2]|0;g=d-f>>2;if((h+k|0)>>>0<=g>>>0){if(!l){l=0;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}c[b>>2]=d+(0-k<<2);l=0;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}if(h>>>0<=g>>>0){if(h>>>0<g>>>0)c[b>>2]=f+(h<<2)}else At(j,h-g|0);l=(a[e+(i*36|0)+32>>0]|0)==0;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}function fy(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;q=aa;aa=aa+16|0;g=q;p=q+8|0;o=cy(b,d,f)|0;n=(c[d+4>>2]|0)-(c[d>>2]|0)|0;m=n>>2;f=c[b+36>>2]|0;l=(c[b+40>>2]|0)-f|0;d=(l|0)/36|0;do if(!l){c[g>>2]=0;c[g+4>>2]=d+-1;_x(b,328489,g);f=1}else{k=d+-1|0;d=c[f+(k*36|0)+28>>2]|0;l=b+24|0;i=b+28|0;g=c[i>>2]|0;h=c[l>>2]|0;j=g-h>>2;if((d+m|0)>>>0<=j>>>0){if(!n){f=0;break}c[i>>2]=g+(0-m<<2);f=0;break}if(d>>>0<=j>>>0){if(d>>>0<j>>>0)c[i>>2]=h+(d<<2)}else At(l,d-j|0);f=(a[f+(k*36|0)+32>>0]|0)==0}while(0);l=((o|0)==1|f)&1;f=c[e>>2]|0;i=c[e+4>>2]|0;if((f|0)==(i|0)){aa=q;return l|0}j=b+28|0;k=b+32|0;h=b+24|0;do{d=c[f>>2]|0;c[p>>2]=d;do if((d|0)!=-64){g=c[j>>2]|0;if((g|0)==(c[k>>2]|0)){Dn(h,p);break}else{c[g>>2]=d;c[j>>2]=g+4;break}}while(0);f=f+4|0}while((f|0)!=(i|0));aa=q;return l|0}function gy(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;p=aa;aa=aa+32|0;o=p+8|0;g=p;j=p+16|0;k=b+36|0;n=b+40|0;f=c[k>>2]|0;l=(c[n>>2]|0)-f|0;h=(l|0)/36|0;if(l){i=h+-1|0;g=c[b+24>>2]|0;h=(c[b+28>>2]|0)-g>>2;if((c[f+(i*36|0)+28>>2]|0)>>>0<h>>>0){g=c[g+(h+-1<<2)>>2]|0;f=0}else{g=0;f=(a[f+(i*36|0)+32>>0]|0)==0}f=f|(g|0)!=0&((d|0)!=0&(g|0)!=(d|0));if(f)m=7;else l=f}else{c[g>>2]=0;c[g+4>>2]=h+-1;_x(b,328489,g);f=1;m=7}if((m|0)==7){l=FA(4)|0;c[j>>2]=l;m=l+4|0;c[j+8>>2]=m;c[l>>2]=d;c[j+4>>2]=m;ay(b,1,e,j);HA(l);l=f}f=c[k>>2]|0;n=(c[n>>2]|0)-f|0;g=(n|0)/36|0;if(!n){c[o>>2]=0;c[o+4>>2]=g+-1;_x(b,328489,o);b=1;b=l|b;b=b&1;aa=p;return b|0}j=g+-1|0;d=c[f+(j*36|0)+28>>2]|0;k=b+24|0;i=b+28|0;g=c[i>>2]|0;h=c[k>>2]|0;e=g-h>>2;if((d+1|0)>>>0<=e>>>0){c[i>>2]=g+-4;b=0;b=l|b;b=b&1;aa=p;return b|0}if(d>>>0<=e>>>0){if(d>>>0<e>>>0)c[i>>2]=h+(d<<2)}else At(k,d-e|0);b=(a[f+(j*36|0)+32>>0]|0)==0;b=l|b;b=b&1;aa=p;return b|0}function hy(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,r=0,s=0;s=aa;aa=aa+48|0;r=s+16|0;m=s+8|0;g=s;p=s+24|0;o=b+36|0;q=b+40|0;i=c[q>>2]|0;j=c[o>>2]|0;n=i-j|0;h=(n|0)/36|0;do if(n){l=j;k=h+-1|0;g=c[b+24>>2]|0;h=(c[b+28>>2]|0)-g>>2;if((c[l+(k*36|0)+28>>2]|0)>>>0<h>>>0){h=c[g+(h+-1<<2)>>2]|0;g=0;break}else{h=0;g=(a[l+(k*36|0)+32>>0]|0)==0;break}}else{c[g>>2]=0;c[g+4>>2]=h+-1;_x(b,328489,g);i=c[q>>2]|0;j=c[o>>2]|0;h=0;g=1}while(0);k=g|(h|0)!=0&((e|0)!=0&(h|0)!=(e|0));n=i-j|0;g=(n|0)/36|0;do if(n){i=g+-1|0;g=c[b+24>>2]|0;h=(c[b+28>>2]|0)-g>>2;if(((c[j+(i*36|0)+28>>2]|0)+1|0)>>>0<h>>>0){h=c[g+(h+-2<<2)>>2]|0;g=0;break}else{h=0;g=(a[j+(i*36|0)+32>>0]|0)==0;break}}else{c[m>>2]=0;c[m+4>>2]=g+-1;_x(b,328489,m);h=0;g=1}while(0);n=k|(g|(h|0)!=0&((d|0)!=0&(h|0)!=(d|0)));if(n){m=FA(8)|0;c[p>>2]=m;l=m+8|0;c[p+8>>2]=l;c[m>>2]=d;c[m+4>>2]=e;c[p+4>>2]=l;ay(b,1,f,p);HA(m)}g=c[o>>2]|0;q=(c[q>>2]|0)-g|0;h=(q|0)/36|0;if(!q){c[r>>2]=0;c[r+4>>2]=h+-1;_x(b,328489,r);b=1;b=n|b;b=b&1;aa=s;return b|0}m=h+-1|0;l=c[g+(m*36|0)+28>>2]|0;f=b+24|0;j=b+28|0;h=c[j>>2]|0;i=c[f>>2]|0;k=h-i>>2;if((l+2|0)>>>0<=k>>>0){c[j>>2]=h+-8;b=0;b=n|b;b=b&1;aa=s;return b|0}if(l>>>0<=k>>>0){if(l>>>0<k>>>0)c[j>>2]=i+(l<<2)}else At(f,l-k|0);b=(a[g+(m*36|0)+32>>0]|0)==0;b=n|b;b=b&1;aa=s;return b|0}function iy(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;u=aa;aa=aa+48|0;t=u+24|0;p=u+16|0;o=u+8|0;h=u;r=u+32|0;q=b+36|0;s=b+40|0;j=c[s>>2]|0;k=c[q>>2]|0;n=j-k|0;i=(n|0)/36|0;do if(n){m=k;l=i+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if((c[m+(l*36|0)+28>>2]|0)>>>0<i>>>0){i=c[h+(i+-1<<2)>>2]|0;h=0;break}else{i=0;h=(a[m+(l*36|0)+32>>0]|0)==0;break}}else{c[h>>2]=0;c[h+4>>2]=i+-1;_x(b,328489,h);j=c[s>>2]|0;k=c[q>>2]|0;i=0;h=1}while(0);n=h|(i|0)!=0&((f|0)!=0&(i|0)!=(f|0));m=j-k|0;h=(m|0)/36|0;do if(m){m=k;l=h+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if(((c[m+(l*36|0)+28>>2]|0)+1|0)>>>0<i>>>0){i=c[h+(i+-2<<2)>>2]|0;h=0;break}else{i=0;h=(a[m+(l*36|0)+32>>0]|0)==0;break}}else{c[o>>2]=0;c[o+4>>2]=h+-1;_x(b,328489,o);j=c[s>>2]|0;k=c[q>>2]|0;i=0;h=1}while(0);l=n|(h|(i|0)!=0&((e|0)!=0&(i|0)!=(e|0)));o=j-k|0;h=(o|0)/36|0;do if(o){j=h+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if(((c[k+(j*36|0)+28>>2]|0)+2|0)>>>0<i>>>0){i=c[h+(i+-3<<2)>>2]|0;h=0;break}else{i=0;h=(a[k+(j*36|0)+32>>0]|0)==0;break}}else{c[p>>2]=0;c[p+4>>2]=h+-1;_x(b,328489,p);i=0;h=1}while(0);if(l|(h|(i|0)!=0&((d|0)!=0&(i|0)!=(d|0)))){p=FA(12)|0;c[r>>2]=p;o=p+12|0;c[r+8>>2]=o;c[p>>2]=d;c[p+4>>2]=e;c[p+8>>2]=f;c[r+4>>2]=o;ay(b,1,g,r);HA(p)}i=c[q>>2]|0;s=(c[s>>2]|0)-i|0;h=(s|0)/36|0;if(!s){c[t>>2]=0;c[t+4>>2]=h+-1;_x(b,328489,t);aa=u;return}l=c[i+((h+-1|0)*36|0)+28>>2]|0;m=b+24|0;j=b+28|0;h=c[j>>2]|0;i=c[m>>2]|0;k=h-i>>2;if((l+3|0)>>>0<=k>>>0){c[j>>2]=h+-12;aa=u;return}if(l>>>0>k>>>0){At(m,l-k|0);aa=u;return}if(l>>>0>=k>>>0){aa=u;return}c[j>>2]=i+(l<<2);aa=u;return}function jy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;g=h;Zl(g,b);e=c[g+8>>2]|0;Zl(g,b);f=c[g+12>>2]|0;Zl(g,b);f=hy(a,e,f,c[g>>2]|0)|0;Zl(g,b);b=c[g+4>>2]|0;c[g>>2]=b;if((b|0)==-64){aa=h;return f|0}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,g);aa=h;return f|0}else{c[d>>2]=b;c[e>>2]=d+4;aa=h;return f|0}return 0}function ky(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;Zl(f,b);h=c[f+8>>2]|0;Zl(f,b);d=c[f+12>>2]|0;Zl(f,b);e=c[f+16>>2]|0;Zl(f,b);iy(a,h,d,e,c[f>>2]|0);Zl(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function ly(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=aa;aa=aa+32|0;l=o+16|0;n=o+12|0;m=o;h=a+24|0;f=c[h>>2]|0;g=a+28|0;c[g>>2]=f;k=a+36|0;i=c[k>>2]|0;j=a+40|0;d=c[j>>2]|0;if((d|0)==(i|0)){e=f;d=f}else{do{e=c[d+-20>>2]|0;if(e|0){c[d+-16>>2]=e;HA(e)}e=c[d+-32>>2]|0;if(e|0){c[d+-28>>2]=e;HA(e)}d=d+-36|0}while((d|0)!=(i|0));e=c[g>>2]|0;d=c[h>>2]|0}c[j>>2]=i;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[l>>2]=0;d=e-d>>2;c[n>>2]=d;if(i>>>0<(c[a+44>>2]|0)>>>0){Zx(i,0,m,b,d);c[j>>2]=(c[j>>2]|0)+36;aa=o;return}else{$x(k,l,m,b,n);aa=o;return}}function my(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Zl(f,b);e=c[f+8>>2]|0;Zl(f,b);gy(a,e,c[f>>2]|0)|0;Zl(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function ny(a,b){a=a|0;b=b|0;jy(a,b)|0;return}function oy(a,b){a=a|0;b=b|0;jy(a,b)|0;return}function py(a,b){a=a|0;b=b|0;ky(a,b);return}function qy(a,b){a=a|0;b=b|0;ky(a,b);return}function ry(a,b){a=a|0;b=b|0;jy(a,b)|0;return}function sy(a,b){a=a|0;b=b|0;jy(a,b)|0;return}function ty(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=aa;aa=aa+16|0;j=l+4|0;g=l;ey(a,b,328707)|0;c[j>>2]=1;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){Zx(e,1,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else $x(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){Dn(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function uy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k+8|0;h=k;f=b+36|0;i=b+40|0;e=c[f>>2]|0;g=((c[i>>2]|0)-e|0)/36|0;if(g>>>0<=d>>>0){c[h>>2]=d;c[h+4>>2]=g+-1;_x(b,328489,h);aa=k;return}d=g+~d|0;cy(b,(c[e+(d*36|0)>>2]|0)==2?e+(d*36|0)+4|0:e+(d*36|0)+16|0,328713)|0;d=c[f>>2]|0;i=(c[i>>2]|0)-d|0;e=(i|0)/36|0;if(!i){c[j>>2]=0;c[j+4>>2]=e+-1;_x(b,328489,j);aa=k;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;d=b+28|0;e=c[h>>2]|0;f=(c[d>>2]|0)-e>>2;if(g>>>0>f>>>0){At(h,g-f|0);aa=k;return}if(g>>>0>=f>>>0){aa=k;return}c[d>>2]=e+(g<<2);aa=k;return}function vy(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=aa;aa=aa+16|0;f=k;j=k+8|0;gy(a,-1,328716)|0;d=c[a+36>>2]|0;e=((c[a+40>>2]|0)-d|0)/36|0;if(e>>>0<=b>>>0){c[f>>2]=b;c[f+4>>2]=e+-1;_x(a,328489,f);aa=k;return}h=d;g=e+~b|0;i=h+(g*36|0)|0;d=h+(g*36|0)+4|0;g=h+(g*36|0)+16|0;ey(a,(c[i>>2]|0)==2?d:g,328716)|0;g=(c[i>>2]|0)==2?d:g;d=c[g>>2]|0;g=c[g+4>>2]|0;if((d|0)==(g|0)){aa=k;return}h=a+28|0;i=a+32|0;f=a+24|0;do{b=c[d>>2]|0;c[j>>2]=b;do if((b|0)!=-64){e=c[h>>2]|0;if((e|0)==(c[i>>2]|0)){Dn(f,j);break}else{c[e>>2]=b;c[h>>2]=e+4;break}}while(0);d=d+4|0}while((d|0)!=(g|0));aa=k;return}function wy(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;o=aa;aa=aa+48|0;m=o+8|0;h=o;n=o+28|0;l=o+16|0;gy(b,-24,328722)|0;f=c[b+36>>2]|0;g=((c[b+40>>2]|0)-f|0)/36|0;if(g>>>0<=d>>>0){c[h>>2]=d;c[h+4>>2]=g+-1;_x(b,328489,h);aa=o;return}i=g+~d|0;i=(c[f+(i*36|0)>>2]|0)==2?f+(i*36|0)+4|0:f+(i*36|0)+16|0;g=c[e>>2]|0;f=(c[e+4>>2]|0)-g|0;j=f>>2;d=c[i>>2]|0;h=d;if((j|0)==((c[i+4>>2]|0)-d>>2|0)){if(f|0){d=0;f=0;while(1){p=c[g+(d<<2)>>2]|0;q=c[h+(d<<2)>>2]|0;f=(f|0)==1|(p|0)!=0&((q|0)!=0&(q|0)!=(p|0));d=d+1|0;if(d>>>0>=j>>>0)break;else f=f&1}if(f)k=8}}else k=8;if((k|0)==8){by(n,i,0);f=n+11|0;k=(a[f>>0]|0)<0?c[n>>2]|0:n;by(l,e,0);q=l+11|0;p=(a[q>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=k;c[m+4>>2]=p;_x(b,328732,m);if((a[q>>0]|0)<0)HA(c[l>>2]|0);if((a[f>>0]|0)<0)HA(c[n>>2]|0)}c[n>>2]=-24;d=b+28|0;f=c[d>>2]|0;if((f|0)==(c[b+32>>2]|0))Dn(b+24|0,n);else{c[f>>2]=-24;c[d>>2]=f+4}aa=o;return}function xy(a){a=a|0;c[a+48>>2]=0;gy(a,-1,328786)|0;return}function yy(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;l=aa;aa=aa+48|0;k=l+8|0;g=l;i=l+28|0;j=l+16|0;e=c[b+36>>2]|0;f=((c[b+40>>2]|0)-e|0)/36|0;if(f>>>0<=d>>>0){c[g>>2]=d;c[g+4>>2]=f+-1;_x(b,328489,g);aa=l;return}h=f+~d|0;h=(c[e+(h*36|0)>>2]|0)==2?e+(h*36|0)+4|0:e+(h*36|0)+16|0;cy(b,h,328786)|0;d=b+48|0;e=c[d>>2]|0;if(!e){c[d>>2]=h;e=h}n=c[e+4>>2]|0;m=c[e>>2]|0;f=c[h>>2]|0;d=m;g=n;a:do if((n-m|0)==((c[h+4>>2]|0)-f|0)){if((d|0)==(g|0)){aa=l;return}while(1){if((c[d>>2]|0)!=(c[f>>2]|0))break a;d=d+4|0;if((d|0)==(g|0))break;else f=f+4|0}aa=l;return}while(0);by(i,e,0);e=i+11|0;g=(a[e>>0]|0)<0?c[i>>2]|0:i;by(j,h,0);n=j+11|0;m=(a[n>>0]|0)<0?c[j>>2]|0:j;c[k>>2]=g;c[k+4>>2]=m;_x(b,328795,k);if((a[n>>0]|0)<0)HA(c[j>>2]|0);if((a[e>>0]|0)<0)HA(c[i>>2]|0);aa=l;return}function zy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;_x(b,328489,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){At(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;fy(a,b,c,328856)|0;return}function By(a,b,c){a=a|0;b=b|0;c=c|0;gy(a,-1,328861)|0;fy(a,b,c,328861)|0;return}function Cy(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;k=aa;aa=aa+16|0;j=k+8|0;i=k;ey(b,d,328875)|0;f=b+36|0;h=b+40|0;d=c[f>>2]|0;l=(c[h>>2]|0)-d|0;g=((l|0)/36|0)+-1|0;if(!l){c[i>>2]=g;c[i+4>>2]=g;_x(b,328489,i);aa=k;return}dy(b,e,d+16|0)|0;f=c[f>>2]|0;l=(c[h>>2]|0)-f|0;d=(l|0)/36|0;if(!l){c[j>>2]=0;c[j+4>>2]=d+-1;_x(b,328489,j);aa=k;return}h=d+-1|0;a[f+(h*36|0)+32>>0]=1;e=b+24|0;h=c[f+(h*36|0)+28>>2]|0;f=b+28|0;d=c[e>>2]|0;g=(c[f>>2]|0)-d>>2;if(h>>>0>g>>>0){At(e,h-g|0);aa=k;return}if(h>>>0>=g>>>0){aa=k;return}c[f>>2]=d+(h<<2);aa=k;return}function Dy(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;k=aa;aa=aa+16|0;j=k+8|0;i=k;gy(b,-1,328887)|0;ey(b,d,328887)|0;f=b+36|0;h=b+40|0;d=c[f>>2]|0;l=(c[h>>2]|0)-d|0;g=((l|0)/36|0)+-1|0;if(!l){c[i>>2]=g;c[i+4>>2]=g;_x(b,328489,i);aa=k;return}dy(b,e,d+16|0)|0;f=c[f>>2]|0;l=(c[h>>2]|0)-f|0;d=(l|0)/36|0;if(!l){c[j>>2]=0;c[j+4>>2]=d+-1;_x(b,328489,j);aa=k;return}h=d+-1|0;a[f+(h*36|0)+32>>0]=1;e=b+24|0;h=c[f+(h*36|0)+28>>2]|0;f=b+28|0;d=c[e>>2]|0;g=(c[f>>2]|0)-d>>2;if(h>>>0>g>>>0){At(e,h-g|0);aa=k;return}if(h>>>0>=g>>>0){aa=k;return}c[f>>2]=d+(h<<2);aa=k;return}function Ey(a,b){a=a|0;b=b|0;jy(a,b)|0;return}function Fy(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;n=aa;aa=aa+32|0;i=n+8|0;e=n;m=n+16|0;g=b+36|0;h=b+40|0;d=c[g>>2]|0;l=(c[h>>2]|0)-d|0;f=(l|0)/36|0;if(!l){c[e>>2]=0;c[e+4>>2]=f+-1;_x(b,328489,e);aa=n;return}l=f+-1|0;k=d+(l*36|0)|0;ey(b,d+(l*36|0)+16|0,328908)|0;f=c[g>>2]|0;j=(c[h>>2]|0)-f|0;e=(j|0)/36|0;if(j){h=b+24|0;g=b+28|0;if(((c[g>>2]|0)-(c[h>>2]|0)>>2|0)==(c[f+((e+-1|0)*36|0)+28>>2]|0)){f=h;e=g;j=g;i=h}else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;ay(b,1,328908,m);f=h;e=g;j=g;i=h}}else{c[i>>2]=0;c[i+4>>2]=e+-1;_x(b,328489,i);i=b+24|0;j=b+28|0;f=i;e=j}h=c[d+(l*36|0)+28>>2]|0;e=c[e>>2]|0;f=c[f>>2]|0;g=e-f>>2;if(h>>>0<=g>>>0){if(h>>>0<g>>>0){e=f+(h<<2)|0;c[j>>2]=e}}else{At(i,h-g|0);e=c[j>>2]|0}c[k>>2]=6;a[d+(l*36|0)+32>>0]=0;c[m>>2]=-24;if((e|0)==(c[b+32>>2]|0))Dn(i,m);else{c[e>>2]=-24;c[j>>2]=e+4}aa=n;return}function Gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Hy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Zl(f,b);e=c[f+8>>2]|0;Zl(f,b);gy(a,e,c[f>>2]|0)|0;Zl(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Iy(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;n=aa;aa=aa+32|0;e=n;l=n+20|0;m=n+8|0;d=c[b+36>>2]|0;k=(c[b+40>>2]|0)-d|0;f=(k|0)/36|0;if(k){j=f+-1|0;e=c[d+(j*36|0)+28>>2]|0;k=b+24|0;h=b+28|0;f=c[h>>2]|0;g=c[k>>2]|0;i=f-g>>2;if((e+1|0)>>>0<=i>>>0){c[h>>2]=f+-4;aa=n;return}if(e>>>0<=i>>>0){if(e>>>0<i>>>0)c[h>>2]=g+(e<<2)}else At(k,e-i|0);if(a[d+(j*36|0)+32>>0]|0){aa=n;return}}else{c[e>>2]=0;c[e+4>>2]=f+-1;_x(b,328489,e)}c[l>>2]=1;l=FA(4)|0;c[m>>2]=l;k=l+4|0;c[m+8>>2]=k;c[l>>2]=0;c[m+4>>2]=k;ay(b,1,328918,m);HA(l);aa=n;return}function Jy(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;p=aa;aa=aa+32|0;i=p+8|0;e=p;o=p+16|0;g=b+36|0;h=b+40|0;d=c[g>>2]|0;n=(c[h>>2]|0)-d|0;f=(n|0)/36|0;if(!n){c[e>>2]=0;c[e+4>>2]=f+-1;_x(b,328489,e);o=1;aa=p;return o|0}n=f+-1|0;m=d+(n*36|0)|0;j=(c[m>>2]|0)!=3;j=j|(ey(b,d+(n*36|0)+16|0,328923)|0)==1;f=c[g>>2]|0;l=(c[h>>2]|0)-f|0;e=(l|0)/36|0;if(l){h=b+24|0;g=b+28|0;e=((c[g>>2]|0)-(c[h>>2]|0)>>2|0)!=(c[f+((e+-1|0)*36|0)+28>>2]|0);if(e){c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;ay(b,1,328923,o);f=h;i=g;l=g;k=h}else{f=h;i=g;l=g;k=h}}else{c[i>>2]=0;c[i+4>>2]=e+-1;_x(b,328489,i);k=b+24|0;l=b+28|0;f=k;i=l;e=1}j=(j|e)&1;g=c[d+(n*36|0)+28>>2]|0;f=c[f>>2]|0;e=(c[i>>2]|0)-f>>2;if(g>>>0<=e>>>0){if(g>>>0<e>>>0)c[l>>2]=f+(g<<2)}else At(k,g-e|0);e=c[d+(n*36|0)+4>>2]|0;i=c[d+(n*36|0)+8>>2]|0;if((e|0)!=(i|0)){h=b+32|0;do{f=c[e>>2]|0;c[o>>2]=f;do if((f|0)!=-64){g=c[l>>2]|0;if((g|0)==(c[h>>2]|0)){Dn(k,o);break}else{c[g>>2]=f;c[l>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(i|0))}c[m>>2]=4;a[d+(n*36|0)+32>>0]=0;o=j;aa=p;return o|0}function Ky(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=aa;aa=aa+32|0;f=p;n=p+8|0;m=b+16|0;j=(ey(a,m,d)|0)==1;o=a+40|0;d=c[a+36>>2]|0;l=(c[o>>2]|0)-d|0;g=(l|0)/36|0;if(l){h=a+24|0;f=a+28|0;d=((c[f>>2]|0)-(c[h>>2]|0)>>2|0)!=(c[d+((g+-1|0)*36|0)+28>>2]|0);if(d){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;ay(a,1,e,n);e=h;i=f;l=f;k=h}else{e=h;i=f;l=f;k=h}}else{c[f>>2]=0;c[f+4>>2]=g+-1;_x(a,328489,f);k=a+24|0;l=a+28|0;e=k;i=l;d=1}j=(j|d)&1;g=c[b+28>>2]|0;f=c[e>>2]|0;d=(c[i>>2]|0)-f>>2;if(g>>>0<=d>>>0){if(g>>>0<d>>>0)c[l>>2]=f+(g<<2)}else At(k,g-d|0);d=c[m>>2]|0;h=c[b+20>>2]|0;if((d|0)!=(h|0)){e=a+32|0;do{f=c[d>>2]|0;c[n>>2]=f;do if((f|0)!=-64){g=c[l>>2]|0;if((g|0)==(c[e>>2]|0)){Dn(k,n);break}else{c[g>>2]=f;c[l>>2]=g+4;break}}while(0);d=d+4|0}while((d|0)!=(h|0))}f=c[o>>2]|0;d=c[f+-20>>2]|0;if(d|0){c[f+-16>>2]=d;HA(d)}d=c[f+-32>>2]|0;if(!d){n=f+-36|0;c[o>>2]=n;aa=p;return j|0}c[f+-28>>2]=d;HA(d);n=f+-36|0;c[o>>2]=n;aa=p;return j|0}function Ly(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=aa;aa=aa+16|0;e=f;b=c[a+36>>2]|0;g=(c[a+40>>2]|0)-b|0;d=(g|0)/36|0;if(!g){c[e>>2]=0;c[e+4>>2]=d+-1;_x(a,328489,e);aa=f;return}d=b+((d+-1|0)*36|0)|0;b=c[d>>2]|0;do if((b|0)==3)if((Jy(a)|0)==1){aa=f;return}else{b=c[d>>2]|0;break}while(0);g=c[279312+(b<<2)>>2]|0;Ky(a,d,g,g)|0;aa=f;return}function My(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=aa;aa=aa+16|0;j=l+4|0;g=l;gy(a,-1,328952)|0;ey(a,b,328952)|0;c[j>>2]=3;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){Zx(e,3,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else $x(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){Dn(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function Ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Oy(a,b){a=a|0;b=b|0;gy(a,b,328985)|0;return}function Py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Zl(f,b);e=c[f+8>>2]|0;Zl(f,b);gy(a,e,c[f>>2]|0)|0;Zl(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Ry(a,b){a=a|0;b=b|0;gy(a,b,328996)|0;return}function Sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;gy(a,b,329006)|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Ty(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=aa;aa=aa+16|0;j=l+4|0;g=l;ey(a,b,328947)|0;c[j>>2]=2;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){Zx(e,2,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else $x(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){Dn(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function Uy(a){a=a|0;ky(a,199);return}function Vy(a){a=a|0;ky(a,200);return}function Wy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Zl(f,51);b=c[f+8>>2]|0;Zl(f,51);gy(a,b,c[f>>2]|0)|0;Zl(f,51);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Xy(a){a=a|0;ky(a,197);return}function Yy(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Dn(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function Zy(a){a=a|0;ky(a,203);return}function _y(a){a=a|0;ky(a,201);return}function $y(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;gy(a,-1,329016)|0;c[e>>2]=-17;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Dn(a+24|0,e);aa=f;return}else{c[b>>2]=-17;c[d>>2]=b+4;aa=f;return}}function az(a){a=a|0;hy(a,-1,-17,329026)|0;return}function bz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;hy(a,-1,-17,329036)|0;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Dn(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function cz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Dn(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function dz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;c[e>>2]=-17;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Dn(a+24|0,e);aa=f;return}else{c[b>>2]=-17;c[d>>2]=b+4;aa=f;return}}function ez(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;gy(a,-17,329047)|0;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Dn(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function fz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;gy(b,-24,329059)|0;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;_x(b,328489,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){At(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function gz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;ey(b,d,329067)|0;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;_x(b,328489,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){At(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function hz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+16|0;i=j+8|0;g=j;e=b+36|0;h=b+40|0;d=c[e>>2]|0;k=(c[h>>2]|0)-d|0;f=((k|0)/36|0)+-1|0;if(!k){c[g>>2]=f;c[g+4>>2]=f;_x(b,328489,g);aa=j;return}ey(b,d+16|0,329073)|0;e=c[e>>2]|0;k=(c[h>>2]|0)-e|0;d=(k|0)/36|0;if(!k){c[i>>2]=0;c[i+4>>2]=d+-1;_x(b,328489,i);aa=j;return}g=d+-1|0;a[e+(g*36|0)+32>>0]=1;h=b+24|0;g=c[e+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){At(h,g-f|0);aa=j;return}if(g>>>0>=f>>>0){aa=j;return}c[e>>2]=d+(g<<2);aa=j;return}function iz(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=aa;aa=aa+48|0;o=q+24|0;l=q+16|0;k=q+8|0;d=q;p=q+32|0;m=b+36|0;n=b+40|0;f=c[n>>2]|0;g=c[m>>2]|0;j=f-g|0;e=(j|0)/36|0;do if(j){i=g;h=e+-1|0;d=c[b+24>>2]|0;e=(c[b+28>>2]|0)-d>>2;if((c[i+(h*36|0)+28>>2]|0)>>>0<e>>>0){e=((c[d+(e+-1<<2)>>2]|0)+1|0)>>>0>1;d=0;break}else{e=0;d=(a[i+(h*36|0)+32>>0]|0)==0;break}}else{c[d>>2]=0;c[d+4>>2]=e+-1;_x(b,328489,d);f=c[n>>2]|0;g=c[m>>2]|0;e=0;d=1}while(0);j=e|d;i=f-g|0;d=(i|0)/36|0;do if(i){e=g;d=d+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if(((c[e+(d*36|0)+28>>2]|0)+1|0)>>>0<i>>>0){d=0;k=c[h+(i+-2<<2)>>2]|0;break}else{d=(a[e+(d*36|0)+32>>0]|0)==0;k=0;break}}else{c[k>>2]=0;c[k+4>>2]=d+-1;_x(b,328489,k);f=c[n>>2]|0;g=c[m>>2]|0;d=1;k=0}while(0);h=j|d;j=f-g|0;d=(j|0)/36|0;do if(j){f=d+-1|0;d=c[b+24>>2]|0;e=(c[b+28>>2]|0)-d>>2;if(((c[g+(f*36|0)+28>>2]|0)+2|0)>>>0<e>>>0){e=c[d+(e+-3<<2)>>2]|0;d=0;break}else{e=0;d=(a[g+(f*36|0)+32>>0]|0)==0;break}}else{c[l>>2]=0;c[l+4>>2]=d+-1;_x(b,328489,l);e=0;d=1}while(0);if(h|(d|(e|0)!=0&((k|0)!=0&(e|0)!=(k|0)))){l=FA(12)|0;c[p>>2]=l;j=l+12|0;c[p+8>>2]=j;c[l>>2]=-1;c[l+4>>2]=k;c[l+8>>2]=k;c[p+4>>2]=j;ay(b,1,329080,p);HA(l)}e=c[m>>2]|0;n=(c[n>>2]|0)-e|0;d=(n|0)/36|0;do if(n){d=c[e+((d+-1|0)*36|0)+28>>2]|0;i=b+24|0;g=b+28|0;e=c[g>>2]|0;f=c[i>>2]|0;h=e-f>>2;if((d+3|0)>>>0<=h>>>0){c[g>>2]=e+-12;break}if(d>>>0>h>>>0){At(i,d-h|0);break}if(d>>>0<h>>>0)c[g>>2]=f+(d<<2)}else{c[o>>2]=0;c[o+4>>2]=d+-1;_x(b,328489,o)}while(0);c[p>>2]=k;if((k|0)==-64){aa=q;return}e=b+28|0;d=c[e>>2]|0;if((d|0)==(c[b+32>>2]|0)){Dn(b+24|0,p);aa=q;return}else{c[d>>2]=k;c[e>>2]=d+4;aa=q;return}}function jz(a,b){a=a|0;b=b|0;jy(a,b)|0;return}function kz(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=aa;aa=aa+16|0;j=l+4|0;g=l;ey(a,b,328971)|0;c[j>>2]=5;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){Zx(e,5,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else $x(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){Dn(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Zl(f,b);e=c[f+8>>2]|0;Zl(f,b);gy(a,e,c[f>>2]|0)|0;Zl(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Dn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function mz(a,b){a=a|0;b=b|0;ky(a,b);return}function nz(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=aa;aa=aa+64|0;g=i;h=i+16|0;f=bm(b)|0;if(!(0>e>>>0|0==(e|0)&f>>>0>d>>>0)){c[g>>2]=f;f=g+8|0;c[f>>2]=d;c[f+4>>2]=e;_x(a,329087,g)}switch(b|0){case 232:case 226:case 229:case 223:case 220:case 219:case 216:case 215:{Zl(h,b);d=c[h+8>>2]|0;Zl(h,b);gy(a,d,c[h>>2]|0)|0;Zl(h,b);d=c[h+4>>2]|0;c[h>>2]=d;do if((d|0)!=-64){f=a+28|0;e=c[f>>2]|0;if((e|0)==(c[a+32>>2]|0)){Dn(a+24|0,h);break}else{c[e>>2]=d;c[f>>2]=e+4;break}}while(0);aa=i;return}case 233:case 227:case 230:case 224:case 221:case 217:{jy(a,b)|0;aa=i;return}default:{}}}function oz(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,I=0,J=0,K=0;K=aa;aa=aa+128|0;I=K+120|0;H=K+112|0;F=K+104|0;E=K+96|0;D=K+88|0;C=K+80|0;B=K+72|0;A=K+64|0;z=K+56|0;y=K+48|0;x=K+40|0;w=K+32|0;J=K+24|0;G=K+16|0;v=K+8|0;u=K;f=a[e>>0]|0;o=a[e+1>>0]|0;p=a[e+2>>0]|0;q=a[e+3>>0]|0;r=a[e+4>>0]|0;s=a[e+5>>0]|0;t=a[e+6>>0]|0;g=a[e+7>>0]|0;h=a[e+8>>0]|0;i=a[e+9>>0]|0;j=a[e+10>>0]|0;k=a[e+11>>0]|0;l=a[e+12>>0]|0;m=a[e+13>>0]|0;n=a[e+14>>0]|0;e=a[e+15>>0]|0;if((f&255)>31){c[u>>2]=f&255;_x(b,329130,u)}if((o&255)>31){c[v>>2]=o&255;_x(b,329130,v)}if((p&255)>31){c[G>>2]=p&255;_x(b,329130,G)}if((q&255)>31){c[J>>2]=q&255;_x(b,329130,J)}if((r&255)>31){c[w>>2]=r&255;_x(b,329130,w)}if((s&255)>31){c[x>>2]=s&255;_x(b,329130,x)}if((t&255)>31){c[y>>2]=t&255;_x(b,329130,y)}if((g&255)>31){c[z>>2]=g&255;_x(b,329130,z)}if((h&255)>31){c[A>>2]=h&255;_x(b,329130,A)}if((i&255)>31){c[B>>2]=i&255;_x(b,329130,B)}if((j&255)>31){c[C>>2]=j&255;_x(b,329130,C)}if((k&255)>31){c[D>>2]=k&255;_x(b,329130,D)}if((l&255)>31){c[E>>2]=l&255;_x(b,329130,E)}if((m&255)>31){c[F>>2]=m&255;_x(b,329130,F)}if((n&255)>31){c[H>>2]=n&255;_x(b,329130,H)}if((e&255)<=31){jy(b,d)|0;aa=K;return}c[I>>2]=e&255;_x(b,329130,I);jy(b,d)|0;aa=K;return}function pz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;_x(b,328489,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){At(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function qz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=aa;aa=aa+16|0;e=f;b=c[a+36>>2]|0;g=(c[a+40>>2]|0)-b|0;d=(g|0)/36|0;if(!g){c[e>>2]=0;c[e+4>>2]=d+-1;_x(a,328489,e);aa=f;return}else{Ky(a,b+((d+-1|0)*36|0)|0,329171,328938)|0;aa=f;return}}function rz(b,d){b=b|0;d=d|0;var e=0,f=0;f=b+d|0;if((d|0)<=0){f=1;return f|0}a:while(1){e=a[b>>0]|0;d=c[279344+((e&255)<<2)>>2]|0;if((b+d|0)>>>0>f>>>0){b=0;d=14;break}switch(d|0){case 0:{b=0;d=14;break a}case 1:{b=b+1|0;break}case 2:{if((a[b+1>>0]&-64)<<24>>24==-128)b=b+2|0;else{b=0;d=14;break a}break}case 3:{d=a[b+1>>0]|0;if(!((d&-64)<<24>>24==-128?(a[b+2>>0]&-64)<<24>>24==-128:0)){b=0;d=14;break a}if(e<<24>>24==-32&(d&255)<160){b=0;d=14;break a}if(e<<24>>24==-19&(d&255)>159){b=0;d=14;break a}else b=b+3|0;break}case 4:{d=a[b+1>>0]|0;if(!(((d&-64)<<24>>24==-128?(a[b+2>>0]&-64)<<24>>24==-128:0)&(a[b+3>>0]&-64)<<24>>24==-128)){b=0;d=14;break a}if(e<<24>>24==-16&(d&255)<144){b=0;d=14;break a}if(e<<24>>24==-12&(d&255)>143){b=0;d=14;break a}else b=b+4|0;break}default:{}}if(b>>>0>=f>>>0){b=1;d=14;break}}if((d|0)==14)return b|0;return 0}function sz(a){a=a|0;var b=0,d=0;b=aa;aa=aa+16|0;d=b;a=wz(c[a+60>>2]|0)|0;c[d>>2]=a;a=uz(T(6,d|0)|0)|0;aa=b;return a|0}function tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=aa;aa=aa+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((uz(Q(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;aa=f;return a|0}function uz(a){a=a|0;if(a>>>0>4294963200){c[82356]=0-a;a=-1}return a|0}function vz(){return 329424}function wz(a){a=a|0;return a|0}function xz(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=aa;aa=aa+48|0;i=m+32|0;f=m+16|0;e=m;j=a+28|0;g=c[j>>2]|0;c[e>>2]=g;k=a+20|0;g=(c[k>>2]|0)-g|0;c[e+4>>2]=g;c[e+8>>2]=b;c[e+12>>2]=d;g=g+d|0;h=a+60|0;c[f>>2]=c[h>>2];c[f+4>>2]=e;c[f+8>>2]=2;b=uz(R(146,f|0)|0)|0;a:do if((g|0)!=(b|0)){f=2;while(1){if((b|0)<0)break;g=g-b|0;o=c[e+4>>2]|0;n=b>>>0>o>>>0;e=n?e+8|0:e;f=f+(n<<31>>31)|0;o=b-(n?o:0)|0;c[e>>2]=(c[e>>2]|0)+o;n=e+4|0;c[n>>2]=(c[n>>2]|0)-o;c[i>>2]=c[h>>2];c[i+4>>2]=e;c[i+8>>2]=f;b=uz(R(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((f|0)==2)d=0;else d=d-(c[e+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[j>>2]=o;c[k>>2]=o}aa=m;return d|0}function yz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=aa;aa=aa+16|0;g=f;c[g>>2]=e;e=Bz(a,b,d,g)|0;aa=f;return e|0}function zz(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 Az(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3)){d=b;e=5}else{d=f;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=b;if(!(d&3)){d=b;e=5;break}}}while(0);if((e|0)==5){while(1){b=c[d>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))d=d+4|0;else break}if((b&255)<<24>>24)do d=d+1|0;while((a[d>>0]|0)!=0)}return d-f|0}function Bz(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=aa;aa=aa+128|0;g=m+124|0;l=m;h=l;i=291272;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;k=4}else{c[82356]=75;g=-1}else{g=b;k=4}if((k|0)==4){k=-2-g|0;k=d>>>0>k>>>0?k:d;c[l+48>>2]=k;h=l+20|0;c[h>>2]=g;c[l+44>>2]=g;g=g+k|0;d=l+16|0;c[d>>2]=g;c[l+28>>2]=g;g=Cz(l,e,f)|0;if(k){e=c[h>>2]|0;a[e+(((e|0)==(c[d>>2]|0))<<31>>31)>>0]=0}}aa=m;return g|0}function Cz(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=aa;aa=aa+224|0;m=q+208|0;p=q+160|0;o=q+80|0;n=q;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[m>>2]=c[e>>2];if((Dz(0,d,m,o,p)|0)<0)e=-1;else{e=c[b>>2]|0;l=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){g=b+44|0;f=c[g>>2]|0;c[g>>2]=n;i=b+28|0;c[i>>2]=n;k=b+20|0;c[k>>2]=n;c[h>>2]=80;j=b+16|0;c[j>>2]=n+80;e=Dz(b,d,m,o,p)|0;if(f){ga[c[b+36>>2]&127](b,0,0)|0;e=(c[k>>2]|0)==0?-1:e;c[g>>2]=f;c[h>>2]=0;c[j>>2]=0;c[i>>2]=0;c[k>>2]=0}}else e=Dz(b,d,m,o,p)|0;p=c[b>>2]|0;c[b>>2]=p|l;e=(p&32|0)==0?e:-1}aa=q;return e|0}function Dz(d,e,f,h,i){d=d|0;e=e|0;f=f|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,A=0,B=0,C=0,D=0,E=0,F=0;F=aa;aa=aa+64|0;D=F+56|0;B=F+40|0;w=F;E=F+48|0;C=F+60|0;c[D>>2]=e;A=(d|0)!=0;v=w+40|0;y=v;w=w+39|0;x=E+4|0;e=0;j=0;m=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[82356]=75;e=-1;break}else{e=j+e|0;break}while(0);p=c[D>>2]|0;j=a[p>>0]|0;if(!(j<<24>>24)){u=93;break a}k=p;b:while(1){switch(j<<24>>24){case 37:{u=10;break b}case 0:{j=k;break b}default:{}}t=k+1|0;c[D>>2]=t;j=a[t>>0]|0;k=t}c:do if((u|0)==10){u=0;l=k;j=k;do{if((a[l+1>>0]|0)!=37)break c;j=j+1|0;l=l+2|0;c[D>>2]=l}while((a[l>>0]|0)==37)}while(0);j=j-p|0;if(A)Ez(d,p,j)}while((j|0)!=0);l=c[D>>2]|0;j=a[l+1>>0]|0;if(!(Fz(j)|0)){k=1;r=-1;o=m}else{o=(a[l+2>>0]|0)==36;k=o?3:1;r=o?j+-48|0:-1;o=o?1:m}k=l+k|0;c[D>>2]=k;j=a[k>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<<l&75913|0)==0)n=0;else{j=0;while(1){m=1<<l|j;k=k+1|0;c[D>>2]=k;j=a[k>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<<l&75913|0)==0){n=m;break}else j=m}}if(j<<24>>24==42){l=k+1|0;j=a[l>>0]|0;if((Fz(j)|0)!=0?(a[k+2>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;m=1;j=k+3|0;k=c[h+((a[l>>0]|0)+-48<<3)>>2]|0}else{if(o|0){e=-1;break}if(A){m=(c[f>>2]|0)+(4-1)&~(4-1);k=c[m>>2]|0;c[f>>2]=m+4;m=0;j=l}else{m=0;j=l;k=0}}c[D>>2]=j;s=(k|0)<0;l=j;q=s?n|8192:n;t=m;s=s?0-k|0:k}else{j=Gz(D)|0;if((j|0)<0){e=-1;break}l=c[D>>2]|0;q=n;t=o;s=j}do if((a[l>>0]|0)==46){j=l+1|0;if((a[j>>0]|0)!=42){c[D>>2]=j;n=Gz(D)|0;j=c[D>>2]|0;break}j=l+2|0;k=a[j>>0]|0;if(Fz(k)|0?(a[l+3>>0]|0)==36:0){c[i+(k+-48<<2)>>2]=10;n=c[h+((a[j>>0]|0)+-48<<3)>>2]|0;j=l+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(A){o=(c[f>>2]|0)+(4-1)&~(4-1);k=c[o>>2]|0;c[f>>2]=o+4}else k=0;c[D>>2]=j;n=k}else{j=l;n=-1}while(0);o=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j+1|0;c[D>>2]=k;l=a[(a[j>>0]|0)+-65+(280368+(o*58|0))>>0]|0;m=l&255;if((m+-1|0)>>>0<8){j=k;o=m}else break}if(!(l<<24>>24)){e=-1;break}k=(r|0)>-1;do if(l<<24>>24==19)if(k){e=-1;break a}else u=52;else{if(k){c[i+(r<<2)>>2]=m;m=h+(r<<3)|0;r=c[m+4>>2]|0;u=B;c[u>>2]=c[m>>2];c[u+4>>2]=r;u=52;break}if(!A){e=0;break a}Hz(B,m,f);u=53}while(0);if((u|0)==52){u=0;if(A)u=53;else j=0}d:do if((u|0)==53){u=0;l=a[j>>0]|0;l=(o|0)!=0&(l&15|0)==3?l&-33:l;k=q&-65537;r=(q&8192|0)==0?q:k;e:do switch(l|0){case 110:switch((o&255)<<24>>24){case 0:{c[c[B>>2]>>2]=e;j=0;break d}case 1:{c[c[B>>2]>>2]=e;j=0;break d}case 2:{j=c[B>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[B>>2]>>1]=e;j=0;break d}case 4:{a[c[B>>2]>>0]=e;j=0;break d}case 6:{c[c[B>>2]>>2]=e;j=0;break d}case 7:{j=c[B>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{j=r|8;k=n>>>0>8?n:8;m=120;u=65;break}case 88:case 120:{j=r;k=n;m=l;u=65;break}case 111:{q=B;p=c[q>>2]|0;q=c[q+4>>2]|0;o=Jz(p,q,v)|0;k=y-o|0;j=r;k=(r&8|0)==0|(n|0)>(k|0)?n:k+1|0;l=0;n=329187;u=71;break}case 105:case 100:{k=B;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=RB(0,0,j|0,k|0)|0;k=z()|0;l=B;c[l>>2]=j;c[l+4>>2]=k;l=1;m=329187;u=70;break e}else{l=(r&2049|0)!=0&1;m=(r&2048|0)==0?((r&1|0)==0?329187:329189):329188;u=70;break e}}case 117:{k=B;j=c[k>>2]|0;k=c[k+4>>2]|0;l=0;m=329187;u=70;break}case 99:{a[w>>0]=c[B>>2];p=w;o=k;m=1;l=0;k=329187;j=y;break}case 109:{j=Lz(c[82356]|0)|0;u=75;break}case 115:{j=c[B>>2]|0;j=(j|0)==0?329197:j;u=75;break}case 67:{c[E>>2]=c[B>>2];c[x>>2]=0;c[B>>2]=E;l=E;n=-1;u=80;break}case 83:if(!n){Nz(d,32,s,0,r);j=0;u=90;break e}else{l=c[B>>2]|0;u=80;break e}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=Pz(d,+g[B>>3],s,n,r,l)|0;break d}default:{o=r;m=n;l=0;k=329187;j=y}}while(0);f:do if((u|0)==65){q=B;p=c[q>>2]|0;q=c[q+4>>2]|0;o=Iz(p,q,v,m&32)|0;n=(j&8|0)==0|(p|0)==0&(q|0)==0;l=n?0:2;n=n?329187:329187+(m>>>4)|0;u=71}else if((u|0)==70){p=j;q=k;o=Kz(j,k,v)|0;j=r;k=n;n=m;u=71}else if((u|0)==75){u=0;r=Mz(j,n)|0;q=(r|0)==0;p=j;o=k;m=q?n:r-j|0;l=0;k=329187;j=q?j+n|0:r}else if((u|0)==80){u=0;j=0;o=l;while(1){k=c[o>>2]|0;if(!k)break;k=Oz(C,k)|0;m=(k|0)<0;if(m|k>>>0>(n-j|0)>>>0){u=84;break}j=k+j|0;if(n>>>0>j>>>0)o=o+4|0;else break}if((u|0)==84){u=0;if(m){e=-1;break a}}Nz(d,32,s,j,r);if(!j){j=0;u=90}else{m=0;while(1){k=c[l>>2]|0;if(!k){u=90;break f}k=Oz(C,k)|0;m=k+m|0;if((m|0)>(j|0)){u=90;break f}Ez(d,C,k);if(m>>>0>=j>>>0){u=90;break}else l=l+4|0}}}while(0);if((u|0)==71){u=0;m=(p|0)!=0|(q|0)!=0;r=(k|0)!=0|m;m=y-o+((m^1)&1)|0;p=r?o:v;o=(k|0)>-1?j&-65537:j;m=r?((k|0)>(m|0)?k:m):0;k=n;j=y}else if((u|0)==90){u=0;Nz(d,32,s,j,r^8192);j=(s|0)>(j|0)?s:j;break}q=j-p|0;n=(m|0)<(q|0)?q:m;r=n+l|0;j=(s|0)<(r|0)?r:s;Nz(d,32,j,r,o);Ez(d,k,l);Nz(d,48,j,r,o^65536);Nz(d,48,n,q,0);Ez(d,p,q);Nz(d,32,j,r,o^8192)}while(0);m=t}g:do if((u|0)==93)if(!d)if(!m)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;Hz(h+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}j=0;while(1){e=e+1|0;if(j|0){e=-1;break g}if(e>>>0>=10){e=1;break g}j=c[i+(e<<2)>>2]|0}}while(0);aa=F;return e|0}function Ez(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))_z(b,d,a);return}function Fz(a){a=a|0;return (a+-48|0)>>>0<10|0}function Gz(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;d=a[e>>0]|0;if(!(Fz(d<<24>>24)|0))d=0;else{f=d;d=0;do{d=(d*10|0)+-48+(f<<24>>24)|0;e=e+1|0;c[b>>2]=e;f=a[e>>0]|0}while((Fz(f<<24>>24)|0)!=0)}return d|0}function Hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;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:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}default:break a}while(0);while(0);return}function Iz(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[280832+(b&15)>>0]|0|f;b=WB(b|0,c|0,4)|0;c=z()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Jz(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=WB(b|0,c|0,3)|0;c=z()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Kz(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=UB(b|0,c|0,10,0)|0;f=c;c=z()|0;g=PB(b|0,c|0,-10,-1)|0;g=QB(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);if(b)do{g=b;b=(b>>>0)/10|0;f=(g+(v(b,-10)|0)|48)&255;d=d+-1|0;a[d>>0]=f}while(g>>>0>=10);return d|0}function Lz(a){a=a|0;return Uz(a,329468)|0}function Mz(b,d){b=b|0;d=d|0;var e=0,f=0;e=(d|0)!=0;a:do if(e&(b&3|0)!=0)while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(b&3|0)!=0)){f=5;break}}else f=5;while(0);b:do if((f|0)==5){do if(e){if(!(a[b>>0]|0))if(!d)break;else break b;c:do if(d>>>0>3)while(1){e=c[b>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break c;b=b+4|0;d=d+-4|0;if(d>>>0<=3){f=11;break}}else f=11;while(0);if((f|0)==11)if(!d)break;while(1){if(!(a[b>>0]|0))break b;d=d+-1|0;if(!d)break;else b=b+1|0}}while(0);b=0}while(0);return b|0}function Nz(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=aa;aa=aa+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;aC(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){d=e;do{Ez(a,f,256);d=d+-256|0}while(d>>>0>255);e=e&255}Ez(a,f,e)}aa=g;return}function Oz(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Tz(a,b)|0;return a|0}function Pz(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=aa;aa=aa+560|0;m=H+32|0;t=H+536|0;G=H;F=G;l=H+540|0;c[t>>2]=0;E=l+12|0;Qz(e)|0;j=z()|0;if((j|0)<0){e=-e;Qz(e)|0;j=z()|0;D=1;B=329204}else{D=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?329205:329210):329207}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;Nz(b,32,f,j,h&-65537);Ez(b,B,D);Ez(b,e!=e|0.0!=0.0?(G?329246:329231):G?329223:329227,3);Nz(b,32,f,j,h^8192)}else{q=+Rz(e,t)*2.0;j=q!=0.0;if(j)c[t>>2]=(c[t>>2]|0)+-1;w=i|32;if((w|0)==97){o=i&32;r=(o|0)==0?B:B+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[t>>2]|0;j=(k|0)<0?0-k|0:k;j=Kz(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=l+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;j=G;while(1){D=~~e;m=j+1|0;a[j>>0]=o|d[280832+D>>0];e=(e-+(D|0))*16.0;if((m-F|0)==1?!(l&(k&e==0.0)):0){a[m>>0]=46;m=j+2|0}if(!(e!=0.0))break;else j=m}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;Nz(b,32,f,E,h);Ez(b,r,p);Nz(b,48,f,E,h^65536);F=m-F|0;Ez(b,G,F);G=k-l|0;Nz(b,48,j-(F+G)|0,0,0);Ez(b,n,G);Nz(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){l=(c[t>>2]|0)+-28|0;c[t>>2]=l;e=q*268435456.0}else{l=c[t>>2]|0;e=q}C=(l|0)<0?m:m+288|0;m=C;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);y=C;if((l|0)>0){j=C;do{o=(l|0)<29?l:29;l=m+-4|0;if(l>>>0>=j>>>0){n=0;do{s=XB(c[l>>2]|0,0,o|0)|0;s=QB(s|0,z()|0,n|0,0)|0;u=z()|0;n=UB(s|0,u|0,1e9,0)|0;x=PB(n|0,z()|0,-1e9,-1)|0;x=QB(s|0,u|0,x|0,z()|0)|0;z()|0;c[l>>2]=x;l=l+-4|0}while(l>>>0>=j>>>0);if(n){j=j+-4|0;c[j>>2]=n}}a:do if(m>>>0>j>>>0)while(1){l=m+-4|0;if(c[l>>2]|0)break a;if(l>>>0>j>>>0)m=l;else{m=l;break}}while(0);l=(c[t>>2]|0)-o|0;c[t>>2]=l}while((l|0)>0)}else j=C;if((l|0)<0){g=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-l|0;r=(r|0)<9?r:9;if(j>>>0<m>>>0){o=(1<<r)+-1|0;n=1e9>>>r;p=0;l=j;do{x=c[l>>2]|0;c[l>>2]=(x>>>r)+p;p=v(x&o,n)|0;l=l+4|0}while(l>>>0<m>>>0);j=(c[j>>2]|0)==0?j+4|0:j;if(p){c[m>>2]=p;m=m+4|0}}else j=(c[j>>2]|0)==0?j+4|0:j;l=s?C:j;m=(m-l>>2|0)>(g|0)?l+(g<<2)|0:m;l=(c[t>>2]|0)+r|0;c[t>>2]=l}while((l|0)<0);s=m}else s=m;if(j>>>0<s>>>0){l=(y-j>>2)*9|0;n=c[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;t=(w|0)==103;u=(k|0)!=0;m=k-((w|0)==102?0:l)+((u&t)<<31>>31)|0;if((m|0)<(((s-y>>2)*9|0)+-9|0)){x=m+9216|0;m=(x|0)/9|0;g=C+4+(m+-1024<<2)|0;m=x+(v(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;o=c[g>>2]|0;m=(o>>>0)/(n>>>0)|0;r=v(m,n)|0;o=o-r|0;p=(g+4|0)==(s|0);if(!(p&(o|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;x=n>>>1;e=o>>>0<x>>>0?.5:p&(o|0)==(x|0)?1.0:1.5;if(D){x=(a[B>>0]|0)==45;q=x?-q:q;e=x?-e:e}c[g>>2]=r;if(q+e!=q){x=r+n|0;c[g>>2]=x;if(x>>>0>999999999){l=g;while(1){m=l+-4|0;c[l>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[m>>2]|0)+1|0;c[m>>2]=x;if(x>>>0>999999999)l=m;else break}}else m=g;l=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}else m=g}else m=g;w=m+4|0;x=j;j=s>>>0>w>>>0?w:s}else{x=j;j=s}r=0-l|0;b:do if(j>>>0>x>>>0)while(1){m=j+-4|0;if(c[m>>2]|0){s=1;w=j;break b}if(m>>>0>x>>>0)j=m;else{s=0;w=m;break}}else{s=0;w=j}while(0);do if(t){j=k+((u^1)&1)|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}if(!(h&8)){if(s?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else n=i;while(0);g=(k|0)!=0;o=g?1:h>>>3&1;p=(n|32|0)==102;if(p){u=0;j=(l|0)>0?l:0}else{j=(l|0)<0?r:l;j=Kz(j,((j|0)<0)<<31>>31,E)|0;m=E;if((m-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((m-j|0)<2);a[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;a[j>>0]=n;u=j;j=m-j|0}j=D+1+k+o+j|0;Nz(b,32,f,j,h);Ez(b,B,D);Nz(b,48,f,j,h^65536);if(p){o=x>>>0>C>>>0?C:x;r=G+9|0;p=r;n=G+8|0;m=o;do{l=Kz(c[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){a[n>>0]=48;l=n}}else if(l>>>0>G>>>0){aC(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Ez(b,l,p-l|0);m=m+4|0}while(m>>>0<=C>>>0);if(!((h&8|0)==0&(g^1)))Ez(b,329235,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=Kz(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){aC(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Ez(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<w>>>0&(k|0)>9)){k=l;break}else k=l}Nz(b,48,k+9|0,9,0)}else{g=s?w:x+4|0;if(x>>>0<g>>>0&(k|0)>-1){r=G+9|0;t=(h&8|0)==0;s=r;n=0-F|0;p=G+8|0;o=x;do{l=Kz(c[o>>2]|0,0,r)|0;if((l|0)==(r|0)){a[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Ez(b,l,1);if(t&(k|0)<1){l=m;break}Ez(b,329235,1);l=m}else{if(l>>>0<=G>>>0)break;aC(G|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=s-l|0;Ez(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<g>>>0&(k|0)>-1)}Nz(b,48,k+18|0,18,0);Ez(b,u,E-u|0)}Nz(b,32,f,j,h^8192)}while(0);aa=H;return ((j|0)<(f|0)?f:j)|0}function Qz(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 Rz(a,b){a=+a;b=b|0;return +(+Sz(a,b))}function Sz(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=WB(d|0,e|0,52)|0;z()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Sz(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 Tz(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[82367]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[82356]=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[82356]=84;b=-1;break}}else b=1;while(0);return b|0}function Uz(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[280848+f>>0]|0)==(b|0)){b=4;break}f=f+1|0;if((f|0)==87){f=87;b=5;break}}if((b|0)==4)if(!f)f=280944;else b=5;if((b|0)==5){b=280944;do{do{g=b;b=b+1|0}while((a[g>>0]|0)!=0);f=f+-1|0}while((f|0)!=0);f=b}return Vz(f,c[e+20>>2]|0)|0}function Vz(a,b){a=a|0;b=b|0;return Wz(a,b)|0}function Wz(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Xz(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function Xz(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[b>>2]|0)+1794895138|0;h=Yz(c[b+8>>2]|0,o)|0;f=Yz(c[b+12>>2]|0,o)|0;g=Yz(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;f=Yz(c[b+(g<<2)>>2]|0,o)|0;g=Yz(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Zz(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:j;h=f?k:h-k|0}f=i+m|0;g=Yz(c[b+(f<<2)>>2]|0,o)|0;f=Yz(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Yz(a,b){a=a|0;b=b|0;var c=0;c=YB(a|0)|0;return ((b|0)==0?a:c)|0}function Zz(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))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));return (d&255)-(e&255)|0}function _z(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=e+16|0;f=c[g>>2]|0;if(!f){if(!($z(e)|0)){f=c[g>>2]|0;h=5}}else h=5;a:do if((h|0)==5){i=e+20|0;h=c[i>>2]|0;g=h;if((f-h|0)>>>0<d>>>0){ga[c[e+36>>2]&127](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0)f=d;else{h=d;while(1){f=h+-1|0;if((a[b+f>>0]|0)==10)break;if(!f){f=d;break b}else h=f}if((ga[c[e+36>>2]&127](e,b,h)|0)>>>0<h>>>0)break a;g=c[i>>2]|0;f=d-h|0;b=b+h|0}while(0);_B(g|0,b|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while(0);return}function $z(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;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function aA(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;_B(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function bA(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function cA(a){a=a|0;var b=0,e=0;e=aa;aa=aa+16|0;b=e;if((dA(a)|0)==0?(ga[c[a+32>>2]&127](a,b,1)|0)==1:0)b=d[b>>0]|0;else b=-1;aa=e;return b|0}function dA(b){b=b|0;var d=0,e=0;e=b+74|0;d=a[e>>0]|0;a[e>>0]=d+255|d;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)ga[c[b+36>>2]&127](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>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 eA(a){a=a|0;var b=0;c[a+104>>2]=0;b=c[a+8>>2]|0;c[a+108>>2]=b-(c[a+4>>2]|0);c[a+100>>2]=b;return}function fA(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+104|0;j=c[f>>2]|0;if((j|0)!=0?(c[b+108>>2]|0)>=(j|0):0)k=4;else{e=cA(b)|0;if((e|0)>=0){g=c[f>>2]|0;j=c[b+8>>2]|0;if(g){f=b+4|0;i=c[f>>2]|0;h=g-(c[b+108>>2]|0)|0;g=j;if((j-i|0)<(h|0))k=9;else c[b+100>>2]=i+(h+-1)}else{f=b+4|0;g=j;k=9}if((k|0)==9)c[b+100>>2]=j;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else k=4}if((k|0)==4){c[b+100>>2]=0;e=-1}return e|0}function gA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=aa;aa=aa+16|0;e=a;c[e>>2]=d;Cz(291148,b,e)|0;aa=a;return}function hA(a){a=a|0;return (a+-32|0)>>>0<95|0}function iA(b,e){b=b|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;switch(e|0){case 0:{j=24;k=-149;i=4;break}case 1:{j=53;k=-1074;i=4;break}case 2:{j=53;k=-1074;i=4;break}default:f=0.0}a:do if((i|0)==4){m=b+4|0;l=b+100|0;do{e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0}else e=fA(b)|0}while((bA(e)|0)!=0);b:do switch(e|0){case 43:case 45:{g=1-(((e|0)==45&1)<<1)|0;e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0;h=g;break b}else{e=fA(b)|0;h=g;break b}}default:h=1}while(0);g=e;e=0;while(1){if((g|32|0)!=(a[329237+e>>0]|0))break;do if(e>>>0<7){g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[m>>2]=g+1;g=d[g>>0]|0;break}else{g=fA(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:{i=23;break}default:{if(e>>>0>3)if((e|0)==8)break c;else{i=23;break c}d:do if(!e){e=0;do{if((g|32|0)!=(a[329246+e>>0]|0)){i=39;break d}do if(e>>>0<2){g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[m>>2]=g+1;g=d[g>>0]|0;break}else{g=fA(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}else i=39;while(0);e:do if((i|0)==39){switch(e|0){case 3:break e;case 0:break;default:{if(c[l>>2]|0)c[m>>2]=(c[m>>2]|0)+-1;c[82356]=22;eA(b);f=0.0;break a}}if((g|0)==48){e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0}else e=fA(b)|0;if((e|32|0)==120){f=+jA(b,j,k,h);break a}if(!(c[l>>2]|0))e=48;else{c[m>>2]=(c[m>>2]|0)+-1;e=48}}else e=g;f=+kA(b,e,j,k,h);break a}while(0);e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0}else e=fA(b)|0;if((e|0)!=40){if(!(c[l>>2]|0)){f=r;break a}c[m>>2]=(c[m>>2]|0)+-1;f=r;break a}e=1;while(1){g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[m>>2]=g+1;g=d[g>>0]|0}else g=fA(b)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;e=e+1|0}if((g|0)==41){f=r;break a}g=(c[l>>2]|0)==0;if(!g)c[m>>2]=(c[m>>2]|0)+-1;if(!e){f=r;break a}while(1){e=e+-1|0;if(!g)c[m>>2]=(c[m>>2]|0)+-1;if(!e){f=r;break a}}}}while(0);if((i|0)==23){g=(c[l>>2]|0)==0;if(!g)c[m>>2]=(c[m>>2]|0)+-1;if(e>>>0>3)do{if(!g)c[m>>2]=(c[m>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}f=+(h|0)*s}while(0);return +f}function jA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0.0,h=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,A=0,B=0,C=0;A=a+4|0;j=c[A>>2]|0;B=a+100|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=fA(a)|0;o=0;a:while(1){switch(j|0){case 46:{C=10;break a}case 48:break;default:{l=0;m=0;p=0;break a}}j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=fA(a)|0;o=1}if((C|0)==10){j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=fA(a)|0;if((j|0)==48){l=0;m=0;do{j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=fA(a)|0;l=QB(l|0,m|0,-1,-1)|0;m=z()|0}while((j|0)==48);o=1;p=1}else{l=0;m=0;p=1}}x=0;w=0;t=j;u=0;n=1.0;j=0;g=0.0;while(1){s=t+-48|0;q=t|32;if(s>>>0>=10){r=(t|0)==46;if(!(r|(q+-97|0)>>>0<6)){q=t;break}if(r)if(!p){l=w;m=x;s=w;r=x;v=1;q=u;k=n}else{q=46;break}else C=24}else C=24;if((C|0)==24){C=0;o=(t|0)>57?q+-87|0:s;do if(!((x|0)<0|(x|0)==0&w>>>0<8))if((x|0)<0|(x|0)==0&w>>>0<14){n=n*.0625;q=u;k=n;g=g+n*+(o|0);break}else{v=(u|0)!=0|(o|0)==0;q=v?u:1;k=n;g=v?g:g+n*.5;break}else{q=u;k=n;j=o+(j<<4)|0}while(0);s=QB(w|0,x|0,1,0)|0;r=z()|0;o=1;v=p}p=c[A>>2]|0;if(p>>>0<(c[B>>2]|0)>>>0){c[A>>2]=p+1;p=d[p>>0]|0}else p=fA(a)|0;x=r;w=s;t=p;p=v;u=q;n=k}do if(!o){if(c[B>>2]|0?(y=c[A>>2]|0,c[A>>2]=y+-2,p|0):0)c[A>>2]=y+-3;g=+(f|0)*0.0}else{o=(p|0)==0;p=o?w:l;o=o?x:m;if((x|0)<0|(x|0)==0&w>>>0<8){m=w;l=x;do{j=j<<4;C=m;m=QB(m|0,l|0,1,0)|0;y=l;l=z()|0}while((y|0)<0|(y|0)==0&C>>>0<7)}if(!((q|32|0)==112?(i=lA(a)|0,h=z()|0,!((i|0)==0&(h|0)==-2147483648)):0))if(!(c[B>>2]|0)){i=0;h=0}else{c[A>>2]=(c[A>>2]|0)+-1;i=0;h=0}C=XB(p|0,o|0,2)|0;C=QB(C|0,z()|0,-32,-1)|0;h=QB(C|0,z()|0,i|0,h|0)|0;i=z()|0;if(!j){g=+(f|0)*0.0;break}C=0-e|0;B=((C|0)<0)<<31>>31;if((i|0)>(B|0)|(i|0)==(B|0)&h>>>0>C>>>0){c[82356]=34;g=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}C=e+-106|0;B=((C|0)<0)<<31>>31;if((i|0)<(B|0)|(i|0)==(B|0)&h>>>0<C>>>0){c[82356]=34;g=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((j|0)>-1){do{C=!(g>=.5);j=j<<1|(C^1)&1;g=g+(C?g:g+-1.0);h=QB(h|0,i|0,-1,-1)|0;i=z()|0}while((j|0)>-1);l=h;n=g}else{l=h;n=g}C=((b|0)<0)<<31>>31;h=RB(32,0,e|0,((e|0)<0)<<31>>31|0)|0;h=QB(h|0,z()|0,l|0,i|0)|0;e=z()|0;if((e|0)<(C|0)|(e|0)==(C|0)&h>>>0<b>>>0)if((h|0)>0)C=59;else{i=0;h=84;C=61}else{h=b;C=59}if((C|0)==59)if((h|0)<53){i=h;h=84-h|0;C=61}else{k=0.0;g=+(f|0)}if((C|0)==61){g=+(f|0);k=+nA(+mA(1.0,h),g);h=i}f=(j&1|0)==0&(n!=0.0&(h|0)<32);g=(f?0.0:n)*g+(k+g*+((j+(f&1)|0)>>>0))-k;if(!(g!=0.0))c[82356]=34;g=+pA(g,l)}while(0);return +g}function kA(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,o=0,p=0.0,q=0.0,r=0,s=0.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.0;H=aa;aa=aa+512|0;E=H;F=f+e|0;G=0-F|0;C=a+4|0;D=a+100|0;i=b;l=0;a:while(1){switch(i|0){case 46:{B=7;break a}case 48:break;default:{j=0;b=0;r=0;break a}}b=c[C>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=fA(a)|0;i=b;l=1}if((B|0)==7){b=c[C>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[C>>2]=b+1;i=d[b>>0]|0}else i=fA(a)|0;if((i|0)==48){i=0;b=0;while(1){j=QB(i|0,b|0,-1,-1)|0;b=z()|0;i=c[C>>2]|0;if(i>>>0<(c[D>>2]|0)>>>0){c[C>>2]=i+1;i=d[i>>0]|0}else i=fA(a)|0;if((i|0)==48)i=j;else{l=1;r=1;break}}}else{j=0;b=0;r=1}}c[E>>2]=0;w=i+-48|0;m=(i|0)==46;b:do if(m|w>>>0<10){B=E+496|0;A=0;u=0;x=m;o=0;n=0;m=0;c:while(1){do if(x)if(!r){j=A;b=u;r=1}else break c;else{x=QB(A|0,u|0,1,0)|0;u=z()|0;y=(i|0)!=48;if((n|0)>=125){if(!y){A=x;break}c[B>>2]=c[B>>2]|1;A=x;break}l=E+(n<<2)|0;if(!o)i=w;else i=i+-48+((c[l>>2]|0)*10|0)|0;c[l>>2]=i;o=o+1|0;w=(o|0)==9;A=x;l=1;o=w?0:o;n=n+(w&1)|0;m=y?x:m}while(0);i=c[C>>2]|0;if(i>>>0<(c[D>>2]|0)>>>0){c[C>>2]=i+1;i=d[i>>0]|0}else i=fA(a)|0;w=i+-48|0;x=(i|0)==46;if(!(x|w>>>0<10)){B=31;break b}}r=A;i=(l|0)!=0;B=37}else{A=0;u=0;o=0;n=0;m=0;B=31}while(0);do if((B|0)==31){w=(r|0)==0;j=w?A:j;b=w?u:b;w=(l|0)!=0;if(!(w&(i|32|0)==101))if((i|0)>-1){r=A;i=w;B=37;break}else{r=A;l=u;i=w;B=39;break}l=lA(a)|0;i=z()|0;if((l|0)==0&(i|0)==-2147483648)if(!(c[D>>2]|0)){l=0;i=0}else{c[C>>2]=(c[C>>2]|0)+-1;l=0;i=0}j=QB(l|0,i|0,j|0,b|0)|0;r=A;b=z()|0;l=u;B=41}while(0);if((B|0)==37)if(c[D>>2]|0){c[C>>2]=(c[C>>2]|0)+-1;if(i){l=u;B=41}else B=40}else{l=u;B=39}if((B|0)==39)if(i)B=41;else B=40;do if((B|0)==40){c[82356]=22;eA(a);h=0.0}else if((B|0)==41){i=c[E>>2]|0;if(!i){h=+(g|0)*0.0;break}if(((l|0)<0|(l|0)==0&r>>>0<10)&((j|0)==(r|0)&(b|0)==(l|0))?(e|0)>30|(i>>>e|0)==0:0){h=+(g|0)*+(i>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((b|0)>(D|0)|(b|0)==(D|0)&j>>>0>a>>>0){c[82356]=34;h=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((b|0)<(D|0)|(b|0)==(D|0)&j>>>0<a>>>0){c[82356]=34;h=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!o)i=n;else{if((o|0)<9){l=E+(n<<2)|0;b=o;i=c[l>>2]|0;while(1){i=i*10|0;if((b|0)>=8)break;else b=b+1|0}c[l>>2]=i}i=n+1|0}if((m|0)<9?(m|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){h=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){h=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[282752+(8-j<<2)>>2]|0);break}a=e+27+(v(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){h=+(g|0)*+(b>>>0)*+(c[282752+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)l=0;else{r=(j|0)>-1?b:b+9|0;b=c[282752+(8-r<<2)>>2]|0;if(i){n=1e9/(b|0)|0;l=0;m=0;o=0;do{C=E+(o<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(b>>>0)|0;D=D-(v(a,b)|0)|0;a=a+m|0;c[C>>2]=a;m=v(n,D)|0;a=(o|0)==(l|0)&(a|0)==0;j=a?j+-9|0:j;l=a?l+1&127:l;o=o+1|0}while((o|0)!=(i|0));if(!m)b=i;else{c[E+(i<<2)>>2]=m;b=i+1|0}}else{l=0;b=0}j=9-r+j|0;i=b}b=0;d:while(1){x=(j|0)<18;y=(j|0)==18;w=E+(l<<2)|0;do{if(!x){if(!y)break d;if((c[w>>2]|0)>>>0>=9007199){j=18;break d}}n=0;m=i+127|0;while(1){r=m&127;o=E+(r<<2)|0;m=XB(c[o>>2]|0,0,29)|0;m=QB(m|0,z()|0,n|0,0)|0;n=z()|0;if(n>>>0>0|(n|0)==0&m>>>0>1e9){u=UB(m|0,n|0,1e9,0)|0;a=PB(u|0,z()|0,-1e9,-1)|0;m=QB(m|0,n|0,a|0,z()|0)|0;z()|0}else u=0;c[o>>2]=m;a=(r|0)==(l|0);o=(r|0)!=(i+127&127|0)|a?i:(m|0)==0?r:i;if(a)break;else{n=u;m=r+-1|0;i=o}}b=b+-29|0}while((u|0)==0);l=l+127&127;m=o+127&127;n=E+((o+126&127)<<2)|0;if((l|0)==(o|0)){c[n>>2]=c[n>>2]|c[E+(m<<2)>>2];i=m}c[E+(l<<2)>>2]=u;j=j+9|0}e:while(1){w=i+1&127;x=E+((i+127&127)<<2)|0;while(1){r=(j|0)==18;u=(j|0)>27?9:1;while(1){o=0;while(1){m=o+l&127;if((m|0)==(i|0)){B=90;break}m=c[E+(m<<2)>>2]|0;n=c[291396+(o<<2)>>2]|0;if(m>>>0<n>>>0){B=90;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{B=90;break}}if((B|0)==90?(B=0,r):0)break e;b=u+b|0;if((l|0)==(i|0))l=i;else break}r=(1<<u)+-1|0;o=1e9>>>u;m=l;n=0;do{C=E+(l<<2)|0;D=c[C>>2]|0;a=(D>>>u)+n|0;c[C>>2]=a;n=v(D&r,o)|0;a=(l|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;l=l+1&127}while((l|0)!=(i|0));if(n|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}l=m}c[E+(i<<2)>>2]=n;l=m;i=w}n=0;h=0.0;j=i;while(1){m=n+l&127;i=j+1&127;if((m|0)==(j|0))c[E+(i+-1<<2)>>2]=0;else i=j;h=h*1.0e9+ +((c[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else j=i}s=+(g|0);k=h*s;m=b+53|0;r=m-f|0;o=(r|0)<(e|0);n=o?((r|0)>0?r:0):e;if((n|0)<53){I=+nA(+mA(1.0,105-n|0),k);p=+oA(k,+mA(1.0,53-n|0));q=I;h=p;p=I+(k-p)}else{q=0.0;h=0.0;p=k}j=l+2&127;if((j|0)!=(i|0)){j=c[E+(j<<2)>>2]|0;do if(j>>>0>=5e8){if((j|0)!=5e8){h=s*.75+h;break}if((l+3&127|0)==(i|0)){h=s*.5+h;break}else{h=s*.75+h;break}}else{if((j|0)==0?(l+3&127|0)==(i|0):0)break;h=s*.25+h}while(0);if((53-n|0)>1?!(+oA(h,1.0)!=0.0):0)k=h+1.0;else k=h}else k=h;h=p+k-q;do if((m&2147483647|0)>(-2-F|0)){F=!(+t(+h)>=9007199254740992.0);b=b+((F^1)&1)|0;h=F?h:h*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(r|0)|F))):0)break;c[82356]=34}while(0);h=+pA(h,b)}while(0);aa=H;return +h}function lA(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;b=c[i>>2]|0;j=a+100|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=fA(a)|0;switch(b|0){case 43:case 45:{e=(b|0)==45&1;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=fA(a)|0;if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=14}else{h=e;f=12}break}default:if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else f=14;else{h=0;f=12}}if((f|0)==12){f=0;while(1){f=b+-48+(f*10|0)|0;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;e=d[b>>0]|0}else e=fA(a)|0;g=(e+-48|0)>>>0<10;if(!(g&(f|0)<214748364))break;else b=e}b=((f|0)<0)<<31>>31;if(g){do{k=PB(f|0,b|0,10,0)|0;g=z()|0;e=QB(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=QB(e|0,z()|0,k|0,g|0)|0;b=z()|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=fA(a)|0;g=(e+-48|0)>>>0<10}while(g&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));if(g)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=fA(a)|0}while((e+-48|0)>>>0<10)}if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(h|0)==0;k=RB(0,0,f|0,b|0)|0;e=z()|0;e=j?b:e;b=j?f:k}else if((f|0)==14){c[i>>2]=(c[i>>2]|0)+-1;e=-2147483648;b=0}y(e|0);return b|0}function mA(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;d=(b|0)<-2044;e=b+2044|0;b=d?((e|0)>-1022?e:-1022):b+1022|0;a=d?a*2.2250738585072014e-308:a}}else{a=a*8988465674311579538646525.0e283;e=(b|0)>2046;d=b+-2046|0;b=e?((d|0)<1023?d:1023):b+-1023|0;a=e?a*8988465674311579538646525.0e283:a}d=XB(b+1023|0,0,52)|0;e=z()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function nA(a,b){a=+a;b=+b;return +(+sA(a,b))}function oA(a,b){a=+a;b=+b;return +(+qA(a,b))}function pA(a,b){a=+a;b=b|0;return +(+mA(a,b))}function qA(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;k=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=WB(k|0,l|0,52)|0;z()|0;e=e&2047;m=WB(n|0,o|0,52)|0;z()|0;m=m&2047;p=l&-2147483648;j=XB(n|0,o|0,1)|0;i=z()|0;a:do if(!((j|0)==0&(i|0)==0)?(f=rA(b)|0,d=(z()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=XB(k|0,l|0,1)|0;f=z()|0;if(!(f>>>0>i>>>0|(f|0)==(i|0)&d>>>0>j>>>0))return +((d|0)==(j|0)&(f|0)==(i|0)?a*0.0:a);if(!e){d=XB(k|0,l|0,12)|0;e=z()|0;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){f=e;e=0;do{e=e+-1|0;d=XB(d|0,f|0,1)|0;f=z()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;k=XB(k|0,l|0,1-e|0)|0;j=z()|0}else j=l&1048575|1048576;if(!m){d=XB(n|0,o|0,12)|0;f=z()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){i=0;do{i=i+-1|0;d=XB(d|0,f|0,1)|0;f=z()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else i=0;n=XB(n|0,o|0,1-i|0)|0;l=z()|0;m=i}else l=o&1048575|1048576;d=RB(k|0,j|0,n|0,l|0)|0;f=z()|0;i=(f|0)>-1|(f|0)==-1&d>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(i){if((d|0)==0&(f|0)==0)break}else{d=k;f=j}k=XB(d|0,f|0,1)|0;j=z()|0;e=e+-1|0;d=RB(k|0,j|0,n|0,l|0)|0;f=z()|0;i=(f|0)>-1|(f|0)==-1&d>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(i){if((d|0)==0&(f|0)==0){b=a*0.0;break}}else{f=j;d=k}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=XB(d|0,f|0,1)|0;f=z()|0;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=QB(d|0,f|0,0,-1048576)|0;d=z()|0;e=XB(e|0,0,52)|0;d=d|(z()|0);e=o|e}else{e=WB(d|0,f|0,1-e|0)|0;d=z()|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 rA(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 sA(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 tA(a){a=a|0;return c[a+60>>2]|0}function uA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=a[b>>0]|0;e=c<<24>>24;d=b+1|0;if(!(bA(e)|0))break;else b=d}switch(e|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;d=b}}if((f|0)==5){e=a[d>>0]|0;c=e;e=e<<24>>24;g=b}if(!(Fz(e)|0))b=0;else{b=0;do{d=d+1|0;b=(b*10|0)+48-(c<<24>>24)|0;c=a[d>>0]|0}while((Fz(c<<24>>24)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function vA(a,b){a=a|0;b=b|0;return +(+wA(a,b,0))}function wA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=aa;aa=aa+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;eA(h);e=+iA(h,d);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=(d|0)==0?a:a+d|0;aa=i;return +e}function xA(a,b){a=a|0;b=b|0;return +(+wA(a,b,1))}function yA(a){a=a|0;var b=0,d=0;b=aa;aa=aa+32|0;d=b;c[d>>2]=a;c[d+4>>2]=21523;c[d+8>>2]=b+16;a=(uz(S(54,d|0)|0)|0)==0&1;aa=b;return a|0}function zA(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=aa;aa=aa+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[82373]|0;d=m>>>a;if(d&3|0){e=(d&1^1)+a|0;f=329532+(e<<1<<2)|0;b=f+8|0;a=c[b>>2]|0;g=a+8|0;d=c[g>>2]|0;if((d|0)==(f|0))c[82373]=m&~(1<<e);else{c[d+12>>2]=f;c[b>>2]=d}v=e<<3;c[a+4>>2]=v|3;v=a+v+4|0;c[v>>2]=c[v>>2]|1;v=g;aa=w;return v|0}l=c[82375]|0;if(k>>>0>l>>>0){if(d|0){i=2<<a;d=d<<a&(i|0-i);d=(d&0-d)+-1|0;i=d>>>12&16;d=d>>>i;a=d>>>5&8;d=d>>>a;g=d>>>2&4;d=d>>>g;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=(a|i|g|b|e)+(d>>>e)|0;d=329532+(e<<1<<2)|0;b=d+8|0;g=c[b>>2]|0;i=g+8|0;a=c[i>>2]|0;if((a|0)==(d|0)){a=m&~(1<<e);c[82373]=a}else{c[a+12>>2]=d;c[b>>2]=a;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[82378]|0;b=l>>>3;d=329532+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[82373]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[82375]=h;c[82378]=f;v=i;aa=w;return v|0}g=c[82374]|0;if(g){i=(g&0-g)+-1|0;f=i>>>12&16;i=i>>>f;e=i>>>5&8;i=i>>>e;h=i>>>2&4;i=i>>>h;d=i>>>1&2;i=i>>>d;j=i>>>1&1;j=c[329796+((e|f|h|d|j)+(i>>>j)<<2)>>2]|0;i=(c[j+4>>2]&-8)-k|0;d=j;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}d=(c[a+4>>2]&-8)-k|0;h=d>>>0<i>>>0;i=h?d:i;d=a;j=h?a:j}h=j+k|0;if(h>>>0>j>>>0){f=c[j+24>>2]|0;b=c[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){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[j+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[j+28>>2]|0;a=329796+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[82374]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(j|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[j+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[j+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(i>>>0<16){v=i+k|0;c[j+4>>2]=v|3;v=j+v+4|0;c[v>>2]=c[v>>2]|1}else{c[j+4>>2]=k|3;c[h+4>>2]=i|1;c[h+i>>2]=i;if(l|0){e=c[82378]|0;b=l>>>3;d=329532+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[82373]=b|m;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[82375]=i;c[82378]=h}v=j+8|0;aa=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[82374]|0;if(e){d=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;r=a<<m;i=(r+520192|0)>>>16&4;r=r<<i;j=(r+245760|0)>>>16&2;j=14-(i|m|j)+(r<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=c[329796+(j<<2)>>2]|0;a:do if(!a){f=0;a=0;r=61}else{f=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(c[i+4>>2]&-8)-k|0;if(g>>>0<d>>>0)if(!g){d=0;f=i;a=i;r=65;break a}else{d=g;a=i}r=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;f=(r|0)==0|(r|0)==(i|0)?f:r;if(!i){r=61;break}else h=h<<1}}while(0);if((r|0)==61){if((f|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}a=(a&0-a)+-1|0;i=a>>>12&16;a=a>>>i;h=a>>>5&8;a=a>>>h;j=a>>>2&4;a=a>>>j;m=a>>>1&2;a=a>>>m;f=a>>>1&1;f=c[329796+((h|i|j|m|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;g=a}else r=65}if((r|0)==65)while(1){m=(c[f+4>>2]&-8)-k|0;g=m>>>0<d>>>0;d=g?m:d;g=g?f:a;a=c[f+16>>2]|0;if(!a)a=c[f+20>>2]|0;if(!a){i=d;break}else{f=a;a=g}}if(((g|0)!=0?i>>>0<((c[82375]|0)-k|0)>>>0:0)?(l=g+k|0,l>>>0>g>>>0):0){h=c[g+24>>2]|0;b=c[g+12>>2]|0;do if((b|0)==(g|0)){a=g+20|0;b=c[a>>2]|0;if(!b){a=g+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[g+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(h){a=c[g+28>>2]|0;d=329796+(a<<2)|0;if((g|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[82374]=e;break}}else{v=h+16|0;c[((c[v>>2]|0)==(g|0)?v:h+20|0)>>2]=b;if(!b)break}c[b+24>>2]=h;a=c[g+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[g+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(i>>>0<16){v=i+k|0;c[g+4>>2]=v|3;v=g+v+4|0;c[v>>2]=c[v>>2]|1}else{c[g+4>>2]=k|3;c[l+4>>2]=i|1;c[l+i>>2]=i;b=i>>>3;if(i>>>0<256){d=329532+(b<<1<<2)|0;a=c[82373]|0;b=1<<b;if(!(a&b)){c[82373]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=l;c[a+12>>2]=l;c[l+8>>2]=a;c[l+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;d=(v+245760|0)>>>16&2;d=14-(t|u|d)+(v<<d>>>15)|0;d=i>>>(d+7|0)&1|d<<1}else d=0;b=329796+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<d;if(!(e&a)){c[82374]=e|a;c[b>>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)!=(i|0)){e=i<<((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)==(i|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=g+8|0;aa=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[82375]|0;if(d>>>0>=m>>>0){a=d-m|0;b=c[82378]|0;if(a>>>0>15){v=b+m|0;c[82378]=v;c[82375]=a;c[v+4>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=m|3}else{c[82375]=0;c[82378]=0;c[b+4>>2]=d|3;v=b+d+4|0;c[v>>2]=c[v>>2]|1}v=b+8|0;aa=w;return v|0}h=c[82376]|0;if(h>>>0>m>>>0){t=h-m|0;c[82376]=t;v=c[82379]|0;u=v+m|0;c[82379]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;aa=w;return v|0}if(!(c[82491]|0)){c[82493]=4096;c[82492]=4096;c[82494]=-1;c[82495]=-1;c[82496]=0;c[82484]=0;c[82491]=n&-16^1431655768;a=4096}else a=c[82493]|0;i=m+48|0;j=m+47|0;g=a+j|0;e=0-a|0;k=g&e;if(k>>>0<=m>>>0){v=0;aa=w;return v|0}a=c[82483]|0;if(a|0?(l=c[82481]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;aa=w;return v|0}d:do if(!(c[82484]&4)){d=c[82379]|0;e:do if(d){f=329940;while(1){a=c[f>>2]|0;if(a>>>0<=d>>>0?(q=f+4|0,(a+(c[q>>2]|0)|0)>>>0>d>>>0):0)break;a=c[f+8>>2]|0;if(!a){r=128;break e}else f=a}b=g-h&e;if(b>>>0<2147483647){a=bC(b|0)|0;if((a|0)==((c[f>>2]|0)+(c[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;r=145;break d}}else{e=a;r=136}}else b=0}else r=128;while(0);do if((r|0)==128){d=bC(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[82492]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[82481]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=c[82483]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=bC(b|0)|0;if((a|0)==(d|0)){h=d;g=b;r=145;break d}else{e=a;r=136}}else b=0}while(0);do if((r|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=e;g=b;r=145;break d}a=c[82493]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=e;g=b;r=145;break d}if((bC(a|0)|0)==(-1|0)){bC(d|0)|0;b=0;break}else{h=e;g=a+b|0;r=145;break d}}while(0);c[82484]=c[82484]|4;r=143}else{b=0;r=143}while(0);if(((r|0)==143?k>>>0<2147483647:0)?(s=bC(k|0)|0,q=bC(0)|0,u=q-s|0,t=u>>>0>(m+40|0)>>>0,!((s|0)==(-1|0)|t^1|s>>>0<q>>>0&((s|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=s;g=t?u:b;r=145}if((r|0)==145){b=(c[82481]|0)+g|0;c[82481]=b;if(b>>>0>(c[82482]|0)>>>0)c[82482]=b;j=c[82379]|0;f:do if(j){f=329940;while(1){b=c[f>>2]|0;e=f+4|0;a=c[e>>2]|0;if((h|0)==(b+a|0)){r=154;break}d=c[f+8>>2]|0;if(!d)break;else f=d}if(((r|0)==154?(c[f+12>>2]&8|0)==0:0)?h>>>0>j>>>0&b>>>0<=j>>>0:0){c[e>>2]=a+g;v=(c[82376]|0)+g|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[82379]=u;c[82376]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[82380]=c[82495];break}if(h>>>0<(c[82377]|0)>>>0)c[82377]=h;d=h+g|0;a=329940;while(1){if((c[a>>2]|0)==(d|0)){r=162;break}b=c[a+8>>2]|0;if(!b)break;else a=b}if((r|0)==162?(c[a+12>>2]&8|0)==0:0){c[a>>2]=h;l=a+4|0;c[l>>2]=(c[l>>2]|0)+g;l=h+8|0;l=h+((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[82376]|0)+i|0;c[82376]=v;c[82379]=k;c[k+4>>2]=v|1}else{if((c[82378]|0)==(b|0)){v=(c[82375]|0)+i|0;c[82375]=v;c[82378]=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[82373]=c[82373]&~(1<<e);break}else{c[a+12>>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)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>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=329796+(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[82374]=c[82374]&~(1<<d);break h}while(0);c[a+24>>2]=g;e=b+16|0;d=c[e>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}d=c[e+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=329532+(b<<1<<2)|0;a=c[82373]|0;b=1<<b;if(!(a&b)){c[82373]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;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<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);a=329796+(e<<2)|0;c[k+28>>2]=e;b=k+16|0;c[b+4>>2]=0;c[b>>2]=0;b=c[82374]|0;d=1<<e;if(!(b&d)){c[82374]=b|d;c[a>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[a>>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;aa=w;return v|0}a=329940;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(v=b+(c[a+4>>2]|0)|0,v>>>0>j>>>0):0)break;a=c[a+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<f>>>0?j:a;b=a+8|0;d=g+-40|0;t=h+8|0;t=(t&7|0)==0?0:0-t&7;u=h+t|0;t=d-t|0;c[82379]=u;c[82376]=t;c[u+4>>2]=t|1;c[h+d+4>>2]=40;c[82380]=c[82495];d=a+4|0;c[d>>2]=27;c[b>>2]=c[82485];c[b+4>>2]=c[82486];c[b+8>>2]=c[82487];c[b+12>>2]=c[82488];c[82485]=h;c[82486]=g;c[82488]=0;c[82487]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0<v>>>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=329532+(b<<1<<2)|0;a=c[82373]|0;b=1<<b;if(!(a&b)){c[82373]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;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<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=329796+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[82374]|0;a=1<<e;if(!(b&a)){c[82374]=b|a;c[d>>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[82377]|0;if((v|0)==0|h>>>0<v>>>0)c[82377]=h;c[82485]=h;c[82486]=g;c[82488]=0;c[82382]=c[82491];c[82381]=-1;c[82386]=329532;c[82385]=329532;c[82388]=329540;c[82387]=329540;c[82390]=329548;c[82389]=329548;c[82392]=329556;c[82391]=329556;c[82394]=329564;c[82393]=329564;c[82396]=329572;c[82395]=329572;c[82398]=329580;c[82397]=329580;c[82400]=329588;c[82399]=329588;c[82402]=329596;c[82401]=329596;c[82404]=329604;c[82403]=329604;c[82406]=329612;c[82405]=329612;c[82408]=329620;c[82407]=329620;c[82410]=329628;c[82409]=329628;c[82412]=329636;c[82411]=329636;c[82414]=329644;c[82413]=329644;c[82416]=329652;c[82415]=329652;c[82418]=329660;c[82417]=329660;c[82420]=329668;c[82419]=329668;c[82422]=329676;c[82421]=329676;c[82424]=329684;c[82423]=329684;c[82426]=329692;c[82425]=329692;c[82428]=329700;c[82427]=329700;c[82430]=329708;c[82429]=329708;c[82432]=329716;c[82431]=329716;c[82434]=329724;c[82433]=329724;c[82436]=329732;c[82435]=329732;c[82438]=329740;c[82437]=329740;c[82440]=329748;c[82439]=329748;c[82442]=329756;c[82441]=329756;c[82444]=329764;c[82443]=329764;c[82446]=329772;c[82445]=329772;c[82448]=329780;c[82447]=329780;v=g+-40|0;t=h+8|0;t=(t&7|0)==0?0:0-t&7;u=h+t|0;t=v-t|0;c[82379]=u;c[82376]=t;c[u+4>>2]=t|1;c[h+v+4>>2]=40;c[82380]=c[82495]}while(0);b=c[82376]|0;if(b>>>0>m>>>0){t=b-m|0;c[82376]=t;v=c[82379]|0;u=v+m|0;c[82379]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;aa=w;return v|0}}c[82356]=12;v=0;aa=w;return v|0}function AA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;d=a+-8|0;e=c[82377]|0;a=c[a+-4>>2]|0;b=a&-8;k=d+b|0;do if(!(a&1)){f=c[d>>2]|0;if(!(a&3))return;g=d+(0-f)|0;h=f+b|0;if(g>>>0<e>>>0)return;if((c[82378]|0)==(g|0)){b=k+4|0;a=c[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}c[82375]=h;c[b>>2]=a&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}d=f>>>3;if(f>>>0<256){a=c[g+8>>2]|0;b=c[g+12>>2]|0;if((b|0)==(a|0)){c[82373]=c[82373]&~(1<<d);i=g;j=g;b=h;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=g;j=g;b=h;break}}f=c[g+24>>2]|0;a=c[g+12>>2]|0;do if((a|0)==(g|0)){d=g+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>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[g+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(f){a=c[g+28>>2]|0;b=329796+(a<<2)|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;if(!d){c[82374]=c[82374]&~(1<<a);i=g;j=g;b=h;break}}else{j=f+16|0;c[((c[j>>2]|0)==(g|0)?j:f+20|0)>>2]=d;if(!d){i=g;j=g;b=h;break}}c[d+24>>2]=f;b=g+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a){c[d+20>>2]=a;c[a+24>>2]=d;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=d;j=d}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=c[a>>2]|0;if(!(d&1))return;if(!(d&2)){if((c[82379]|0)==(k|0)){k=(c[82376]|0)+b|0;c[82376]=k;c[82379]=j;c[j+4>>2]=k|1;if((j|0)!=(c[82378]|0))return;c[82378]=0;c[82375]=0;return}if((c[82378]|0)==(k|0)){k=(c[82375]|0)+b|0;c[82375]=k;c[82378]=i;c[j+4>>2]=k|1;c[i+k>>2]=k;return}f=(d&-8)+b|0;e=d>>>3;do if(d>>>0<256){b=c[k+8>>2]|0;a=c[k+12>>2]|0;if((a|0)==(b|0)){c[82373]=c[82373]&~(1<<e);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>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[k+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[k+28>>2]|0;b=329796+(a<<2)|0;if((c[b>>2]|0)==(k|0)){c[b>>2]=d;if(!d){c[82374]=c[82374]&~(1<<a);break}}else{h=g+16|0;c[((c[h>>2]|0)==(k|0)?h:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=k+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[j+4>>2]=f|1;c[i+f>>2]=f;if((j|0)==(c[82378]|0)){c[82375]=f;return}}else{c[a>>2]=d&-2;c[j+4>>2]=b|1;c[i+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=329532+(a<<1<<2)|0;b=c[82373]|0;a=1<<a;if(!(b&a)){c[82373]=b|a;a=d+8|0;b=d}else{b=d+8|0;a=b;b=c[b>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{i=(a+1048320|0)>>>16&8;k=a<<i;h=(k+520192|0)>>>16&4;k=k<<h;e=(k+245760|0)>>>16&2;e=14-(h|i|e)+(k<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=329796+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[j+16>>2]=0;a=c[82374]|0;d=1<<e;a:do if(!(a&d)){c[82374]=a|d;c[b>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j}else{a=c[b>>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]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break a}while(0);i=a+8|0;k=c[i>>2]|0;c[k+12>>2]=j;c[i>>2]=j;c[j+8>>2]=k;c[j+12>>2]=a;c[j+24>>2]=0}while(0);k=(c[82381]|0)+-1|0;c[82381]=k;if(k|0)return;a=329948;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[82381]=-1;return}function BA(){O(329988);return}function CA(){return 329988} -function jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+148|0;g=a+156|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+152|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=FA(b<<2)|0;if((e|0)>0)_B(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;HA(f);return 0}function kf(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;g=aa;aa=aa+64|0;j=g+24|0;l=g;h=g+20|0;m=b+4|0;o=b+36|0;n=c[o>>2]|0;k=c[(c[m>>2]|0)+8>>2]|0;d=Az(n)|0;i=FA(112)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=n;c[i+16>>2]=d;c[i+20>>2]=k;k=i+24|0;c[k>>2]=0;c[k+4>>2]=0;c[i+32>>2]=6;c[i>>2]=287416;tn(i+36|0,0,0);k=i+48|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;vl(k,-1,j);d=i+84|0;a[d>>0]=0;n=i+88|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;o=c[o>>2]|0;m=c[(c[m>>2]|0)+8>>2]|0;n=l+12|0;c[n>>2]=0;c[n+4>>2]=0;n=Az(o)|0;c[l>>2]=o;c[l+4>>2]=n;c[l+8>>2]=m;vl(j,e,l);xl(k,j)|0;Cl(j);a[d>>0]=f&1;d=c[b+12>>2]|0;c[h>>2]=i;Xk(d,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=g;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=g;return 0}function lf(a,b){a=a|0;b=b|0;c[a+32>>2]=(c[(c[(c[a+12>>2]|0)+148>>2]|0)+(b<<2)>>2]|0)+52;return 0}function mf(a,b){a=a|0;b=b|0;c[a+32>>2]=0;return 0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;Lg((c[(c[(c[a+12>>2]|0)+148>>2]|0)+(b<<2)>>2]|0)+64|0,d);return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+64|0;g=i+20|0;h=i;b=c[(c[(c[a+12>>2]|0)+148>>2]|0)+(b<<2)>>2]|0;f=b+68|0;e=c[f>>2]|0;if(e>>>0<(c[b+72>>2]|0)>>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;vl(e,-1,g);b=(c[f>>2]|0)+36|0;c[f>>2]=b}else{Kg(b+64|0);b=c[f>>2]|0}e=c[a+36>>2]|0;a=c[(c[a+4>>2]|0)+8>>2]|0;f=h+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Az(e)|0;c[h>>2]=e;c[h+4>>2]=f;c[h+8>>2]=a;vl(g,d,h);xl(b+-36|0,g)|0;Cl(g);aa=i;return 0}function pf(a,b){a=a|0;b=b|0;return 0}function qf(a){a=a|0;return 0}function rf(a,b){a=a|0;b=b|0;return 0}function sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+172|0;g=a+180|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+176|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=FA(b<<2)|0;if((e|0)>0)_B(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;HA(f);return 0}function tf(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;g=aa;aa=aa+64|0;j=g+24|0;l=g;h=g+20|0;m=b+4|0;o=b+36|0;n=c[o>>2]|0;k=c[(c[m>>2]|0)+8>>2]|0;d=Az(n)|0;i=FA(112)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=n;c[i+16>>2]=d;c[i+20>>2]=k;k=i+24|0;c[k>>2]=0;c[k+4>>2]=0;c[i+32>>2]=8;c[i>>2]=287400;tn(i+36|0,0,0);k=i+48|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;vl(k,-1,j);d=i+84|0;a[d>>0]=0;n=i+88|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;o=c[o>>2]|0;m=c[(c[m>>2]|0)+8>>2]|0;n=l+12|0;c[n>>2]=0;c[n+4>>2]=0;n=Az(o)|0;c[l>>2]=o;c[l+4>>2]=n;c[l+8>>2]=m;vl(j,e,l);xl(k,j)|0;Cl(j);a[d>>0]=f&1;d=c[b+12>>2]|0;c[h>>2]=i;Vk(d,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=g;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=g;return 0}function uf(a,b){a=a|0;b=b|0;c[a+32>>2]=(c[(c[(c[a+12>>2]|0)+172>>2]|0)+(b<<2)>>2]|0)+52;return 0}function vf(a,b){a=a|0;b=b|0;c[a+32>>2]=0;return 0}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;g=c[(c[(c[b+12>>2]|0)+172>>2]|0)+(d<<2)>>2]|0;m=g+64|0;l=g+68|0;b=c[l>>2]|0;i=c[m>>2]|0;k=b-i|0;j=i;a:do if(k>>>0<f>>>0){d=f-k|0;h=g+72|0;g=c[h>>2]|0;if((g-b|0)>>>0>=d>>>0)while(1){a[b>>0]=0;b=(c[l>>2]|0)+1|0;c[l>>2]=b;d=d+-1|0;if(!d){n=15;break a}}if((f|0)<0)oB();b=g-i|0;g=b<<1;g=b>>>0<1073741823?(g>>>0<f>>>0?f:g):2147483647;if(!g)b=0;else b=FA(g)|0;aC(b+k|0,0,d|0)|0;if((k|0)>0)_B(b|0,j|0,k|0)|0;c[m>>2]=b;c[l>>2]=b+f;c[h>>2]=b+g;if(i|0)HA(j)}else if(k>>>0>f>>>0){c[l>>2]=j+f;n=15}else n=15;while(0);if((n|0)==15?(f|0)==0:0)return 0;_B(c[m>>2]|0,e|0,f|0)|0;return 0}function xf(a,b){a=a|0;b=b|0;return 0}function yf(a){a=a|0;return 0}function zf(a,b){a=a|0;b=b|0;return 0}function Af(a,b){a=a|0;b=b|0;return 0}function Bf(a){a=a|0;return 0}function Cf(a,b){a=a|0;b=b|0;return 0}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Ef(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;m=aa;aa=aa+32|0;i=m+20|0;g=m+8|0;l=m;f=c[e+4>>2]|0;if(!f){aa=m;return 0}j=c[e>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;h=i+11|0;a[h>>0]=1;a[i>>0]=36;a[i+1>>0]=0;tn(g,j,f);j=a[g+11>>0]|0;f=j<<24>>24<0;e=c[g>>2]|0;bB(i,f?e:g,f?c[g+4>>2]|0:j&255)|0;j=c[i>>2]|0;k=i+4|0;c[l>>2]=c[k>>2];b[l+4>>1]=b[k+4>>1]|0;a[l+6>>0]=a[k+6>>0]|0;k=a[i+11>>0]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;if(f){HA(e);if((a[h>>0]|0)<0)HA(c[i>>2]|0)}e=c[d+12>>2]|0;g=e+20|0;f=g+11|0;if((a[f>>0]|0)<0){a[c[g>>2]>>0]=0;c[e+24>>2]=0;e=g}else{a[g>>0]=0;a[f>>0]=0;e=g}YA(g);c[e>>2]=j;j=e+4|0;c[j>>2]=c[l>>2];b[j+4>>1]=b[l+4>>1]|0;a[j+6>>0]=a[l+6>>0]|0;a[e+11>>0]=k;aa=m;return 0}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;d=c[a+12>>2]|0;d=(c[d+80>>2]|0)-(c[d+76>>2]|0)>>2;if(d>>>0>=b>>>0){e=0;aa=f;return e|0}c[e>>2]=b;c[e+4>>2]=d;Fg(a,292011,e);e=1;aa=f;return e|0}function Hf(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=aa;aa=aa+64|0;l=n+48|0;m=n+24|0;j=n+12|0;k=n;f=c[e+4>>2]|0;if(!f){aa=n;return 0}i=b+12|0;h=c[i>>2]|0;g=c[(c[h+76>>2]|0)+(d<<2)>>2]|0;h=h+216|0;o=c[e>>2]|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;e=l+11|0;a[e>>0]=1;a[l>>0]=36;a[l+1>>0]=0;tn(m,o,f);o=a[m+11>>0]|0;f=o<<24>>24<0;b=c[m>>2]|0;bB(l,f?b:m,f?c[m+4>>2]|0:o&255)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;if(f){HA(b);if((a[e>>0]|0)<0)HA(c[l>>2]|0)}xg(j,h,k);if((a[k+11>>0]|0)<0)HA(c[k>>2]|0);UA(g,j)|0;o=c[i>>2]|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]=d;o=o+216|0;Hg(l,o,j,m);zg(o,c[l>>2]|0);if((a[j+11>>0]|0)<0)HA(c[j>>2]|0);aa=n;return 0}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Jf(a,b){a=a|0;b=b|0;return 0}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=aa;aa=aa+16|0;e=f;b=c[(c[(c[a+12>>2]|0)+76>>2]|0)+(b<<2)>>2]|0;g=(c[b+56>>2]|0)-(c[b+52>>2]|0)>>2;b=g+(Fk(c[b+76>>2]|0,c[b+80>>2]|0)|0)|0;if(b>>>0>=d>>>0){g=0;aa=f;return g|0}c[e>>2]=d;c[e+4>>2]=b;Fg(a,291960,e);g=1;aa=f;return g|0}function Lf(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=aa;aa=aa+64|0;j=m+40|0;k=m+24|0;i=m+12|0;l=m;h=c[f+4>>2]|0;if(!h){aa=m;return 0}g=(c[(c[(c[b+12>>2]|0)+76>>2]|0)+(d<<2)>>2]|0)+88|0;f=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;b=j+11|0;a[b>>0]=1;a[j>>0]=36;a[j+1>>0]=0;tn(k,f,h);f=a[k+11>>0]|0;h=f<<24>>24<0;d=c[k>>2]|0;bB(j,h?d:k,h?c[k+4>>2]|0:f&255)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(h){HA(d);if((a[b>>0]|0)<0)HA(c[j>>2]|0)}xg(i,g,l);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]=e;yg(g,i,j);if((a[i+11>>0]|0)<0)HA(c[i>>2]|0);if((a[l+11>>0]|0)<0)HA(c[l>>2]|0);aa=m;return 0}function Mf(a){a=a|0;return 0}function Nf(a,b){a=a|0;b=b|0;return 0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function Qf(a){a=a|0;return 0}function Rf(a,b){a=a|0;b=b|0;return 0}function Sf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function Tf(a,b){a=a|0;b=b|0;return 0}function Uf(a,b){a=a|0;b=b|0;return 0}function Vf(a){a=a|0;return 0}function Wf(a,b){a=a|0;b=b|0;return 0}function Xf(a,b){a=a|0;b=b|0;return 0}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Zf(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 0}function _f(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function $f(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function bg(a,b){a=a|0;b=b|0;return 0}function cg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function dg(a,b){a=a|0;b=b|0;return 0}function eg(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function fg(a){a=a|0;return 0}function gg(a,b){a=a|0;b=b|0;return 0}function hg(a,b){a=a|0;b=b|0;return 0}function ig(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;j=aa;aa=aa+64|0;f=j+24|0;k=j;i=j+20|0;l=b+4|0;n=b+36|0;g=c[n>>2]|0;m=c[(c[l>>2]|0)+8>>2]|0;d=Az(g)|0;h=FA(112)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=g;c[h+16>>2]=d;c[h+20>>2]=m;m=h+24|0;c[m>>2]=0;c[m+4>>2]=0;c[h+32>>2]=10;c[h>>2]=287384;tn(h+36|0,0,0);m=h+48|0;a[m>>0]=0;d=h+52|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;vl(d,-1,f);g=h+88|0;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;a[m>>0]=1;n=c[n>>2]|0;l=c[(c[l>>2]|0)+8>>2]|0;m=k+12|0;c[m>>2]=0;c[m+4>>2]=0;m=Az(n)|0;c[k>>2]=n;c[k+4>>2]=m;c[k+8>>2]=l;vl(f,e,k);xl(d,f)|0;Cl(f);f=b+12|0;d=c[f>>2]|0;b=c[(c[d+124>>2]|0)+(e<<2)>>2]|0;e=b+12|0;if((e|0)!=(g|0)){ug(g,c[e>>2]|0,c[b+16>>2]|0);ug(h+100|0,c[b+24>>2]|0,c[b+28>>2]|0);d=c[f>>2]|0}c[i>>2]=h;Zk(d,i);d=c[i>>2]|0;c[i>>2]=0;if(!d){aa=j;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=j;return 0}function jg(a){a=a|0;return 0}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;h=aa;aa=aa+64|0;j=h+40|0;i=h;f=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;e=j+12|0;c[e>>2]=0;c[e+4>>2]=0;e=Az(f)|0;c[j>>2]=f;c[j+4>>2]=e;c[j+8>>2]=g;g=c[a+32>>2]|0;Fl(i,d,j);e=FA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287352;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 0}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;h=aa;aa=aa+64|0;j=h+40|0;i=h;b=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;f=j+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Az(b)|0;c[j>>2]=b;c[j+4>>2]=f;c[j+8>>2]=g;g=c[a+32>>2]|0;Gl(i,d,e,j);e=FA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287352;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 0}function mg(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=aa;aa=aa+80|0;e=h+64|0;j=h+40|0;i=h;b=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;f=j+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Az(b)|0;c[j>>2]=b;c[j+4>>2]=f;c[j+8>>2]=g;g=c[a+32>>2]|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];Hl(i,e,j);e=FA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287352;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 0}function ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;b=h+36|0;g=h;i=c[a+36>>2]|0;f=c[(c[a+4>>2]|0)+8>>2]|0;e=b+12|0;c[e>>2]=0;c[e+4>>2]=0;e=Az(i)|0;c[b>>2]=i;c[b+4>>2]=e;c[b+8>>2]=f;f=c[a+32>>2]|0;vl(g,d,b);a=FA(72)|0;c[a+4>>2]=0;e=a+8|0;c[e>>2]=0;d=a+12|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[a+32>>2]=18;c[a>>2]=287368;yl(a+36|0,g);d=f+4|0;b=c[d>>2]|0;if(!b){i=f;c[i>>2]=a;c[d>>2]=a;i=f+8|0;f=c[i>>2]|0;f=f+1|0;c[i>>2]=f;Cl(g);aa=h;return 0}else{c[e>>2]=b;i=b+4|0;c[i>>2]=a;c[d>>2]=a;i=f+8|0;f=c[i>>2]|0;f=f+1|0;c[i>>2]=f;Cl(g);aa=h;return 0}return 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;h=aa;aa=aa+64|0;j=h+40|0;i=h;f=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;e=j+12|0;c[e>>2]=0;c[e+4>>2]=0;e=Az(f)|0;c[j>>2]=f;c[j+4>>2]=e;c[j+8>>2]=g;g=c[a+32>>2]|0;Dl(i,d,j);e=FA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287352;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 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,j=0;h=aa;aa=aa+64|0;j=h+40|0;i=h;b=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;f=j+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Az(b)|0;c[j>>2]=b;c[j+4>>2]=f;c[j+8>>2]=g;g=c[a+32>>2]|0;El(i,d,e,j);e=FA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287352;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 0}function qg(a){a=a|0;return}function rg(a){a=a|0;HA(a);return}function sg(a){a=a|0;c[a>>2]=287368;Cl(a+36|0);return}function tg(a){a=a|0;c[a>>2]=287368;Cl(a+36|0);HA(a);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;l=d;i=b;h=l-i|0;f=h>>2;g=a+8|0;e=c[g>>2]|0;j=c[a>>2]|0;k=j;if(f>>>0<=e-j>>2>>>0){h=a+4|0;g=(c[h>>2]|0)-j>>2;f=f>>>0>g>>>0;g=f?b+(g<<2)|0:d;d=g;e=d-i|0;if(e|0)$B(j|0,b|0,e|0)|0;if(!f){c[h>>2]=k+(e>>2<<2);return}e=l-d|0;if((e|0)<=0)return;_B(c[h>>2]|0,g|0,e|0)|0;c[h>>2]=(c[h>>2]|0)+(e>>>2<<2);return}if(j){e=a+4|0;c[e>>2]=j;HA(j);c[g>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>1073741823)oB();l=e>>1;f=e>>2>>>0<536870911?(l>>>0<f>>>0?f:l):1073741823;if(f>>>0>1073741823)oB();d=FA(f<<2)|0;e=a+4|0;c[e>>2]=d;c[a>>2]=d;c[g>>2]=d+(f<<2);if((h|0)<=0)return;_B(d|0,b|0,h|0)|0;c[e>>2]=d+(h>>>2<<2);return}function vg(b){b=b|0;var d=0,e=0;c[b>>2]=287384;e=b+36|0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[e+11>>0]|0)>=0)return;HA(c[e>>2]|0);return}function wg(b){b=b|0;var d=0,e=0;c[b>>2]=287384;e=b+36|0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[e+11>>0]|0)>=0){HA(b);return}HA(c[e>>2]|0);HA(b);return}function xg(d,e,f){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=aa;aa=aa+32|0;o=u+24|0;r=u+12|0;s=u;LA(d,f);if(!(Cg(e,d)|0)){aa=u;return}h=s+11|0;l=s+4|0;k=d+11|0;j=d+4|0;i=r+11|0;p=d+11|0;m=1;while(1){Dg(r,f);fB(s,m);n=a[h>>0]|0;t=n<<24>>24<0;g=c[s>>2]|0;bB(r,t?g:s,t?c[l>>2]|0:n&255)|0;n=c[r>>2]|0;q=r+4|0;c[o>>2]=c[q>>2];b[o+4>>1]=b[q+4>>1]|0;a[o+6>>0]=a[q+6>>0]|0;q=a[r+11>>0]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;if((a[k>>0]|0)<0){a[c[d>>2]>>0]=0;c[j>>2]=0}else{a[d>>0]=0;a[k>>0]=0}YA(d);c[d>>2]=n;c[j>>2]=c[o>>2];b[j+4>>1]=b[o+4>>1]|0;a[j+6>>0]=a[o+6>>0]|0;a[p>>0]=q;c[o>>2]=0;b[o+4>>1]=0;a[o+6>>0]=0;if(t)HA(g);if((a[i>>0]|0)<0)HA(c[r>>2]|0);if(!(Cg(e,d)|0))break;else m=m+1|0}aa=u;return}function yg(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;j=FA(44)|0;h=j+8|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=j+20|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];i=a[j+19>>0]|0;g=i<<24>>24<0;h=g?c[h>>2]|0:h;i=g?c[j+12>>2]|0:i&255;if(i>>>0>3){f=h;e=i;g=i;while(1){l=v(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24,1540483477)|0;e=(v(l>>>24^l,1540483477)|0)^(v(e,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else f=f+4|0}l=i+-4|0;f=l&-4;h=h+(f+4)|0;f=l-f|0}else{e=i;f=i}switch(f|0){case 3:{e=(d[h+2>>0]|0)<<16^e;k=7;break}case 2:{k=7;break}case 1:{k=8;break}default:{}}if((k|0)==7){e=(d[h+1>>0]|0)<<8^e;k=8}if((k|0)==8)e=v(e^(d[h>>0]|0),1540483477)|0;l=v(e>>>13^e,1540483477)|0;c[j+4>>2]=l>>>15^l;c[j>>2]=0;zg(b,j);return}function zg(b,e){b=b|0;e=e|0;var g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=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;K=e+8|0;I=K+11|0;l=a[I>>0]|0;H=l<<24>>24<0;J=e+12|0;j=H?c[K>>2]|0:K;l=H?c[J>>2]|0:l&255;if(l>>>0>3){h=j;g=l;i=l;while(1){H=v(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,1540483477)|0;g=(v(H>>>24^H,1540483477)|0)^(v(g,1540483477)|0);i=i+-4|0;if(i>>>0<=3)break;else h=h+4|0}H=l+-4|0;h=H&-4;j=j+(h+4)|0;h=H-h|0}else{g=l;h=l}switch(h|0){case 3:{g=d[j+2>>0]<<16^g;L=7;break}case 2:{L=7;break}case 1:{L=8;break}default:{}}if((L|0)==7){g=d[j+1>>0]<<8^g;L=8}if((L|0)==8)g=v(g^d[j>>0],1540483477)|0;h=v(g>>>13^g,1540483477)|0;h=h>>>15^h;g=e+4|0;c[g>>2]=h;j=b+4|0;i=c[j>>2]|0;H=b+12|0;m=+(((c[H>>2]|0)+1|0)>>>0);k=+f[b+16>>2];if((i|0)==0|k*+(i>>>0)<m){x=i<<1|(i>>>0<3|(i+-1&i|0)!=0)&1;E=~~+u(+(m/k))>>>0;Ag(b,x>>>0<E>>>0?E:x);x=c[g>>2]|0;E=c[j>>2]|0}else{x=h;E=i}F=E+-1|0;G=(F&E|0)==0;if(!G)if(x>>>0<E>>>0)D=x;else D=(x>>>0)%(E>>>0)|0;else D=F&x;i=c[(c[b>>2]|0)+(D<<2)>>2]|0;if(!i){g=b+8|0;c[e>>2]=c[g>>2];c[g>>2]=e;c[(c[b>>2]|0)+(D<<2)>>2]=g;g=c[e>>2]|0;if(!g){b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}g=c[g+4>>2]|0;if(!G){if(g>>>0>=E>>>0)g=(g>>>0)%(E>>>0)|0}else g=g&F;c[(c[b>>2]|0)+(g<<2)>>2]=e;b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}g=c[i>>2]|0;a:do if(!g){h=i;g=i}else{if(G){p=g;o=0;h=i;g=i;while(1){i=c[p+4>>2]|0;if((i&F|0)!=(D|0))break a;b:do if((i|0)==(x|0)?(q=p+8|0,s=a[q+11>>0]|0,t=s<<24>>24<0,s=s&255,r=t?c[p+12>>2]|0:s,C=a[I>>0]|0,w=C<<24>>24<0,(r|0)==((w?c[J>>2]|0:C&255)|0)):0){j=c[q>>2]|0;n=t?j:q;i=w?c[K>>2]|0:K;l=(r|0)==0;j=j&255;if(t){if(l){g=1;break}i=(zz(n,i,r)|0)==0;L=38;break}if(!l)if((a[i>>0]|0)==j<<24>>24){j=s;l=q;while(1){j=j+-1|0;l=l+1|0;if(!j){g=1;break b}i=i+1|0;if((a[l>>0]|0)!=(a[i>>0]|0)){i=0;L=38;break}}}else{i=0;L=38}else g=1}else{i=0;L=38}while(0);if((L|0)==38){L=0;if(i|o^1)g=i;else break a}h=c[p>>2]|0;if(!h){h=p;g=p;break a}else{B=p;C=p;p=h;o=o|g;g=B;h=C}}}p=g;o=0;h=i;g=i;while(1){i=c[p+4>>2]|0;if(i>>>0<E>>>0)j=i;else j=(i>>>0)%(E>>>0)|0;if((j|0)!=(D|0))break a;c:do if((i|0)==(x|0)?(y=p+8|0,A=a[y+11>>0]|0,B=A<<24>>24<0,A=A&255,z=B?c[p+12>>2]|0:A,w=a[I>>0]|0,C=w<<24>>24<0,(z|0)==((C?c[J>>2]|0:w&255)|0)):0){j=c[y>>2]|0;n=B?j:y;i=C?c[K>>2]|0:K;l=(z|0)==0;j=j&255;if(B){if(l){g=1;break}i=(zz(n,i,z)|0)==0;L=53;break}if(!l)if((a[i>>0]|0)==j<<24>>24){j=A;l=y;while(1){j=j+-1|0;l=l+1|0;if(!j){g=1;break c}i=i+1|0;if((a[l>>0]|0)!=(a[i>>0]|0)){i=0;L=53;break}}}else{i=0;L=53}else g=1}else{i=0;L=53}while(0);if((L|0)==53){L=0;if(i|o^1)g=i;else break a}h=c[p>>2]|0;if(!h){h=p;g=p;break}else{t=p;w=p;p=h;o=o|g;g=t;h=w}}}while(0);c[e>>2]=c[g>>2];c[h>>2]=e;g=c[e>>2]|0;if(!g){b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}g=c[g+4>>2]|0;if(!G){if(g>>>0>=E>>>0)g=(g>>>0)%(E>>>0)|0}else g=g&F;if((g|0)==(D|0)){b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}c[(c[b>>2]|0)+(g<<2)>>2]=e;b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=DA(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0>e>>>0){Bg(a,b);return}if(b>>>0>=e>>>0)return;d=~~+u(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(w(d+-1|0)|0);d=d>>>0<2?d:g}else d=DA(d)|0;b=b>>>0<d>>>0?d:b;if(b>>>0>=e>>>0)return;Bg(a,b);return}function Bg(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;f=b+4|0;if(!d){e=c[b>>2]|0;c[b>>2]=0;if(e|0)HA(e);c[f>>2]=0;return}if(d>>>0>1073741823)U();r=FA(d<<2)|0;e=c[b>>2]|0;c[b>>2]=r;if(e|0)HA(e);c[f>>2]=d;e=0;do{c[(c[b>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(d|0));f=b+8|0;g=c[f>>2]|0;if(!g)return;e=c[g+4>>2]|0;q=d+-1|0;r=(q&d|0)==0;if(!r){if(e>>>0>=d>>>0)e=(e>>>0)%(d>>>0)|0}else e=e&q;c[(c[b>>2]|0)+(e<<2)>>2]=f;f=c[g>>2]|0;if(!f)return;p=g;while(1){g=c[f+4>>2]|0;if(!r){if(g>>>0>=d>>>0)g=(g>>>0)%(d>>>0)|0}else g=g&q;do if((g|0)==(e|0))g=f;else{h=(c[b>>2]|0)+(g<<2)|0;if(!(c[h>>2]|0)){c[h>>2]=p;e=g;g=f;break}h=c[f>>2]|0;a:do if(!h)h=f;else{n=f+8|0;m=a[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?c[f+12>>2]|0:m;l=(o|0)==0;if(k){i=f;while(1){j=h+8|0;m=a[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?c[h+12>>2]|0:m&255)|0)){h=i;break a}if(!l?zz(c[n>>2]|0,k?c[j>>2]|0:j,o)|0:0){h=i;break a}i=c[h>>2]|0;if(!i)break a;else{m=h;h=i;i=m}}}if(l){i=f;while(1){o=a[h+8+11>>0]|0;if((o<<24>>24<0?c[h+12>>2]|0:o&255)|0){h=i;break a}i=c[h>>2]|0;if(!i)break a;else{o=h;h=i;i=o}}}l=f;while(1){i=h+8|0;k=a[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?c[h+12>>2]|0:k&255)|0)){h=l;break a}i=j?c[i>>2]|0:i;if((a[i>>0]|0)!=(c[n>>2]&255)<<24>>24){h=l;break a}j=m;k=n;while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((a[k>>0]|0)!=(a[i>>0]|0)){h=l;break a}}i=c[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);c[p>>2]=c[h>>2];c[h>>2]=c[c[(c[b>>2]|0)+(g<<2)>>2]>>2];c[c[(c[b>>2]|0)+(g<<2)>>2]>>2]=f;g=p}while(0);f=c[g>>2]|0;if(!f)break;else p=g}return}function Cg(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;b=Eg(b,d)|0;if(!b){l=0;return l|0}b=c[b>>2]|0;if(!b){l=1;return l|0}l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;j=(l|0)==0;i=b;b=1;a:while(1){g=i;d=g+8|0;f=a[d+11>>0]|0;h=f<<24>>24<0;f=f&255;if(((h?c[g+12>>2]|0:f)|0)!=(l|0)){d=14;break}e=c[d>>2]|0;g=h?e:d;e=e&255;b:do if(h){if(!j?zz(g,k,l)|0:0){d=14;break a}}else if(!j){if((a[k>>0]|0)!=e<<24>>24){d=14;break a}e=k;while(1){f=f+-1|0;d=d+1|0;if(!f)break b;e=e+1|0;if((a[d>>0]|0)!=(a[e>>0]|0)){d=14;break a}}}while(0);i=c[i>>2]|0;b=b+1|0;if(!i){d=14;break}}if((d|0)==14)return b|0;return 0}function Dg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=a[d+11>>0]|0;e=f<<24>>24<0;f=e?c[d+4>>2]|0:f&255;e=e?c[d>>2]|0:d;d=f+1|0;if(d>>>0>4294967279)JA();if(d>>>0<11){a[b+11>>0]=f;if(!f){e=b;f=e+f|0;a[f>>0]=0;bB(b,329235,1)|0;return}else d=b}else{g=f+17&-16;d=FA(g)|0;c[b>>2]=d;c[b+8>>2]=g|-2147483648;c[b+4>>2]=f}_B(d|0,e|0,f|0)|0;g=d;g=g+f|0;a[g>>0]=0;bB(b,329235,1)|0;return}function Eg(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;s=a[e+11>>0]|0;r=s<<24>>24<0;t=r?c[e>>2]|0:e;s=r?c[e+4>>2]|0:s&255;if(s>>>0>3){e=t;h=s;f=s;while(1){r=v(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24,1540483477)|0;h=(v(r>>>24^r,1540483477)|0)^(v(h,1540483477)|0);f=f+-4|0;if(f>>>0<=3)break;else e=e+4|0}r=s+-4|0;f=r&-4;g=t+(f+4)|0;e=h;f=r-f|0}else{g=t;e=s;f=s}switch(f|0){case 3:{i=d[g+2>>0]<<16^e;l=7;break}case 2:{i=e;l=7;break}case 1:{j=e;l=8;break}default:k=e}if((l|0)==7){j=d[g+1>>0]<<8^i;l=8}if((l|0)==8)k=v(j^d[g>>0],1540483477)|0;r=v(k>>>13^k,1540483477)|0;r=r>>>15^r;p=c[b+4>>2]|0;if(!p){t=0;return t|0}i=p+-1|0;f=(i&p|0)==0;if(!f)if(r>>>0<p>>>0)q=r;else q=(r>>>0)%(p>>>0)|0;else q=r&i;e=c[(c[b>>2]|0)+(q<<2)>>2]|0;if(!e){t=0;return t|0}j=c[e>>2]|0;if(!j){t=0;return t|0}k=(s|0)==0;if(f){e=j;a:while(1){l=c[e+4>>2]|0;f=(r|0)==(l|0);if(!(f|(l&i|0)==(q|0))){e=0;l=45;break}do if(f?(m=e+8|0,n=a[m+11>>0]|0,o=n<<24>>24<0,n=n&255,((o?c[e+12>>2]|0:n)|0)==(s|0)):0){f=c[m>>2]|0;g=o?f:m;f=f&255;if(o){if(k){l=45;break a}if(!(zz(g,t,s)|0)){l=45;break a}else break}if(k){l=45;break a}if((a[t>>0]|0)==f<<24>>24){f=n;g=m;h=t;do{f=f+-1|0;g=g+1|0;if(!f){l=45;break a}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);e=c[e>>2]|0;if(!e){e=0;l=45;break}}if((l|0)==45)return e|0}b:while(1){e=c[j+4>>2]|0;do if((r|0)==(e|0)){e=j+8|0;g=a[e+11>>0]|0;i=g<<24>>24<0;g=g&255;if(((i?c[j+12>>2]|0:g)|0)==(s|0)){f=c[e>>2]|0;h=i?f:e;f=f&255;if(i){if(k){e=j;l=45;break b}if(!(zz(h,t,s)|0)){e=j;l=45;break b}else break}if(k){e=j;l=45;break b}if((a[t>>0]|0)==f<<24>>24){f=t;do{g=g+-1|0;e=e+1|0;if(!g){e=j;l=45;break b}f=f+1|0}while((a[e>>0]|0)==(a[f>>0]|0))}}}else{if(e>>>0>=p>>>0)e=(e>>>0)%(p>>>0)|0;if((e|0)!=(q|0)){e=0;l=45;break b}}while(0);j=c[j>>2]|0;if(!j){e=0;l=45;break}}if((l|0)==45)return e|0;return 0}function Fg(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;j=aa;aa=aa+192|0;k=j+144|0;e=j+128|0;f=j;g=j+184|0;h=j+180|0;i=j+160|0;c[k>>2]=d;c[e>>2]=c[k>>2];c[g>>2]=f;d=(Bz(f,128,b,k)|0)+1|0;if(d>>>0>128){f=aa;aa=aa+((1*d|0)+15&-16)|0;c[g>>2]=f;Bz(f,d,b,e)|0}d=c[a+8>>2]|0;c[h>>2]=1;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=-1;b=d+4|0;e=c[b>>2]|0;if(e>>>0<(c[d+8>>2]|0)>>>0){k=Az(f)|0;c[e>>2]=1;h=e+4|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[h+16>>2]=c[i+16>>2];tn(e+24|0,f,k);c[b>>2]=(c[b>>2]|0)+36;aa=j;return}else{Gg(d,h,i,g);aa=j;return}}function Gg(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;o=aa;aa=aa+32|0;i=o;m=b+4|0;g=c[b>>2]|0;k=((c[m>>2]|0)-g|0)/36|0;h=k+1|0;if(h>>>0>119304647)oB();n=b+8|0;l=((c[n>>2]|0)-g|0)/36|0;g=l<<1;g=l>>>0<59652323?(g>>>0<h>>>0?h:g):119304647;do if(g)if(g>>>0>119304647)U();else{j=FA(g*36|0)|0;break}else j=0;while(0);h=j+(k*36|0)|0;l=j+(g*36|0)|0;g=c[d>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];d=c[f>>2]|0;f=Az(d)|0;c[h>>2]=g;g=j+(k*36|0)+4|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];tn(j+(k*36|0)+24|0,d,f);f=h+36|0;d=c[b>>2]|0;g=c[m>>2]|0;if((g|0)==(d|0)){e=d;g=d}else{do{j=h;h=h+-36|0;k=g;g=g+-36|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];j=j+-12|0;k=k+-12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}while((g|0)!=(d|0));e=c[b>>2]|0;g=c[m>>2]|0}c[b>>2]=h;c[m>>2]=f;c[n>>2]=l;d=e;if((g|0)!=(d|0))do{h=g+-12|0;g=g+-36|0;if((a[h+11>>0]|0)<0)HA(c[h>>2]|0)}while((g|0)!=(d|0));if(!e){aa=o;return}HA(e);aa=o;return}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;i=FA(44)|0;c[b>>2]=i;c[b+4>>2]=e+8;e=i+8|0;LA(e,f);h=i+20|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];a[b+8>>0]=1;h=a[i+19>>0]|0;b=h<<24>>24<0;e=b?c[e>>2]|0:e;h=b?c[i+12>>2]|0:h&255;if(h>>>0>3){g=e;f=h;b=h;while(1){k=v(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,1540483477)|0;f=(v(k>>>24^k,1540483477)|0)^(v(f,1540483477)|0);b=b+-4|0;if(b>>>0<=3)break;else g=g+4|0}k=h+-4|0;g=k&-4;e=e+(g+4)|0;g=k-g|0}else{f=h;g=h}switch(g|0){case 3:{f=(d[e+2>>0]|0)<<16^f;j=7;break}case 2:{j=7;break}case 1:break;default:{j=f;k=j>>>13;j=k^j;j=v(j,1540483477)|0;k=j>>>15;j=k^j;k=i+4|0;c[k>>2]=j;c[i>>2]=0;return}}if((j|0)==7)f=(d[e+1>>0]|0)<<8^f;j=v(f^(d[e>>0]|0),1540483477)|0;k=j>>>13;j=k^j;j=v(j,1540483477)|0;k=j>>>15;j=k^j;k=i+4|0;c[k>>2]=j;c[i>>2]=0;return}function Ig(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287400;f=b+36|0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}e=b+88|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+92>>2]=0;c[e>>2]=0;c[b+96>>2]=0;Cl(b+48|0);if((a[f+11>>0]|0)>=0)return;HA(c[f>>2]|0);return}function Jg(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287400;f=b+36|0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}e=b+88|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+92>>2]=0;c[e>>2]=0;c[b+96>>2]=0;Cl(b+48|0);if((a[f+11>>0]|0)>=0){HA(b);return}HA(c[f>>2]|0);HA(b);return}function Kg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;g=k;i=a+4|0;b=c[a>>2]|0;e=((c[i>>2]|0)-b|0)/36|0;d=e+1|0;if(d>>>0>119304647)oB();j=a+8|0;h=((c[j>>2]|0)-b|0)/36|0;b=h<<1;b=h>>>0<59652323?(b>>>0<d>>>0?d:b):119304647;do if(b)if(b>>>0>119304647)U();else{f=FA(b*36|0)|0;break}else f=0;while(0);d=f+(e*36|0)|0;h=f+(b*36|0)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;vl(d,-1,g);g=d+36|0;f=c[a>>2]|0;b=c[i>>2]|0;if((b|0)==(f|0)){e=f;b=f}else{do{d=d+-36|0;b=b+-36|0;yl(d,b)}while((b|0)!=(f|0));e=c[a>>2]|0;b=c[i>>2]|0}c[a>>2]=d;c[i>>2]=g;c[j>>2]=h;d=e;if((b|0)!=(d|0))do{b=b+-36|0;Cl(b)}while((b|0)!=(d|0));if(!e){aa=k;return}HA(e);aa=k;return}function Lg(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=a+8|0;e=c[a>>2]|0;g=e;if((((c[k>>2]|0)-e|0)/36|0)>>>0>=b>>>0)return;j=a+4|0;if(b>>>0>119304647)U();d=c[j>>2]|0;h=FA(b*36|0)|0;f=h+(((d-e|0)/36|0)*36|0)|0;i=f;h=h+(b*36|0)|0;e=d;if((e|0)!=(g|0)){d=e;do{f=f+-36|0;d=d+-36|0;yl(f,d)}while((d|0)!=(g|0));d=c[a>>2]|0;e=c[j>>2]|0;b=d;c[a>>2]=f;c[j>>2]=i;c[k>>2]=h;if((e|0)!=(b|0))do{e=e+-36|0;Cl(e)}while((e|0)!=(b|0))}else{c[a>>2]=i;c[j>>2]=i;c[k>>2]=h}if(!d)return;HA(d);return}function Mg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=287416;h=b+36|0;e=b+100|0;f=c[e>>2]|0;if(f|0){g=b+104|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-36|0;Cl(d)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;HA(d)}e=b+88|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+92>>2]=0;c[e>>2]=0;c[b+96>>2]=0;Cl(b+48|0);if((a[h+11>>0]|0)>=0)return;HA(c[h>>2]|0);return}function Ng(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=287416;h=b+36|0;e=b+100|0;f=c[e>>2]|0;if(f|0){g=b+104|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-36|0;Cl(d)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;HA(d)}e=b+88|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+92>>2]=0;c[e>>2]=0;c[b+96>>2]=0;Cl(b+48|0);if((a[h+11>>0]|0)>=0){HA(b);return}HA(c[h>>2]|0);HA(b);return}function Og(a){a=a|0;HA(a);return}function Pg(a){a=a|0;HA(a);return}function Qg(a){a=a|0;HA(a);return}function Rg(a){a=a|0;HA(a);return}function Sg(a){a=a|0;HA(a);return}function Tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+64|0;f=i+20|0;g=i;if((e|0)>-1){a[d>>0]=1;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;vl(f,e,g);xl(d+4|0,f)|0;Cl(f);f=c[(c[(c[b+12>>2]|0)+124>>2]|0)+(e<<2)>>2]|0;g=f+12|0;e=d+40|0;if((e|0)==(g|0)){aa=i;return}ug(e,c[g>>2]|0,c[f+16>>2]|0);ug(d+52|0,c[f+24>>2]|0,c[f+28>>2]|0);aa=i;return}a[d>>0]=0;c[d+44>>2]=c[d+40>>2];if((e|0)==-64){e=0;b=0}else{b=FA(4)|0;c[b>>2]=e;e=b;b=b+4|0}h=d+52|0;f=c[h>>2]|0;if(!f){g=d+56|0;f=d+60|0}else{g=d+56|0;c[g>>2]=f;HA(f);f=d+60|0;c[f>>2]=0;c[g>>2]=0;c[h>>2]=0}c[h>>2]=e;c[g>>2]=b;c[f>>2]=b;aa=i;return}function Ug(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;l=a+24|0;f=c[l>>2]|0;m=a+28|0;g=c[m>>2]|0;if(f>>>0<g>>>0){c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e;c[l>>2]=f+12;return}k=a+20|0;j=c[k>>2]|0;i=f-j|0;h=(i|0)/12|0;a=h+1|0;if(a>>>0>357913941)oB();f=(g-j|0)/12|0;g=f<<1;g=f>>>0<178956970?(g>>>0<a>>>0?a:g):357913941;do if(g)if(g>>>0>357913941)U();else{n=FA(g*12|0)|0;break}else n=0;while(0);f=n+(h*12|0)|0;c[f>>2]=b;c[n+(h*12|0)+4>>2]=d;c[n+(h*12|0)+8>>2]=e;a=f+(((i|0)/-12|0)*12|0)|0;if((i|0)>0)_B(a|0,j|0,i|0)|0;c[k>>2]=a;c[l>>2]=f+12;c[m>>2]=n+(g*12|0);if(!j)return;HA(j);return}function Vg(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287512;e=b+144|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+148>>2]=0;c[e>>2]=0;c[b+152>>2]=0;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[f+11>>0]|0)>=0)return;HA(c[f>>2]|0);return}function Wg(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287512;e=b+144|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+148>>2]=0;c[e>>2]=0;c[b+152>>2]=0;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[f+11>>0]|0)>=0){HA(b);return}HA(c[f>>2]|0);HA(b);return}function Xg(a){a=a|0;c[a>>2]=287528;Cl(a+36|0);return}function Yg(a){a=a|0;c[a>>2]=287528;Cl(a+36|0);HA(a);return}function Zg(a){a=a|0;HA(a);return}function _g(a){a=a|0;HA(a);return}function $g(a){a=a|0;var b=0;c[a>>2]=287576;Cl(a+100|0);b=c[a+88>>2]|0;if(b|0){c[a+92>>2]=b;HA(b)}b=c[a+76>>2]|0;if(!b){a=a+40|0;Cl(a);return}c[a+80>>2]=b;HA(b);a=a+40|0;Cl(a);return}function ah(a){a=a|0;var b=0;c[a>>2]=287576;Cl(a+100|0);b=c[a+88>>2]|0;if(b|0){c[a+92>>2]=b;HA(b)}b=c[a+76>>2]|0;if(!b){b=a+40|0;Cl(b);HA(a);return}c[a+80>>2]=b;HA(b);b=a+40|0;Cl(b);HA(a);return}function bh(a){a=a|0;c[a>>2]=287592;Cl(a+36|0);return}function ch(a){a=a|0;c[a>>2]=287592;Cl(a+36|0);HA(a);return}function dh(a){a=a|0;HA(a);return}function eh(a){a=a|0;HA(a);return}function fh(a){a=a|0;HA(a);return}function gh(a){a=a|0;HA(a);return}function hh(a){a=a|0;HA(a);return}function ih(a){a=a|0;c[a>>2]=287688;Cl(a+36|0);return}function jh(a){a=a|0;c[a>>2]=287688;Cl(a+36|0);HA(a);return}function kh(a){a=a|0;c[a>>2]=287704;Cl(a+36|0);return}function lh(a){a=a|0;c[a>>2]=287704;Cl(a+36|0);HA(a);return}function mh(a){a=a|0;c[a>>2]=287720;Cl(a+36|0);return}function nh(a){a=a|0;c[a>>2]=287720;Cl(a+36|0);HA(a);return}function oh(a){a=a|0;c[a>>2]=287736;Cl(a+36|0);return}function ph(a){a=a|0;c[a>>2]=287736;Cl(a+36|0);HA(a);return}function qh(a){a=a|0;c[a>>2]=287752;Cl(a+36|0);return}function rh(a){a=a|0;c[a>>2]=287752;Cl(a+36|0);HA(a);return}function sh(a){a=a|0;c[a>>2]=287768;Cl(a+36|0);return}function th(a){a=a|0;c[a>>2]=287768;Cl(a+36|0);HA(a);return}function uh(a){a=a|0;HA(a);return}function vh(a){a=a|0;HA(a);return}function wh(a){a=a|0;c[a>>2]=287816;Cl(a+36|0);return}function xh(a){a=a|0;c[a>>2]=287816;Cl(a+36|0);HA(a);return}function yh(a){a=a|0;HA(a);return}function zh(a){a=a|0;HA(a);return}function Ah(a){a=a|0;c[a>>2]=287864;Cl(a+36|0);return}function Bh(a){a=a|0;c[a>>2]=287864;Cl(a+36|0);HA(a);return}function Ch(a){a=a|0;HA(a);return}function Dh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287896;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[f+11>>0]|0)>=0)return;HA(c[f>>2]|0);return}function Eh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287896;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[f+11>>0]|0)>=0){HA(b);return}HA(c[f>>2]|0);HA(b);return}function Fh(a){a=a|0;c[a>>2]=287912;Cl(a+36|0);return}function Gh(a){a=a|0;c[a>>2]=287912;Cl(a+36|0);HA(a);return}function Hh(a){a=a|0;c[a>>2]=287928;Cl(a+36|0);return}function Ih(a){a=a|0;c[a>>2]=287928;Cl(a+36|0);HA(a);return}function Jh(a){a=a|0;c[a>>2]=287944;Cl(a+36|0);return}function Kh(a){a=a|0;c[a>>2]=287944;Cl(a+36|0);HA(a);return}function Lh(a){a=a|0;HA(a);return}function Mh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287976;e=b+144|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+148>>2]=0;c[e>>2]=0;c[b+152>>2]=0;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[f+11>>0]|0)>=0)return;HA(c[f>>2]|0);return}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287976;e=b+144|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+148>>2]=0;c[e>>2]=0;c[b+152>>2]=0;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[f+11>>0]|0)>=0){HA(b);return}HA(c[f>>2]|0);HA(b);return}function Oh(a){a=a|0;c[a>>2]=287992;Cl(a+36|0);return}function Ph(a){a=a|0;c[a>>2]=287992;Cl(a+36|0);HA(a);return}function Qh(a){a=a|0;HA(a);return}function Rh(a){a=a|0;HA(a);return}function Sh(a){a=a|0;HA(a);return}function Th(a){a=a|0;var b=0;c[a>>2]=288056;Cl(a+100|0);b=c[a+88>>2]|0;if(b|0){c[a+92>>2]=b;HA(b)}b=c[a+76>>2]|0;if(!b){a=a+40|0;Cl(a);return}c[a+80>>2]=b;HA(b);a=a+40|0;Cl(a);return}function Uh(a){a=a|0;var b=0;c[a>>2]=288056;Cl(a+100|0);b=c[a+88>>2]|0;if(b|0){c[a+92>>2]=b;HA(b)}b=c[a+76>>2]|0;if(!b){b=a+40|0;Cl(b);HA(a);return}c[a+80>>2]=b;HA(b);b=a+40|0;Cl(b);HA(a);return}function Vh(a){a=a|0;c[a>>2]=288072;Cl(a+36|0);return}function Wh(a){a=a|0;c[a>>2]=288072;Cl(a+36|0);HA(a);return}function Xh(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=aa;aa=aa+32|0;h=l;j=a+8|0;e=c[j>>2]|0;k=a+4|0;d=c[k>>2]|0;if(((e-d|0)/36|0)>>>0>=b>>>0){do{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;vl(d,-1,h);d=(c[k>>2]|0)+36|0;c[k>>2]=d;b=b+-1|0}while((b|0)!=0);aa=l;return}f=c[a>>2]|0;d=(d-f|0)/36|0;g=d+b|0;if(g>>>0>119304647)oB();e=(e-f|0)/36|0;f=e<<1;f=e>>>0<59652323?(f>>>0<g>>>0?g:f):119304647;do if(f)if(f>>>0>119304647)U();else{i=FA(f*36|0)|0;break}else i=0;while(0);d=i+(d*36|0)|0;e=d;while(1){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;vl(e,-1,h);b=b+-1|0;if(!b)break;else e=e+36|0}h=i+(f*36|0)|0;g=i+(g*36|0)|0;f=c[a>>2]|0;b=c[k>>2]|0;if((b|0)==(f|0)){e=f;b=f}else{do{d=d+-36|0;b=b+-36|0;yl(d,b)}while((b|0)!=(f|0));e=c[a>>2]|0;b=c[k>>2]|0}c[a>>2]=d;c[k>>2]=g;c[j>>2]=h;d=e;if((b|0)!=(d|0))do{b=b+-36|0;Cl(b)}while((b|0)!=(d|0));if(!e){aa=l;return}HA(e);aa=l;return}function Yh(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=288088;Cl(a+48|0);b=a+36|0;e=c[b>>2]|0;if(!e)return;d=a+40|0;a=c[d>>2]|0;if((a|0)==(e|0))a=e;else{do{a=a+-36|0;Cl(a)}while((a|0)!=(e|0));a=c[b>>2]|0}c[d>>2]=e;HA(a);return}function Zh(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=288088;Cl(a+48|0);d=a+36|0;e=c[d>>2]|0;if(!e){HA(a);return}f=a+40|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-36|0;Cl(b)}while((b|0)!=(e|0));b=c[d>>2]|0}c[f>>2]=e;HA(b);HA(a);return}function _h(a){a=a|0;c[a>>2]=288104;Cl(a+72|0);Cl(a+36|0);return}function $h(a){a=a|0;c[a>>2]=288104;Cl(a+72|0);Cl(a+36|0);HA(a);return}function ai(a){a=a|0;c[a>>2]=288120;Cl(a+36|0);return}function bi(a){a=a|0;c[a>>2]=288120;Cl(a+36|0);HA(a);return}function ci(a){a=a|0;c[a>>2]=288136;Cl(a+36|0);return}function di(a){a=a|0;c[a>>2]=288136;Cl(a+36|0);HA(a);return}function ei(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288152;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[f+11>>0]|0)>=0)return;HA(c[f>>2]|0);return}function fi(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288152;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;HA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;HA(d)}Cl(b+52|0);if((a[f+11>>0]|0)>=0){HA(b);return}HA(c[f>>2]|0);HA(b);return}function gi(a){a=a|0;HA(a);return}function hi(a){a=a|0;HA(a);return}function ii(a){a=a|0;HA(a);return}function ji(a){a=a|0;HA(a);return}function ki(a){a=a|0;HA(a);return}function li(a){a=a|0;HA(a);return}function mi(a){a=a|0;HA(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,m=0,n=0;i=a+4|0;g=c[a>>2]|0;m=(c[i>>2]|0)-g|0;l=m>>3;e=l+1|0;if(e>>>0>536870911)oB();j=a+8|0;n=(c[j>>2]|0)-g|0;f=n>>2;f=n>>3>>>0<268435455?(f>>>0<e>>>0?e:f):536870911;do if(f)if(f>>>0>536870911)U();else{k=FA(f<<3)|0;h=k;break}else{h=0;k=0}while(0);e=k+(l<<3)|0;c[e>>2]=c[b>>2];c[k+(l<<3)+4>>2]=c[d>>2];if((m|0)>0)_B(h|0,g|0,m|0)|0;c[a>>2]=k;c[i>>2]=e+8;c[j>>2]=k+(f<<3);if(!g)return;HA(g);return}function oi(a){a=a|0;c[a>>2]=288280;Cl(a+36|0);return}function pi(a){a=a|0;c[a>>2]=288280;Cl(a+36|0);HA(a);return}function qi(b){b=b|0;var d=0;c[b>>2]=288296;d=b+36|0;Cl(b+52|0);if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function ri(b){b=b|0;var d=0;c[b>>2]=288296;d=b+36|0;Cl(b+52|0);if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function si(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288312;f=b+36|0;e=b+56|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+60>>2]=0;c[e>>2]=0;c[b+64>>2]=0;if((a[f+11>>0]|0)>=0)return;HA(c[f>>2]|0);return}function ti(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288312;f=b+36|0;e=b+56|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+60>>2]=0;c[e>>2]=0;c[b+64>>2]=0;if((a[f+11>>0]|0)>=0){HA(b);return}HA(c[f>>2]|0);HA(b);return}function ui(b){b=b|0;c[b>>2]=288328;b=b+40|0;if((a[b+11>>0]|0)>=0)return;HA(c[b>>2]|0);return}function vi(b){b=b|0;var d=0;c[b>>2]=288328;d=b+40|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function wi(b){b=b|0;c[b>>2]=288344;b=b+40|0;if((a[b+11>>0]|0)>=0)return;HA(c[b>>2]|0);return}function xi(b){b=b|0;var d=0;c[b>>2]=288344;d=b+40|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function yi(a){a=a|0;c[a>>2]=288360;Ai(a+36|0);return}function zi(a){a=a|0;c[a>>2]=288360;Ai(a+36|0);HA(a);return}function Ai(b){b=b|0;var d=0,e=0,f=0;e=b+108|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+112>>2]=0;c[e>>2]=0;c[b+116>>2]=0;d=c[b+96>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);HA(e)}while((d|0)!=0);f=b+88|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)HA(d);d=c[b+76>>2]|0;if(d|0){c[b+80>>2]=d;HA(d)}d=c[b+64>>2]|0;if(d|0){c[b+68>>2]=d;HA(d)}d=c[b+52>>2]|0;if(d|0){c[b+56>>2]=d;HA(d)}Cl(b+16|0);if((a[b+11>>0]|0)>=0)return;HA(c[b>>2]|0);return}function Bi(a){a=a|0;var b=0;c[a>>2]=288392;b=a+36|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;ma[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ci(a){a=a|0;var b=0,d=0;c[a>>2]=288392;d=a+36|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){HA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);HA(a);return}function Di(b){b=b|0;var d=0,e=0;c[b>>2]=288376;e=b+32|0;d=c[b+96>>2]|0;if(d|0){c[b+100>>2]=d;HA(d)}d=c[b+84>>2]|0;if(d|0){c[b+88>>2]=d;HA(d)}Cl(b+48|0);if((a[e+11>>0]|0)<0)HA(c[e>>2]|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function Ei(b){b=b|0;var d=0,e=0;c[b>>2]=288376;e=b+32|0;d=c[b+96>>2]|0;if(d|0){c[b+100>>2]=d;HA(d)}d=c[b+84>>2]|0;if(d|0){c[b+88>>2]=d;HA(d)}Cl(b+48|0);if((a[e+11>>0]|0)<0)HA(c[e>>2]|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function Fi(b){b=b|0;var d=0;c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function Gi(b){b=b|0;var d=0;c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function Hi(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288424;f=b+32|0;e=b+52|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+56>>2]=0;c[e>>2]=0;c[b+60>>2]=0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function Ii(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288424;f=b+32|0;e=b+52|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+56>>2]=0;c[e>>2]=0;c[b+60>>2]=0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function Ji(b){b=b|0;var d=0;c[b>>2]=288440;d=b+32|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function Ki(b){b=b|0;var d=0;c[b>>2]=288440;d=b+32|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function Li(b){b=b|0;var d=0;c[b>>2]=288456;d=b+32|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function Mi(b){b=b|0;var d=0;c[b>>2]=288456;d=b+32|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function Ni(b){b=b|0;var d=0;c[b>>2]=288472;Ai(b+32|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;HA(c[d>>2]|0);return}function Oi(b){b=b|0;var d=0;c[b>>2]=288472;Ai(b+32|0);c[b>>2]=288408;d=b+16|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){HA(b);return}HA(c[d>>2]|0);HA(b);return}function Pi(b){b=b|0;var d=0,e=0;c[b>>2]=288488;e=b+36|0;d=c[b+60>>2]|0;if(d|0){c[b+64>>2]=d;HA(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;HA(d)}if((a[e+11>>0]|0)>=0)return;HA(c[e>>2]|0);return}function Qi(b){b=b|0;var d=0,e=0;c[b>>2]=288488;e=b+36|0;d=c[b+60>>2]|0;if(d|0){c[b+64>>2]=d;HA(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;HA(d)}if((a[e+11>>0]|0)>=0){HA(b);return}HA(c[e>>2]|0);HA(b);return}function Ri(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;j=b+4|0;e=c[b>>2]|0;h=((c[j>>2]|0)-e|0)/36|0;f=h+1|0;if(f>>>0>119304647)oB();k=b+8|0;i=((c[k>>2]|0)-e|0)/36|0;e=i<<1;e=i>>>0<59652323?(e>>>0<f>>>0?f:e):119304647;do if(e)if(e>>>0>119304647)U();else{g=FA(e*36|0)|0;break}else g=0;while(0);f=g+(h*36|0)|0;i=g+(e*36|0)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];LA(g+(h*36|0)+24|0,d+24|0);h=f+36|0;d=c[b>>2]|0;e=c[j>>2]|0;if((e|0)==(d|0)){g=d;e=d}else{do{l=f;f=f+-36|0;g=e;e=e+-36|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];c[f+20>>2]=c[e+20>>2];l=l+-12|0;g=g+-12|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0}while((e|0)!=(d|0));g=c[b>>2]|0;e=c[j>>2]|0}c[b>>2]=f;c[j>>2]=h;c[k>>2]=i;d=g;if((e|0)!=(d|0))do{f=e+-12|0;e=e+-36|0;if((a[f+11>>0]|0)<0)HA(c[f>>2]|0)}while((e|0)!=(d|0));if(!g)return;HA(g);return}function Si(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;Zl(e,d);if(!(a[e+24>>0]|0)){Zl(e,d);g=c[e+28>>2]|0;Zl(e,d);d=c[e>>2]|0;a[e>>0]=g;nn(b,e,1,d,0);aa=f;return}else{Zl(e,d);a[e>>0]=a[e+24>>0]|0;nn(b,e,1,296772,0);Zl(e,d);g=c[e+28>>2]|0;Zl(e,d);Kl(b,g,c[e>>2]|0);aa=f;return}}function Ti(a,b){a=a|0;b=b|0;var c=0;do switch(b|0){case -1:{c=328637;break}case -2:{c=328633;break}case -3:{c=328629;break}case -4:{c=328625;break}case -5:{c=328620;break}case -16:{c=328612;break}case -32:{c=328607;break}case -24:{c=328596;break}case -64:{c=328591;break}case 0:{c=328587;break}case -17:{c=328580;break}default:c=328567}while(0);Ol(a,b,c);return}function Ui(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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=aa;aa=aa+448|0;ca=fa+336|0;Y=fa+328|0;W=fa+320|0;U=fa+312|0;T=fa+304|0;R=fa+296|0;N=fa+288|0;F=fa+280|0;A=fa+272|0;x=fa+264|0;u=fa+256|0;r=fa+248|0;o=fa+240|0;ba=fa+112|0;Z=fa+436|0;X=fa;ea=fa+344|0;c[ea>>2]=b;$=ea+4|0;c[$>>2]=f;_=ea+8|0;c[_>>2]=e;da=ea+12|0;c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=0;c[da+12>>2]=0;c[ea+28>>2]=1065353216;da=ea+32|0;f=ea+72|0;e=da;j=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(j|0));c[f>>2]=-1;f=ea+76|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[ba>>2]=1836278016;nn(b,ba,4,296821,0);f=c[ea>>2]|0;c[ba>>2]=1;nn(f,ba,4,296839,0);f=c[_>>2]|0;if((c[f+128>>2]|0)!=(c[f+124>>2]|0)){Vi(ea,1);f=c[_>>2]|0;Kl(c[ea>>2]|0,(c[f+128>>2]|0)-(c[f+124>>2]|0)>>2,296859);f=c[_>>2]|0;if((c[f+128>>2]|0)!=(c[f+124>>2]|0)){n=0;do{j=c[(c[f+124>>2]|0)+(n<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[o>>2]=328089;c[o+4>>2]=n;mn(e,296888,o);f=c[ea>>2]|0}Ol(f,-32,328607);b=j+12|0;e=(c[j+16>>2]|0)-(c[b>>2]|0)|0;k=e>>2;m=j+24|0;j=(c[j+28>>2]|0)-(c[m>>2]|0)|0;l=j>>2;Kl(c[ea>>2]|0,k,296897);f=c[ea>>2]|0;if(e){e=0;do{Ti(f,c[(c[b>>2]|0)+(e<<2)>>2]|0);e=e+1|0;f=c[ea>>2]|0}while(e>>>0<k>>>0)}Kl(f,l,296908);if(j|0){f=0;do{Ti(c[ea>>2]|0,c[(c[m>>2]|0)+(f<<2)>>2]|0);f=f+1|0}while(f>>>0<l>>>0)}n=n+1|0;f=c[_>>2]|0}while(n>>>0<(c[f+128>>2]|0)-(c[f+124>>2]|0)>>2>>>0)}k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(p=c[f+8>>2]|0,q=c[f+12>>2]|0,(p|0)!=(q|0)):0){f=p;do{p=f+4|0;c[p>>2]=(c[p>>2]|0)+l;f=f+16|0}while((f|0)!=(q|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}if((c[f+104>>2]|0)!=(c[f+100>>2]|0)){Vi(ea,2);f=c[_>>2]|0;Kl(c[ea>>2]|0,(c[f+104>>2]|0)-(c[f+100>>2]|0)>>2,296920);f=c[_>>2]|0;a:do if((c[f+104>>2]|0)!=(c[f+100>>2]|0)){b=0;while(1){j=c[(c[f+100>>2]|0)+(b<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[r>>2]=296932;c[r+4>>2]=b;mn(e,296888,r);f=c[ea>>2]|0}q=j+4|0;o=a[q+11>>0]|0;p=o<<24>>24<0;q=p?c[q>>2]|0:q;o=p?c[j+8>>2]|0:o&255;Kl(f,o,321997);nn(f,q,o,313884,1);o=c[ea>>2]|0;q=j+16|0;p=a[q+11>>0]|0;n=p<<24>>24<0;q=n?c[q>>2]|0:q;p=n?c[j+20>>2]|0:p&255;Kl(o,p,321997);nn(o,q,p,313903,1);p=c[ea>>2]|0;q=j+28|0;a[ba>>0]=c[q>>2];nn(p,ba,1,313921,0);switch(c[q>>2]|0){case 0:{Kl(c[ea>>2]|0,Uk(c[_>>2]|0,j+44|0)|0,313941);break}case 1:{Ti(c[ea>>2]|0,c[j+72>>2]|0);f=c[ea>>2]|0;q=j+64|0;Kl(f,((a[j+32+33>>0]|0)==0?0:2)|d[q>>0],296779);Kl(f,c[j+48>>2]|0,296793);if(a[q>>0]|0)Kl(f,c[j+56>>2]|0,296809);break}case 2:{f=c[ea>>2]|0;q=j+64|0;Kl(f,((a[j+32+33>>0]|0)==0?0:2)|d[q>>0],296779);Kl(f,c[j+48>>2]|0,296793);if(a[q>>0]|0)Kl(f,c[j+56>>2]|0,296809);break}case 3:{Ti(c[ea>>2]|0,c[j+44>>2]|0);q=c[ea>>2]|0;a[ba>>0]=a[j+48>>0]|0;nn(q,ba,1,321566,0);break}case 4:{Kl(c[ea>>2]|0,0,321465);Kl(c[ea>>2]|0,Uk(c[_>>2]|0,j+44|0)|0,321507);break}default:{}}b=b+1|0;f=c[_>>2]|0;if(b>>>0>=(c[f+104>>2]|0)-(c[f+100>>2]|0)>>2>>>0)break a}}while(0);k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(s=c[f+8>>2]|0,t=c[f+12>>2]|0,(s|0)!=(t|0)):0){f=s;do{s=f+4|0;c[s>>2]=(c[s>>2]|0)+l;f=f+16|0}while((f|0)!=(t|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}o=((c[f+80>>2]|0)-(c[f+76>>2]|0)>>2)-(c[f+48>>2]|0)|0;n=(o|0)!=0;if(n){Vi(ea,3);Kl(c[ea>>2]|0,o,296946);f=0;do{t=c[_>>2]|0;t=c[(c[t+76>>2]|0)+((c[t+48>>2]|0)+f<<2)>>2]|0;c[u>>2]=f;yz(ba,100,296960,u)|0;s=c[ea>>2]|0;Kl(s,Uk(c[_>>2]|0,t+12|0)|0,ba);f=f+1|0}while((f|0)!=(o|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(v=c[f+8>>2]|0,w=c[f+12>>2]|0,(v|0)!=(w|0)):0){f=v;do{v=f+4|0;c[v>>2]=(c[v>>2]|0)+l;f=f+16|0}while((f|0)!=(w|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}k=((c[f+140>>2]|0)-(c[f+136>>2]|0)>>2)-(c[f+52>>2]|0)|0;if(k){Vi(ea,4);Kl(c[ea>>2]|0,k,296989);b=0;do{j=c[_>>2]|0;j=c[(c[j+136>>2]|0)+((c[j+52>>2]|0)+b<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[x>>2]=328078;c[x+4>>2]=b;mn(e,296888,x);f=c[ea>>2]|0}Ti(f,c[j+40>>2]|0);f=c[ea>>2]|0;w=j+32|0;Kl(f,((a[j+33>>0]|0)==0?0:2)|d[w>>0],296779);Kl(f,c[j+16>>2]|0,296793);if(a[w>>0]|0)Kl(f,c[j+24>>2]|0,296809);b=b+1|0}while((b|0)!=(k|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(y=c[f+8>>2]|0,z=c[f+12>>2]|0,(y|0)!=(z|0)):0){f=y;do{y=f+4|0;c[y>>2]=(c[y>>2]|0)+l;f=f+16|0}while((f|0)!=(z|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}k=((c[f+164>>2]|0)-(c[f+160>>2]|0)>>2)-(c[f+56>>2]|0)|0;if(k){Vi(ea,5);Kl(c[ea>>2]|0,k,297e3);b=0;do{j=c[_>>2]|0;j=c[(c[j+160>>2]|0)+((c[j+56>>2]|0)+b<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[A>>2]=328002;c[A+4>>2]=b;mn(e,296888,A);f=c[ea>>2]|0}z=j+32|0;Kl(f,((a[j+33>>0]|0)==0?0:2)|d[z>>0],296779);Kl(f,c[j+16>>2]|0,296793);if(a[z>>0]|0)Kl(f,c[j+24>>2]|0,296809);b=b+1|0}while((b|0)!=(k|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(B=c[f+8>>2]|0,C=c[f+12>>2]|0,(B|0)!=(C|0)):0){f=B;do{B=f+4|0;c[B>>2]=(c[B>>2]|0)+l;f=f+16|0}while((f|0)!=(C|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}j=((c[f+92>>2]|0)-(c[f+88>>2]|0)>>2)-(c[f+60>>2]|0)|0;if(j){Vi(ea,6);Kl(c[ea>>2]|0,j,297013);e=0;do{f=c[_>>2]|0;f=c[(c[f+88>>2]|0)+((c[f+60>>2]|0)+e<<2)>>2]|0;Ti(c[ea>>2]|0,c[f+12>>2]|0);C=c[ea>>2]|0;a[ba>>0]=a[f+16>>0]|0;nn(C,ba,1,321566,0);f=c[f+20>>2]|0;if(f|0)do{Wi(ea,0,f);f=c[f+4>>2]|0}while((f|0)!=0);Si(c[ea>>2]|0,11);e=e+1|0}while((e|0)!=(j|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(D=c[f+8>>2]|0,E=c[f+12>>2]|0,(D|0)!=(E|0)):0){f=D;do{D=f+4|0;c[D>>2]=(c[D>>2]|0)+l;f=f+16|0}while((f|0)!=(E|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}b=((c[f+68>>2]|0)-(c[f+64>>2]|0)>>2)-(c[f+44>>2]|0)|0;if(b){Vi(ea,13);Kl(c[ea>>2]|0,b,317050);j=0;do{f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[F>>2]=327948;c[F+4>>2]=j;mn(e,296888,F);f=c[ea>>2]|0}E=c[_>>2]|0;E=c[(c[E+64>>2]|0)+((c[E+44>>2]|0)+j<<2)>>2]|0;Kl(f,0,321465);D=c[ea>>2]|0;Kl(D,Uk(c[_>>2]|0,E+12|0)|0,321507);j=j+1|0}while((j|0)!=(b|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(G=c[f+8>>2]|0,H=c[f+12>>2]|0,(G|0)!=(H|0)):0){f=G;do{G=f+4|0;c[G>>2]=(c[G>>2]|0)+l;f=f+16|0}while((f|0)!=(H|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}if((c[f+116>>2]|0)!=(c[f+112>>2]|0)){Vi(ea,7);j=c[_>>2]|0;Kl(c[ea>>2]|0,(c[j+116>>2]|0)-(c[j+112>>2]|0)>>2,297025);j=c[_>>2]|0;f=c[j+112>>2]|0;j=c[j+116>>2]|0;b:do if((f|0)!=(j|0))while(1){e=c[f>>2]|0;F=c[ea>>2]|0;G=a[e+11>>0]|0;E=G<<24>>24<0;H=E?c[e>>2]|0:e;G=E?c[e+4>>2]|0:G&255;Kl(F,G,321997);nn(F,H,G,297037,1);G=c[ea>>2]|0;H=e+12|0;a[ba>>0]=c[H>>2];nn(G,ba,1,315129,0);switch(c[H>>2]|0){case 0:{H=vk(c[_>>2]|0,e+16|0)|0;Kl(c[ea>>2]|0,H,297049);break}case 1:{H=xk(c[_>>2]|0,e+16|0)|0;Kl(c[ea>>2]|0,H,297067);break}case 2:{H=yk(c[_>>2]|0,e+16|0)|0;Kl(c[ea>>2]|0,H,297086);break}case 3:{H=wk(c[_>>2]|0,e+16|0)|0;Kl(c[ea>>2]|0,H,297106);break}case 4:{H=Ak(c[_>>2]|0,e+16|0)|0;Kl(c[ea>>2]|0,H,297126);break}default:{}}f=f+4|0;if((f|0)==(j|0))break b}while(0);k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(I=c[f+8>>2]|0,J=c[f+12>>2]|0,(I|0)!=(J|0)):0){f=I;do{I=f+4|0;c[I>>2]=(c[I>>2]|0)+l;f=f+16|0}while((f|0)!=(J|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}e=c[f+184>>2]|0;if((c[f+188>>2]|0)!=(e|0)?(K=vk(f,c[e>>2]|0)|0,(K|0)!=-1):0){Vi(ea,8);Kl(c[ea>>2]|0,K,297145);k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(L=c[f+8>>2]|0,M=c[f+12>>2]|0,(L|0)!=(M|0)):0){f=L;do{L=f+4|0;c[L>>2]=(c[L>>2]|0)+l;f=f+16|0}while((f|0)!=(M|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}if((c[f+152>>2]|0)!=(c[f+148>>2]|0)){Vi(ea,9);f=c[_>>2]|0;Kl(c[ea>>2]|0,(c[f+152>>2]|0)-(c[f+148>>2]|0)>>2,297162);f=c[_>>2]|0;if((c[f+152>>2]|0)!=(c[f+148>>2]|0)){b=0;do{j=c[(c[f+148>>2]|0)+(b<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[N>>2]=297180;c[N+4>>2]=b;mn(e,296888,N);f=c[ea>>2]|0}if(!(a[j+48>>0]|0)){a[ba>>0]=0;nn(f,ba,1,0,0);f=c[j+52>>2]|0;if(f|0)do{Wi(ea,0,f);f=c[f+4>>2]|0}while((f|0)!=0);Si(c[ea>>2]|0,11)}else{a[ba>>0]=1;nn(f,ba,1,0,0)}f=j+64|0;e=j+68|0;Kl(c[ea>>2]|0,((c[e>>2]|0)-(c[f>>2]|0)|0)/36|0,297200);f=c[f>>2]|0;e=c[e>>2]|0;if((f|0)!=(e|0))do{Xi(ea,vk(c[_>>2]|0,f)|0,311908,0);f=f+36|0}while((f|0)!=(e|0));b=b+1|0;f=c[_>>2]|0}while(b>>>0<(c[f+152>>2]|0)-(c[f+148>>2]|0)>>2>>>0)}k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(O=c[f+8>>2]|0,P=c[f+12>>2]|0,(O|0)!=(P|0)):0){f=O;do{O=f+4|0;c[O>>2]=(c[O>>2]|0)+l;f=f+16|0}while((f|0)!=(P|0))}}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;P=ea+60|0;c[P>>2]=(c[P>>2]|0)+1}if(a[(c[$>>2]|0)+8>>0]|0){Vi(ea,12);k=c[_>>2]|0;Kl(c[ea>>2]|0,(c[k+176>>2]|0)-(c[k+172>>2]|0)>>2,317189);k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Il(b)|0;l=e-j|0;if(l){on(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Ml(f,k,b,296869);jn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(i=c[f+8>>2]|0,Q=c[f+12>>2]|0,(i|0)!=(Q|0)):0)do{P=i+4|0;c[P>>2]=(c[P>>2]|0)+l;i=i+16|0}while((i|0)!=(Q|0))}else Jl(f,k,e+-5|0,296869);c[m>>2]=0;Q=ea+60|0;c[Q>>2]=(c[Q>>2]|0)+1}if(n){Vi(ea,10);Kl(c[ea>>2]|0,o,296946);l=0;do{i=c[ea>>2]|0;f=c[i+12>>2]|0;if(f){c[R>>2]=297221;c[R+4>>2]=l;mn(f,296888,R);i=c[ea>>2]|0}b=c[_>>2]|0;b=c[(c[b+76>>2]|0)+((c[b+48>>2]|0)+l<<2)>>2]|0;f=a[(c[$>>2]|0)+10>>0]|0;a[ba>>0]=0;a[ba+1>>0]=0;a[ba+2>>0]=0;a[ba+3>>0]=0;a[ba+4>>0]=0;k=c[i+4>>2]|0;nn(i,ba,f<<24>>24==0?5:1,297235,0);i=b+76|0;f=c[i>>2]|0;j=b+80|0;e=c[j>>2]|0;if(Fk(f,e)|0){Kl(c[ea>>2]|0,e-f>>3,297258);i=c[i>>2]|0;f=c[j>>2]|0;if((i|0)!=(f|0))do{Q=c[i>>2]|0;Kl(c[ea>>2]|0,c[i+4>>2]|0,316297);Ti(c[ea>>2]|0,Q);i=i+8|0}while((i|0)!=(f|0))}else Kl(c[ea>>2]|0,0,297258);i=c[b+108>>2]|0;if(i|0)do{Wi(ea,b,i);i=c[i+4>>2]|0}while((i|0)!=0);Si(c[ea>>2]|0,11);f=c[ea>>2]|0;i=(c[f+4>>2]|0)-k|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Jl(f,k,i+-5|0,297275);else{e=i+-1|0;i=Il(e)|0;j=i+-1|0;if(!j)i=f;else{on(f,i+k|0,k+1|0,e);i=c[ea>>2]|0}Ml(i,k,e,297275);jn(c[ea>>2]|0,j)}l=l+1|0}while((l|0)!=(o|0));b=c[ea+64>>2]|0;l=ea+68|0;e=c[l>>2]|0;i=c[ea>>2]|0;f=(c[i+4>>2]|0)-b|0;if(a[(c[$>>2]|0)+10>>0]|0){j=f-e|0;f=Il(j)|0;k=f-e|0;if(k){on(i,f+b|0,e+b|0,j);i=c[ea>>2]|0}Ml(i,b,j,296869);jn(c[ea>>2]|0,k);i=c[ea+56>>2]|0;if((k|0)!=0&(i|0)!=0?(h=c[i+8>>2]|0,S=c[i+12>>2]|0,(h|0)!=(S|0)):0)do{R=h+4|0;c[R>>2]=(c[R>>2]|0)+k;h=h+16|0}while((h|0)!=(S|0))}else Jl(i,b,f+-5|0,296869);c[l>>2]=0;S=ea+60|0;c[S>>2]=(c[S>>2]|0)+1}S=c[_>>2]|0;if((c[S+176>>2]|0)!=(c[S+172>>2]|0)){Vi(ea,11);h=c[_>>2]|0;Kl(c[ea>>2]|0,(c[h+176>>2]|0)-(c[h+172>>2]|0)>>2,297296);h=c[_>>2]|0;c:do if((c[h+176>>2]|0)!=(c[h+172>>2]|0)){k=0;d:while(1){f=c[(c[h+172>>2]|0)+(k<<2)>>2]|0;h=c[ea>>2]|0;i=c[h+12>>2]|0;if(i){c[T>>2]=297314;c[T+4>>2]=k;mn(i,296888,T);h=c[ea>>2]|0}if(!(a[f+48>>0]|0)){a[ba>>0]=0;nn(h,ba,1,0,0);h=c[f+52>>2]|0;if(h|0)do{Wi(ea,0,h);h=c[h+4>>2]|0}while((h|0)!=0);Si(c[ea>>2]|0,11)}else{a[ba>>0]=1;nn(h,ba,1,0,0)}b=f+64|0;j=f+68|0;Kl(c[ea>>2]|0,(c[j>>2]|0)-(c[b>>2]|0)|0,297334);h=c[ea>>2]|0;i=c[h+12>>2]|0;if(!i)e=h;else{c[U>>2]=316868;c[U+4>>2]=k;mn(i,296888,U);e=c[ea>>2]|0}h=(c[j>>2]|0)-(c[b>>2]|0)|0;do if(h|0){if((h|0)<0)break d;f=FA(h)|0;i=c[b>>2]|0;h=(c[j>>2]|0)-i|0;if((h|0)>0?(_B(f|0,i|0,h|0)|0,nn(e,f,h,316868,0),(f|0)==0):0)break;HA(f)}while(0);k=k+1|0;h=c[_>>2]|0;if(k>>>0>=(c[h+176>>2]|0)-(c[h+172>>2]|0)>>2>>>0)break c}oB()}while(0);j=c[ea+64>>2]|0;k=ea+68|0;f=c[k>>2]|0;h=c[ea>>2]|0;i=(c[h+4>>2]|0)-j|0;if(a[(c[$>>2]|0)+10>>0]|0){e=i-f|0;i=Il(e)|0;b=i-f|0;if(b){on(h,i+j|0,f+j|0,e);h=c[ea>>2]|0}Ml(h,j,e,296869);jn(c[ea>>2]|0,b);h=c[ea+56>>2]|0;if((b|0)!=0&(h|0)!=0?(g=c[h+8>>2]|0,V=c[h+12>>2]|0,(g|0)!=(V|0)):0)do{U=g+4|0;c[U>>2]=(c[U>>2]|0)+b;g=g+16|0}while((g|0)!=(V|0))}else Jl(h,j,i+-5|0,296869);c[k>>2]=0;V=ea+60|0;c[V>>2]=(c[V>>2]|0)+1}g=c[$>>2]|0;if(a[g+12>>0]|0){c[Z>>2]=0;m=Z+4|0;c[m>>2]=0;c[Z+8>>2]=0;Yi(ea,311538);j=c[_>>2]|0;g=c[j+76>>2]|0;e=c[j+80>>2]|0;if((g|0)==(e|0))h=0;else{h=0;do{i=c[g>>2]|0;f=a[i+11>>0]|0;if(f<<24>>24<0)i=c[i+4>>2]|0;else i=f&255;h=h+((i|0)!=0&1)|0;g=g+4|0}while((g|0)!=(e|0))}g=a[j+20+11>>0]|0;if(g<<24>>24<0)g=c[j+24>>2]|0;else g=g&255;if(g|0){Kl(c[ea>>2]|0,0,297352);k=ea+84|0;c[k>>2]=1;T=c[ea>>2]|0;e=a[(c[$>>2]|0)+10>>0]|0;a[ba>>0]=0;a[ba+1>>0]=0;a[ba+2>>0]=0;a[ba+3>>0]=0;a[ba+4>>0]=0;f=c[T+4>>2]|0;nn(T,ba,e<<24>>24==0?5:1,297369,0);e=ea+80|0;c[e>>2]=f;f=c[ea>>2]|0;c[ea+88>>2]=c[f+4>>2];T=c[_>>2]|0;g=T+20|0;V=a[g+11>>0]|0;U=V<<24>>24<0;V=U?c[T+24>>2]|0:V&255;g=U?c[g>>2]|0:g;U=ba;c[U>>2]=g;c[U+4>>2]=V;if(V>>>0<1|(V|0)==1&g>>>0<0)i=0;else{rn(ba);i=ba;g=c[i>>2]|0;i=c[i+4>>2]|0}Kl(f,i,321997);nn(f,g,i,311732,1);b=c[e>>2]|0;f=c[k>>2]|0;g=c[ea>>2]|0;i=(c[g+4>>2]|0)-b|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Jl(g,b,i+-5|0,297393);else{e=i-f|0;i=Il(e)|0;j=i-f|0;if(j){on(g,i+b|0,f+b|0,e);g=c[ea>>2]|0}Ml(g,b,e,297393);jn(c[ea>>2]|0,j)}c[k>>2]=0}if(!h){h=ba;l=ea+84|0;k=ea+80|0;g=ea+88|0}else{Kl(c[ea>>2]|0,1,297415);l=ea+84|0;c[l>>2]=1;g=c[ea>>2]|0;k=a[(c[$>>2]|0)+10>>0]|0;a[ba>>0]=0;a[ba+1>>0]=0;a[ba+2>>0]=0;a[ba+3>>0]=0;a[ba+4>>0]=0;V=c[g+4>>2]|0;nn(g,ba,k<<24>>24==0?5:1,297369,0);k=ea+80|0;c[k>>2]=V;V=c[ea>>2]|0;g=ea+88|0;c[g>>2]=c[V+4>>2];Kl(V,h,296946);h=c[_>>2]|0;if((c[h+80>>2]|0)!=(c[h+76>>2]|0)){b=0;do{f=c[(c[h+76>>2]|0)+(b<<2)>>2]|0;j=f+11|0;i=a[j>>0]|0;if(i<<24>>24<0)i=c[f+4>>2]|0;else i=i&255;if(i){Kl(c[ea>>2]|0,b,311908);c[W>>2]=b;yz(X,100,297434,W)|0;e=c[ea>>2]|0;V=a[j>>0]|0;h=V<<24>>24<0;V=h?c[f+4>>2]|0:V&255;h=h?c[f>>2]|0:f;U=ba;c[U>>2]=h;c[U+4>>2]=V;if(V>>>0<1|(V|0)==1&h>>>0<0)i=0;else{rn(ba);i=ba;h=c[i>>2]|0;i=c[i+4>>2]|0}Kl(e,i,321997);nn(e,h,i,X,1);h=c[_>>2]|0}b=b+1|0}while(b>>>0<(c[h+80>>2]|0)-(c[h+76>>2]|0)>>2>>>0)}b=c[k>>2]|0;f=c[l>>2]|0;h=c[ea>>2]|0;i=(c[h+4>>2]|0)-b|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Jl(h,b,i+-5|0,297393);else{e=i-f|0;i=Il(e)|0;j=i-f|0;if(j){on(h,i+b|0,f+b|0,e);h=c[ea>>2]|0}Ml(h,b,e,297393);jn(c[ea>>2]|0,j)}c[l>>2]=0;h=ba}Kl(c[ea>>2]|0,2,297448);c[l>>2]=1;U=c[ea>>2]|0;V=a[(c[$>>2]|0)+10>>0]|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[h+4>>0]=0;W=c[U+4>>2]|0;nn(U,h,V<<24>>24==0?5:1,297369,0);c[k>>2]=W;W=c[ea>>2]|0;c[g>>2]=c[W+4>>2];g=c[_>>2]|0;Kl(W,(c[g+80>>2]|0)-(c[g+76>>2]|0)>>2,296946);g=c[_>>2]|0;if((c[g+80>>2]|0)!=(c[g+76>>2]|0)){b=0;do{W=c[(c[g+76>>2]|0)+(b<<2)>>2]|0;e=(c[W+56>>2]|0)-(c[W+52>>2]|0)>>2;e=e+(Fk(c[W+76>>2]|0,c[W+80>>2]|0)|0)|0;Kl(c[ea>>2]|0,b,311908);Kl(c[ea>>2]|0,e,297464);tl(e,W+88|0,Z);if(e|0){i=c[Z>>2]|0;j=0;do{g=i+(j*12|0)|0;c[Y>>2]=j;yz(X,100,297475,Y)|0;Kl(c[ea>>2]|0,j,297490);f=c[ea>>2]|0;W=a[g+11>>0]|0;V=W<<24>>24<0;W=V?c[i+(j*12|0)+4>>2]|0:W&255;g=V?c[g>>2]|0:g;V=ba;c[V>>2]=g;c[V+4>>2]=W;if(W>>>0<1|(W|0)==1&g>>>0<0)h=0;else{rn(ba);h=ba;g=c[h>>2]|0;h=c[h+4>>2]|0}Kl(f,h,321997);nn(f,g,h,X,1);j=j+1|0}while((j|0)!=(e|0))}b=b+1|0;g=c[_>>2]|0}while(b>>>0<(c[g+80>>2]|0)-(c[g+76>>2]|0)>>2>>>0)}j=c[k>>2]|0;i=c[l>>2]|0;g=c[ea>>2]|0;h=(c[g+4>>2]|0)-j|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Jl(g,j,h+-5|0,297393);else{f=h-i|0;h=Il(f)|0;e=h-i|0;if(e){on(g,h+j|0,i+j|0,f);g=c[ea>>2]|0}Ml(g,j,f,297393);jn(c[ea>>2]|0,e)}c[l>>2]=0;e=c[ea+64>>2]|0;b=ea+68|0;i=c[b>>2]|0;g=c[ea>>2]|0;h=(c[g+4>>2]|0)-e|0;do if(!(a[(c[$>>2]|0)+10>>0]|0))Jl(g,e,h+-5|0,296869);else{f=h-i|0;h=Il(f)|0;j=h-i|0;if(j){on(g,h+e|0,i+e|0,f);g=c[ea>>2]|0}Ml(g,e,f,296869);jn(c[ea>>2]|0,j);g=c[ea+56>>2]|0;if(!((j|0)!=0&(g|0)!=0))break;h=c[g+8>>2]|0;i=c[g+12>>2]|0;if((h|0)==(i|0))break;g=h;do{Y=g+4|0;c[Y>>2]=(c[Y>>2]|0)+j;g=g+16|0}while((g|0)!=(i|0))}while(0);c[b>>2]=0;h=ea+60|0;c[h>>2]=(c[h>>2]|0)+1;h=c[Z>>2]|0;if(h|0){g=c[m>>2]|0;if((g|0)!=(h|0))do{g=g+-12|0;if((a[g+11>>0]|0)<0)HA(c[g>>2]|0)}while((g|0)!=(h|0));c[m>>2]=h;HA(h)}g=c[$>>2]|0}if(a[g+11>>0]|0){Yi(ea,312867);Kl(c[ea>>2]|0,2,297502);g=ea+32|0;h=ea+36|0;if((c[h>>2]|0)!=(c[g>>2]|0)){k=c[ea>>2]|0;a[ba>>0]=8;nn(k,ba,1,297519,0);k=ea+84|0;c[k>>2]=1;Z=c[ea>>2]|0;b=a[(c[$>>2]|0)+10>>0]|0;a[ba>>0]=0;a[ba+1>>0]=0;a[ba+2>>0]=0;a[ba+3>>0]=0;a[ba+4>>0]=0;j=c[Z+4>>2]|0;nn(Z,ba,b<<24>>24==0?5:1,297369,0);b=ea+80|0;c[b>>2]=j;j=c[ea>>2]|0;c[ea+88>>2]=c[j+4>>2];Kl(j,((c[h>>2]|0)-(c[g>>2]|0)|0)/12|0,297532);g=c[g>>2]|0;j=c[h>>2]|0;e:do if((g|0)!=(j|0))while(1){e=g+4|0;h=c[e>>2]|0;switch(h|0){case 0:{f=g+8|0;i=f;f=(c[f>>2]|0)>>>0>=(c[(c[_>>2]|0)+48>>2]|0)>>>0;break}case 2:{f=g+8|0;i=f;f=(c[f>>2]|0)>>>0>=(c[(c[_>>2]|0)+60>>2]|0)>>>0;break}default:{i=g+8|0;f=1}}Z=c[ea>>2]|0;a[ba>>0]=h;nn(Z,ba,1,297544,0);Kl(c[ea>>2]|0,f?0:16,297556);Kl(c[ea>>2]|0,c[i>>2]|0,297569);f:do if(f)switch(c[e>>2]|0){case 0:{X=c[ea>>2]|0;W=c[(c[(c[_>>2]|0)+76>>2]|0)+(c[i>>2]<<2)>>2]|0;Z=a[W+11>>0]|0;V=Z<<24>>24<0;Y=V?c[W>>2]|0:W;Z=V?c[W+4>>2]|0:Z&255;Kl(X,Z,321997);nn(X,Y,Z,312010,1);break f}case 2:{X=c[ea>>2]|0;W=c[(c[(c[_>>2]|0)+88>>2]|0)+(c[i>>2]<<2)>>2]|0;Z=a[W+11>>0]|0;V=Z<<24>>24<0;Y=V?c[W>>2]|0:W;Z=V?c[W+4>>2]|0:Z&255;Kl(X,Z,321997);nn(X,Y,Z,297583,1);break f}default:break f}while(0);g=g+12|0;if((g|0)==(j|0))break e}while(0);j=c[b>>2]|0;i=c[k>>2]|0;g=c[ea>>2]|0;h=(c[g+4>>2]|0)-j|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Jl(g,j,h+-5|0,297393);else{f=h-i|0;h=Il(f)|0;e=h-i|0;if(e){on(g,h+j|0,i+j|0,f);g=c[ea>>2]|0}Ml(g,j,f,297393);jn(c[ea>>2]|0,e)}c[k>>2]=0}o=ea+64|0;e=c[o>>2]|0;n=ea+68|0;i=c[n>>2]|0;g=c[ea>>2]|0;h=(c[g+4>>2]|0)-e|0;do if(!(a[(c[$>>2]|0)+10>>0]|0)){Jl(g,e,h+-5|0,296869);f=ea+56|0}else{f=h-i|0;h=Il(f)|0;j=h-i|0;if(j){on(g,h+e|0,i+e|0,f);g=c[ea>>2]|0}Ml(g,e,f,296869);jn(c[ea>>2]|0,j);f=ea+56|0;g=c[f>>2]|0;if(!((j|0)!=0&(g|0)!=0))break;h=c[g+8>>2]|0;i=c[g+12>>2]|0;if((h|0)==(i|0))break;g=h;do{_=g+4|0;c[_>>2]=(c[_>>2]|0)+j;g=g+16|0}while((g|0)!=(i|0))}while(0);c[n>>2]=0;m=ea+60|0;c[m>>2]=(c[m>>2]|0)+1;g=c[ea+44>>2]|0;l=c[ea+48>>2]|0;if((g|0)!=(l|0))do{h=c[g>>2]|0;c[ca>>2]=312652;c[ca+4>>2]=h;yz(ba,128,297595,ca)|0;Yi(ea,ba);Kl(c[ea>>2]|0,c[g+4>>2]|0,297601);h=g+8|0;i=g+12|0;Kl(c[ea>>2]|0,(c[i>>2]|0)-(c[h>>2]|0)>>4,297621);h=c[h>>2]|0;i=c[i>>2]|0;if((h|0)!=(i|0))do{Kl(c[ea>>2]|0,c[h>>2]|0,297632);Kl(c[ea>>2]|0,c[h+4>>2]|0,297643);Kl(c[ea>>2]|0,c[h+8>>2]|0,297656);if(((c[h>>2]|0)+-3|0)>>>0<3)Kl(c[ea>>2]|0,c[h+12>>2]|0,297668);h=h+16|0}while((h|0)!=(i|0));b=c[o>>2]|0;e=c[n>>2]|0;h=c[ea>>2]|0;i=(c[h+4>>2]|0)-b|0;do if(!(a[(c[$>>2]|0)+10>>0]|0))Jl(h,b,i+-5|0,296869);else{j=i-e|0;i=Il(j)|0;k=i-e|0;if(k){on(h,i+b|0,e+b|0,j);h=c[ea>>2]|0}Ml(h,b,j,296869);jn(c[ea>>2]|0,k);h=c[f>>2]|0;if(!((k|0)!=0&(h|0)!=0))break;i=c[h+8>>2]|0;e=c[h+12>>2]|0;if((i|0)==(e|0))break;h=i;do{_=h+4|0;c[_>>2]=(c[_>>2]|0)+k;h=h+16|0}while((h|0)!=(e|0))}while(0);c[n>>2]=0;c[m>>2]=(c[m>>2]|0)+1;g=g+20|0}while((g|0)!=(l|0))}j=c[(c[ea>>2]|0)+8>>2]|0;i=ea+44|0;f=c[i>>2]|0;if(f|0){e=ea+48|0;g=c[e>>2]|0;if((g|0)==(f|0))g=f;else{do{h=c[g+-12>>2]|0;if(h|0){c[g+-8>>2]=h;HA(h)}g=g+-20|0}while((g|0)!=(f|0));g=c[i>>2]|0}c[e>>2]=f;HA(g)}g=c[da>>2]|0;if(g|0){c[ea+36>>2]=g;HA(g)}g=c[ea+20>>2]|0;if(g|0)do{h=g;g=c[g>>2]|0;i=h+8|0;if((a[i+11>>0]|0)<0)HA(c[i>>2]|0);HA(h)}while((g|0)!=0);ea=ea+12|0;g=c[ea>>2]|0;c[ea>>2]=0;if(!g){aa=fa;return j|0}HA(g);aa=fa;return j|0}function Vi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+128|0;h=j+112|0;i=j+104|0;f=j;e=vt(d)|0;c[i>>2]=e;c[i+4>>2]=d;yz(f,100,298235,i)|0;e=c[b>>2]|0;g=c[e+12>>2]|0;if(g){c[h>>2]=f;mn(g,297694,h);e=c[b>>2]|0}a[i>>0]=d;nn(e,i,1,311273,0);c[b+72>>2]=d;c[b+68>>2]=1;g=c[b>>2]|0;h=a[(c[b+4>>2]|0)+10>>0]|0;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0;a[i+4>>0]=0;d=c[g+4>>2]|0;nn(g,i,h<<24>>24==0?5:1,297700,0);c[b+64>>2]=d;c[b+76>>2]=c[(c[b>>2]|0)+4>>2];aa=j;return}function Wi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;do switch(c[e+32>>2]|0){case 0:{g=e+36|0;Si(c[b>>2]|0,c[g>>2]|0);g=$l(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;nn(d,h,1,297741,0);Kl(c[b>>2]|0,c[e+44>>2]|0,320253);aa=i;return}case 1:{g=e+36|0;Si(c[b>>2]|0,c[g>>2]|0);g=$l(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;nn(d,h,1,297741,0);Kl(c[b>>2]|0,c[e+44>>2]|0,320253);aa=i;return}case 2:{g=e+36|0;Si(c[b>>2]|0,c[g>>2]|0);g=$l(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;nn(d,h,1,297741,0);Kl(c[b>>2]|0,c[e+44>>2]|0,320253);aa=i;return}case 3:{g=e+36|0;Si(c[b>>2]|0,c[g>>2]|0);g=$l(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;nn(d,h,1,297741,0);Kl(c[b>>2]|0,c[e+44>>2]|0,320253);aa=i;return}case 5:{g=e+36|0;Si(c[b>>2]|0,c[g>>2]|0);g=$l(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;nn(d,h,1,297741,0);Kl(c[b>>2]|0,c[e+44>>2]|0,320253);aa=i;return}case 4:{g=e+36|0;Si(c[b>>2]|0,c[g>>2]|0);g=$l(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;nn(d,h,1,297741,0);Kl(c[b>>2]|0,c[e+44>>2]|0,320253);aa=i;return}case 6:{Si(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 7:{Si(c[b>>2]|0,2);cj(b,e+48|0);f=c[e+112>>2]|0;if(f|0)do{Wi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Si(c[b>>2]|0,11);aa=i;return}case 8:{Si(c[b>>2]|0,12);Kl(c[b>>2]|0,c[e+60>>2]|0,297751);aa=i;return}case 9:{Si(c[b>>2]|0,13);Kl(c[b>>2]|0,c[e+60>>2]|0,297751);aa=i;return}case 10:{Si(c[b>>2]|0,10);Kl(c[b>>2]|0,c[e+60>>2]|0,297751);h=c[b>>2]|0;Kl(h,Ak(c[b+8>>2]|0,e+72|0)|0,319980);aa=i;return}case 11:{Si(c[b>>2]|0,14);f=e+36|0;g=e+40|0;Kl(c[b>>2]|0,((c[g>>2]|0)-(c[f>>2]|0)|0)/36|0,297763);f=c[f>>2]|0;g=c[g>>2]|0;if((f|0)!=(g|0))do{Kl(c[b>>2]|0,c[f+24>>2]|0,297751);f=f+36|0}while((f|0)!=(g|0));Kl(c[b>>2]|0,c[e+48+24>>2]|0,297775);aa=i;return}case 12:{e=vk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,16);Xi(b,e,311908,0);aa=i;return}case 37:{e=vk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,18);Xi(b,e,311908,0);aa=i;return}case 13:{d=c[b+8>>2]|0;h=Uk(d,e+36|0)|0;e=xk(d,e+100|0)|0;Si(c[b>>2]|0,17);Xi(b,h,297799,6);Kl(c[b>>2]|0,e,320664);aa=i;return}case 38:{d=c[b+8>>2]|0;h=Uk(d,e+36|0)|0;e=xk(d,e+100|0)|0;Si(c[b>>2]|0,19);Xi(b,h,297799,6);Kl(c[b>>2]|0,e,320664);aa=i;return}case 14:{Si(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 15:switch(c[e+60>>2]|0){case -1:{Si(c[b>>2]|0,52);Ol(c[b>>2]|0,c[e+64>>2]|0,297815);aa=i;return}case -2:{Si(c[b>>2]|0,53);e=e+64|0;Pl(c[b>>2]|0,c[e>>2]|0,c[e+4>>2]|0);aa=i;return}case -3:{Si(c[b>>2]|0,54);b=c[b>>2]|0;c[h>>2]=c[e+64>>2];nn(b,h,4,297839,0);aa=i;return}case -4:{Si(c[b>>2]|0,55);b=c[b>>2]|0;g=e+64|0;d=c[g+4>>2]|0;e=h;c[e>>2]=c[g>>2];c[e+4>>2]=d;nn(b,h,8,297851,0);aa=i;return}case -5:{Si(c[b>>2]|0,212);b=c[b>>2]|0;e=e+64|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];nn(b,h,16,297863,0);aa=i;return}default:{aa=i;return}}case 16:{Si(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 17:{Si(c[b>>2]|0,20);aa=i;return}case 18:{e=wk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,25);Xi(b,e,297876,7);aa=i;return}case 19:{e=wk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,26);Xi(b,e,297876,7);aa=i;return}case 20:{Si(c[b>>2]|0,4);cj(b,e+48|0);g=c[e+112>>2]|0;if(g|0)do{Wi(b,d,g);g=c[g+4>>2]|0}while((g|0)!=0);if(c[e+152>>2]|0?(Si(c[b>>2]|0,5),f=c[e+144>>2]|0,f|0):0)do{Wi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Si(c[b>>2]|0,11);aa=i;return}case 21:{g=e+36|0;Si(c[b>>2]|0,c[g>>2]|0);g=$l(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;nn(d,h,1,297741,0);Kl(c[b>>2]|0,c[e+44>>2]|0,319360);aa=i;return}case 22:{if(!d)if(!(c[e+56>>2]|0))f=c[e+60>>2]|0;else f=-1;else f=Hk(d,e+36|0)|0;Si(c[b>>2]|0,22);Kl(c[b>>2]|0,f,297490);aa=i;return}case 23:{if(!d)if(!(c[e+56>>2]|0))f=c[e+60>>2]|0;else f=-1;else f=Hk(d,e+36|0)|0;Si(c[b>>2]|0,23);Kl(c[b>>2]|0,f,297490);aa=i;return}case 24:{if(!d)if(!(c[e+56>>2]|0))f=c[e+60>>2]|0;else f=-1;else f=Hk(d,e+36|0)|0;Si(c[b>>2]|0,24);Kl(c[b>>2]|0,f,297490);aa=i;return}case 25:{Si(c[b>>2]|0,3);cj(b,e+48|0);f=c[e+112>>2]|0;if(f|0)do{Wi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Si(c[b>>2]|0,11);aa=i;return}case 26:{Si(c[b>>2]|0,199);Kl(c[b>>2]|0,0,297889);Kl(c[b>>2]|0,0,297889);aa=i;return}case 27:{e=Bk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,198);Kl(c[b>>2]|0,e,297910);aa=i;return}case 28:{Si(c[b>>2]|0,200);Kl(c[b>>2]|0,0,297928);aa=i;return}case 29:{Si(c[b>>2]|0,51);Kl(c[b>>2]|0,0,319547);aa=i;return}case 30:{e=Bk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,197);Kl(c[b>>2]|0,e,297949);Kl(c[b>>2]|0,0,297969);aa=i;return}case 31:{Si(c[b>>2]|0,50);Kl(c[b>>2]|0,0,319456);aa=i;return}case 43:{Si(c[b>>2]|0,203);Kl(c[b>>2]|0,0,297990);Kl(c[b>>2]|0,0,297990);aa=i;return}case 44:{e=Ck(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,202);Kl(c[b>>2]|0,e,298010);aa=i;return}case 45:{e=Ck(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,201);Kl(c[b>>2]|0,e,298028);Kl(c[b>>2]|0,0,298047);aa=i;return}case 46:{e=xk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,204);Kl(c[b>>2]|0,e,298067);aa=i;return}case 49:{e=xk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,205);Kl(c[b>>2]|0,e,298089);aa=i;return}case 47:{e=xk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,206);Kl(c[b>>2]|0,e,298111);aa=i;return}case 48:{e=xk(c[b+8>>2]|0,e+36|0)|0;Si(c[b>>2]|0,207);Kl(c[b>>2]|0,e,298134);aa=i;return}case 34:{Si(c[b>>2]|0,208);aa=i;return}case 33:{Si(c[b>>2]|0,209);aa=i;return}case 32:{Si(c[b>>2]|0,1);aa=i;return}case 35:{Si(c[b>>2]|0,9);aa=i;return}case 36:{Si(c[b>>2]|0,15);aa=i;return}case 39:{Si(c[b>>2]|0,21);aa=i;return}case 42:{g=e+36|0;Si(c[b>>2]|0,c[g>>2]|0);g=$l(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;nn(d,h,1,297741,0);Kl(c[b>>2]|0,c[e+44>>2]|0,319415);aa=i;return}case 51:{Si(c[b>>2]|0,8);Kl(c[b>>2]|0,c[e+60>>2]|0,298157);aa=i;return}case 52:{Si(c[b>>2]|0,6);cj(b,e+48|0);f=c[e+112>>2]|0;if(f|0)do{Wi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Si(c[b>>2]|0,7);f=c[e+144>>2]|0;if(f|0)do{Wi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Si(c[b>>2]|0,11);aa=i;return}case 53:{Si(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 50:{Si(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 40:{Si(c[b>>2]|0,c[e+36>>2]|0);b=c[b>>2]|0;a[h>>0]=c[e+40>>2];nn(b,h,1,298169,0);aa=i;return}case 41:{Si(c[b>>2]|0,c[e+36>>2]|0);b=c[b>>2]|0;e=e+40|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];nn(b,h,16,298187,0);aa=i;return}case 54:{Si(c[b>>2]|0,0);aa=i;return}default:{aa=i;return}}while(0)}function Xi(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=aa;aa=aa+32|0;v=z+12|0;x=z+8|0;w=z+4|0;y=z;if(!(a[(c[b+4>>2]|0)+11>>0]|0)){Kl(c[b>>2]|0,d,e);aa=z;return}c[x>>2]=f;u=b+56|0;g=c[u>>2]|0;if(g){h=c[b+60>>2]|0;if((c[g+4>>2]|0)!=(h|0))i=5}else{h=c[b+60>>2]|0;i=5}if((i|0)==5){k=vt(c[b+72>>2]|0)|0;s=b+48|0;m=c[s>>2]|0;q=b+52|0;r=c[q>>2]|0;i=r;if(m>>>0>=r>>>0){r=b+44|0;g=c[r>>2]|0;l=(m-g|0)/20|0;j=l+1|0;n=g;if(j>>>0>214748364)oB();i=(i-g|0)/20|0;o=i<<1;j=i>>>0<107374182?(o>>>0<j>>>0?j:o):214748364;do if(j)if(j>>>0>214748364)U();else{p=FA(j*20|0)|0;break}else p=0;while(0);i=p+(l*20|0)|0;o=p+(j*20|0)|0;c[i>>2]=k;c[p+(l*20|0)+4>>2]=h;c[p+(l*20|0)+8>>2]=0;c[p+(l*20|0)+12>>2]=0;c[p+(l*20|0)+16>>2]=0;k=i+20|0;if((m|0)!=(n|0)){g=m;do{j=i;i=i+-20|0;l=g;g=g+-20|0;h=g;p=c[h+4>>2]|0;m=i;c[m>>2]=c[h>>2];c[m+4>>2]=p;m=j+-12|0;p=l+-12|0;c[m>>2]=0;h=j+-8|0;c[h>>2]=0;j=j+-4|0;c[j>>2]=0;c[m>>2]=c[p>>2];m=l+-8|0;c[h>>2]=c[m>>2];l=l+-4|0;c[j>>2]=c[l>>2];c[l>>2]=0;c[m>>2]=0;c[p>>2]=0}while((g|0)!=(n|0));g=c[r>>2]|0;h=c[s>>2]|0;j=g;c[r>>2]=i;c[s>>2]=k;c[q>>2]=o;if((h|0)!=(j|0))do{i=c[h+-12>>2]|0;if(i|0){c[h+-8>>2]=i;HA(i)}h=h+-20|0}while((h|0)!=(j|0))}else{c[r>>2]=i;c[s>>2]=k;c[q>>2]=o}if(g|0)HA(g)}else{c[m>>2]=k;c[m+4>>2]=h;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[s>>2]=m+20}c[u>>2]=(c[s>>2]|0)+-20}r=(c[(c[b>>2]|0)+4>>2]|0)-(c[b+76>>2]|0)|0;c[w>>2]=r;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;g=c[b+8>>2]|0;if(!f){UA(v,c[(c[g+76>>2]|0)+(d<<2)>>2]|0)|0;q=0}else{UA(v,c[(c[g+88>>2]|0)+(d<<2)>>2]|0)|0;q=2}h=b+12|0;g=Zi(h,v)|0;do if(!g){p=b+32|0;o=b+36|0;j=((c[o>>2]|0)-(c[p>>2]|0)|0)/12|0;g=_i(h,v)|0;c[g>>2]=j;g=c[o>>2]|0;n=b+40|0;h=c[n>>2]|0;if(g>>>0<h>>>0){c[g>>2]=j;c[g+4>>2]=q;c[g+8>>2]=d;c[o>>2]=(c[o>>2]|0)+12;break}m=c[p>>2]|0;l=g-m|0;k=(l|0)/12|0;g=k+1|0;if(g>>>0>357913941)oB();s=(h-m|0)/12|0;i=s<<1;i=s>>>0<178956970?(i>>>0<g>>>0?g:i):357913941;do if(i)if(i>>>0>357913941)U();else{t=FA(i*12|0)|0;break}else t=0;while(0);h=t+(k*12|0)|0;c[h>>2]=j;c[t+(k*12|0)+4>>2]=q;c[t+(k*12|0)+8>>2]=d;g=h+(((l|0)/-12|0)*12|0)|0;if((l|0)>0)_B(g|0,m|0,l|0)|0;c[p>>2]=g;c[o>>2]=h+12;c[n>>2]=t+(i*12|0);if(m)HA(m)}else j=c[g+20>>2]|0;while(0);if((a[v+11>>0]|0)<0)HA(c[v>>2]|0);c[y>>2]=j;g=c[u>>2]|0;i=g+12|0;h=c[i>>2]|0;if(h>>>0<(c[g+16>>2]|0)>>>0){xj(h,f,r,j,0);c[i>>2]=(c[i>>2]|0)+16}else $i(g+8|0,x,w,y);Ll(c[b>>2]|0,d,e);aa=z;return}function Yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+128|0;h=j+112|0;i=j+104|0;f=j;c[i>>2]=d;yz(f,100,297681,i)|0;e=c[b>>2]|0;g=c[e+12>>2]|0;if(g){c[h>>2]=f;mn(g,297694,h);e=c[b>>2]|0}a[i>>0]=0;nn(e,i,1,311273,0);c[b+72>>2]=0;c[b+68>>2]=1;f=c[b>>2]|0;g=a[(c[b+4>>2]|0)+10>>0]|0;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0;a[i+4>>0]=0;h=c[f+4>>2]|0;nn(f,i,g<<24>>24==0?5:1,297700,0);c[b+64>>2]=h;h=c[b>>2]|0;c[b+76>>2]=c[h+4>>2];i=Az(d)|0;Kl(h,i,321997);nn(h,d,i,297721,1);aa=j;return}function Zi(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;s=a[e+11>>0]|0;r=s<<24>>24<0;t=r?c[e>>2]|0:e;s=r?c[e+4>>2]|0:s&255;if(s>>>0>3){e=t;h=s;f=s;while(1){r=v(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24,1540483477)|0;h=(v(r>>>24^r,1540483477)|0)^(v(h,1540483477)|0);f=f+-4|0;if(f>>>0<=3)break;else e=e+4|0}r=s+-4|0;f=r&-4;g=t+(f+4)|0;e=h;f=r-f|0}else{g=t;e=s;f=s}switch(f|0){case 3:{i=d[g+2>>0]<<16^e;l=7;break}case 2:{i=e;l=7;break}case 1:{j=e;l=8;break}default:k=e}if((l|0)==7){j=d[g+1>>0]<<8^i;l=8}if((l|0)==8)k=v(j^d[g>>0],1540483477)|0;r=v(k>>>13^k,1540483477)|0;r=r>>>15^r;p=c[b+4>>2]|0;if(!p){t=0;return t|0}i=p+-1|0;f=(i&p|0)==0;if(!f)if(r>>>0<p>>>0)q=r;else q=(r>>>0)%(p>>>0)|0;else q=r&i;e=c[(c[b>>2]|0)+(q<<2)>>2]|0;if(!e){t=0;return t|0}j=c[e>>2]|0;if(!j){t=0;return t|0}k=(s|0)==0;if(f){e=j;a:while(1){l=c[e+4>>2]|0;f=(l|0)==(r|0);if(!(f|(l&i|0)==(q|0))){e=0;l=45;break}do if(f?(m=e+8|0,n=a[m+11>>0]|0,o=n<<24>>24<0,n=n&255,((o?c[e+12>>2]|0:n)|0)==(s|0)):0){f=c[m>>2]|0;g=o?f:m;f=f&255;if(o){if(k){l=45;break a}if(!(zz(g,t,s)|0)){l=45;break a}else break}if(k){l=45;break a}if((a[t>>0]|0)==f<<24>>24){f=n;g=m;h=t;do{f=f+-1|0;g=g+1|0;if(!f){l=45;break a}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);e=c[e>>2]|0;if(!e){e=0;l=45;break}}if((l|0)==45)return e|0}b:while(1){e=c[j+4>>2]|0;do if((e|0)==(r|0)){e=j+8|0;g=a[e+11>>0]|0;i=g<<24>>24<0;g=g&255;if(((i?c[j+12>>2]|0:g)|0)==(s|0)){f=c[e>>2]|0;h=i?f:e;f=f&255;if(i){if(k){e=j;l=45;break b}if(!(zz(h,t,s)|0)){e=j;l=45;break b}else break}if(k){e=j;l=45;break b}if((a[t>>0]|0)==f<<24>>24){f=t;do{g=g+-1|0;e=e+1|0;if(!g){e=j;l=45;break b}f=f+1|0}while((a[e>>0]|0)==(a[f>>0]|0))}}}else{if(e>>>0>=p>>>0)e=(e>>>0)%(p>>>0)|0;if((e|0)!=(q|0)){e=0;l=45;break b}}while(0);j=c[j>>2]|0;if(!j){e=0;l=45;break}}if((l|0)==45)return e|0;return 0}function _i(b,e){b=b|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,w=0,x=0,y=0,z=0,A=0,B=0;x=a[e+11>>0]|0;z=x<<24>>24<0;y=z?c[e>>2]|0:e;x=z?c[e+4>>2]|0:x&255;if(x>>>0>3){k=y;n=x;l=x;while(1){z=v(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,1540483477)|0;n=(v(z>>>24^z,1540483477)|0)^(v(n,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else k=k+4|0}z=x+-4|0;l=z&-4;m=y+(l+4)|0;k=n;l=z-l|0}else{m=y;k=x;l=x}switch(l|0){case 3:{o=d[m+2>>0]<<16^k;B=7;break}case 2:{o=k;B=7;break}case 1:{p=k;B=8;break}default:q=k}if((B|0)==7){p=d[m+1>>0]<<8^o;B=8}if((B|0)==8)q=v(p^d[m>>0],1540483477)|0;z=v(q>>>13^q,1540483477)|0;z=z>>>15^z;t=b+4|0;s=c[t>>2]|0;w=(s|0)==0;a:do if(!w){q=s+-1|0;l=(q&s|0)==0;if(!l)if(z>>>0<s>>>0)r=z;else r=(z>>>0)%(s>>>0)|0;else r=z&q;k=c[(c[b>>2]|0)+(r<<2)>>2]|0;if((k|0)!=0?(h=c[k>>2]|0,(h|0)!=0):0){p=(x|0)==0;if(l){if(p){g=h;while(1){y=c[g+4>>2]|0;if(!((y|0)==(z|0)|(y&q|0)==(r|0))){g=r;break a}y=a[g+8+11>>0]|0;if(!((y<<24>>24<0?c[g+12>>2]|0:y&255)|0)){k=g;break}g=c[g>>2]|0;if(!g){g=r;break a}}b=k+20|0;return b|0}k=h;b:while(1){o=c[k+4>>2]|0;if(!((o|0)==(z|0)|(o&q|0)==(r|0))){g=r;break a}l=k+8|0;n=a[l+11>>0]|0;o=n<<24>>24<0;n=n&255;do if(((o?c[k+12>>2]|0:n)|0)==(x|0)){m=c[l>>2]|0;if(o)if(!(zz(m,y,x)|0)){B=68;break b}else break;if((a[y>>0]|0)==(m&255)<<24>>24){m=y;do{n=n+-1|0;l=l+1|0;if(!n){B=68;break b}m=m+1|0}while((a[l>>0]|0)==(a[m>>0]|0))}}while(0);k=c[k>>2]|0;if(!k){g=r;break a}}if((B|0)==68){b=k+20|0;return b|0}}if(p){while(1){g=c[h+4>>2]|0;if((g|0)!=(z|0)){if(g>>>0>=s>>>0)g=(g>>>0)%(s>>>0)|0;if((g|0)!=(r|0)){g=r;break a}}y=a[h+8+11>>0]|0;if(!((y<<24>>24<0?c[h+12>>2]|0:y&255)|0)){k=h;break}h=c[h>>2]|0;if(!h){g=r;break a}}b=k+20|0;return b|0}c:while(1){k=c[h+4>>2]|0;if((k|0)!=(z|0)){if(k>>>0>=s>>>0)k=(k>>>0)%(s>>>0)|0;if((k|0)!=(r|0)){g=r;break a}}k=h+8|0;m=a[k+11>>0]|0;n=m<<24>>24<0;m=m&255;do if(((n?c[h+12>>2]|0:m)|0)==(x|0)){l=c[k>>2]|0;if(n)if(!(zz(l,y,x)|0)){k=h;B=68;break c}else break;if((a[y>>0]|0)==(l&255)<<24>>24){l=y;do{m=m+-1|0;k=k+1|0;if(!m){k=h;B=68;break c}l=l+1|0}while((a[k>>0]|0)==(a[l>>0]|0))}}while(0);h=c[h>>2]|0;if(!h){g=r;break a}}if((B|0)==68){b=k+20|0;return b|0}}else g=r}else g=0;while(0);m=FA(24)|0;LA(m+8|0,e);c[m+20>>2]=0;c[m+4>>2]=z;c[m>>2]=0;l=b+12|0;j=+(((c[l>>2]|0)+1|0)>>>0);i=+f[b+16>>2];do if(w|i*+(s>>>0)<j){g=s<<1|(s>>>0<3|(s+-1&s|0)!=0)&1;h=~~+u(+(j/i))>>>0;aj(b,g>>>0<h>>>0?h:g);g=c[t>>2]|0;h=g+-1|0;if(!(h&g)){k=g;g=h&z;break}if(z>>>0<g>>>0){k=g;g=z}else{k=g;g=(z>>>0)%(g>>>0)|0}}else k=s;while(0);h=(c[b>>2]|0)+(g<<2)|0;g=c[h>>2]|0;if(!g){g=b+8|0;c[m>>2]=c[g>>2];c[g>>2]=m;c[h>>2]=g;g=c[m>>2]|0;if(g|0){g=c[g+4>>2]|0;h=k+-1|0;if(h&k){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0}else g=g&h;A=(c[b>>2]|0)+(g<<2)|0;B=66}}else{c[m>>2]=c[g>>2];A=g;B=66}if((B|0)==66)c[A>>2]=m;c[l>>2]=(c[l>>2]|0)+1;b=m;b=b+20|0;return b|0}function $i(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;k=a+4|0;f=c[a>>2]|0;h=(c[k>>2]|0)-f>>4;g=h+1|0;if(g>>>0>268435455)oB();l=a+8|0;i=(c[l>>2]|0)-f|0;j=i>>3;j=i>>4>>>0<134217727?(j>>>0<g>>>0?g:j):268435455;do if(j)if(j>>>0>268435455)U();else{m=FA(j<<4)|0;break}else m=0;while(0);i=m+(h<<4)|0;xj(i,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,0);f=c[a>>2]|0;h=(c[k>>2]|0)-f|0;g=i+(0-(h>>4)<<4)|0;if((h|0)>0)_B(g|0,f|0,h|0)|0;c[a>>2]=g;c[k>>2]=i+16;c[l>>2]=m+(j<<4);if(!f)return;HA(f);return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=DA(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0>e>>>0){bj(a,b);return}if(b>>>0>=e>>>0)return;d=~~+u(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(w(d+-1|0)|0);d=d>>>0<2?d:g}else d=DA(d)|0;b=b>>>0<d>>>0?d:b;if(b>>>0>=e>>>0)return;bj(a,b);return} -function fm(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;D=aa;aa=aa+112|0;C=D+104|0;A=D+96|0;z=D+88|0;y=D+80|0;x=D+72|0;t=D+64|0;s=D+56|0;r=D+48|0;v=D+40|0;u=D+32|0;q=D+24|0;o=D;B=b+12|0;c[B>>2]=d;n=b;e=o+16|0;c[o>>2]=289068;c[o+4>>2]=n;c[o+8>>2]=328938;c[e>>2]=o;nx(d+216|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289068;c[o+4>>2]=n;c[o+8>>2]=327973;c[e>>2]=o;nx(d+236|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289068;c[o+4>>2]=n;c[o+8>>2]=306142;c[e>>2]=o;nx(d+276|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289068;c[o+4>>2]=n;c[o+8>>2]=328078;c[e>>2]=o;nx(d+296|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289068;c[o+4>>2]=n;c[o+8>>2]=328002;c[e>>2]=o;nx(d+316|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289068;c[o+4>>2]=n;c[o+8>>2]=327948;c[e>>2]=o;nx(d+196|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=c[d+76>>2]|0;j=c[d+80>>2]|0;if((e|0)!=(j|0)){l=b+16|0;k=o+16|0;h=o+4|0;i=o+8|0;m=b+20|0;do{g=c[e>>2]|0;c[l>>2]=g;do if(a[g+12>>0]|0?(p=g+16|0,(c[g+36>>2]|0)==1):0){f=vx((c[B>>2]|0)+276|0,p)|0;if((f|0)!=-1){Al(p,f);break}f=g+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[q>>2]=306142;c[q+4>>2]=f;gm(b,p,304828,q)}while(0);c[o>>2]=289112;c[h>>2]=g;c[i>>2]=n;c[k>>2]=o;nx(g+88|0,o);f=c[k>>2]|0;if((o|0)!=(f|0)){if(f|0)ma[c[(c[f>>2]|0)+20>>2]&255](f)}else ma[c[(c[f>>2]|0)+16>>2]&255](f);Ij(m,g)|0;c[l>>2]=0;e=e+4|0}while((e|0)!=(j|0))}e=c[d+112>>2]|0;i=c[d+116>>2]|0;a:do if((e|0)!=(i|0))while(1){h=c[e>>2]|0;b:do switch(c[h+12>>2]|0){case 0:{g=h+16|0;if((c[h+36>>2]|0)==1){f=vx((c[B>>2]|0)+216|0,g)|0;if((f|0)!=-1){Al(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[u>>2]=328938;c[u+4>>2]=f;gm(b,g,304828,u)}break}case 1:{g=h+16|0;if((c[h+36>>2]|0)==1){f=vx((c[B>>2]|0)+296|0,g)|0;if((f|0)!=-1){Al(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[v>>2]=328078;c[v+4>>2]=f;gm(b,g,304828,v)}break}case 2:{g=h+16|0;if((c[h+36>>2]|0)==1){f=vx((c[B>>2]|0)+316|0,g)|0;if((f|0)!=-1){Al(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[r>>2]=328002;c[r+4>>2]=f;gm(b,g,304828,r)}break}case 3:{g=h+16|0;if((c[h+36>>2]|0)==1){f=vx((c[B>>2]|0)+236|0,g)|0;if((f|0)!=-1){Al(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[s>>2]=327973;c[s+4>>2]=f;gm(b,g,304828,s)}break}case 4:{g=h+16|0;if((c[h+36>>2]|0)==1){f=vx((c[B>>2]|0)+196|0,g)|0;if((f|0)!=-1){Al(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[t>>2]=327948;c[t+4>>2]=f;gm(b,g,304828,t)}break}default:{}}while(0);e=e+4|0;if((e|0)==(i|0))break a}while(0);e=c[d+88>>2]|0;f=c[d+92>>2]|0;if((e|0)!=(f|0)){g=b+20|0;do{Hj(g,(c[e>>2]|0)+20|0)|0;e=e+4|0}while((e|0)!=(f|0))}e=c[d+64>>2]|0;h=c[d+68>>2]|0;if((e|0)!=(h|0))do{f=c[e>>2]|0;do if(a[f+12>>0]|0?(w=f+16|0,(c[f+36>>2]|0)==1):0){g=vx((c[B>>2]|0)+276|0,w)|0;if((g|0)!=-1){Al(w,g);break}f=f+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[x>>2]=306142;c[x+4>>2]=f;gm(b,w,304828,x)}while(0);e=e+4|0}while((e|0)!=(h|0));e=c[d+148>>2]|0;i=c[d+152>>2]|0;if((e|0)!=(i|0)){j=b+20|0;do{h=c[e>>2]|0;g=h+12|0;do if((c[h+32>>2]|0)==1){f=vx((c[B>>2]|0)+296|0,g)|0;if((f|0)!=-1){Al(g,f);break}f=h+36|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[y>>2]=328078;c[y+4>>2]=f;gm(b,g,304828,y)}while(0);Hj(j,h+52|0)|0;f=c[h+64>>2]|0;h=c[h+68>>2]|0;if((f|0)!=(h|0))do{do if((c[f+20>>2]|0)==1){g=vx((c[B>>2]|0)+216|0,f)|0;if((g|0)!=-1){Al(f,g);break}g=f+24|0;if((a[g+11>>0]|0)<0)g=c[g>>2]|0;c[z>>2]=328938;c[z+4>>2]=g;gm(b,f,304828,z)}while(0);f=f+36|0}while((f|0)!=(h|0));e=e+4|0}while((e|0)!=(i|0))}e=c[d+172>>2]|0;i=c[d+176>>2]|0;if((e|0)!=(i|0)){j=b+20|0;do{g=c[e>>2]|0;h=g+12|0;do if((c[g+32>>2]|0)==1){f=vx((c[B>>2]|0)+316|0,h)|0;if((f|0)!=-1){Al(h,f);break}f=g+36|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[A>>2]=328002;c[A+4>>2]=f;gm(b,h,304828,A)}while(0);Hj(j,g+52|0)|0;e=e+4|0}while((e|0)!=(i|0))}e=c[d+184>>2]|0;h=c[d+188>>2]|0;if((e|0)==(h|0)){c[B>>2]=0;C=b+72|0;C=c[C>>2]|0;aa=D;return C|0}do{g=c[e>>2]|0;do if((c[g+20>>2]|0)==1){f=vx((c[B>>2]|0)+216|0,g)|0;if((f|0)!=-1){Al(g,f);break}f=g+24|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[C>>2]=328938;c[C+4>>2]=f;gm(b,g,304828,C)}while(0);e=e+4|0}while((e|0)!=(h|0));c[B>>2]=0;C=b+72|0;C=c[C>>2]|0;aa=D;return C|0}function gm(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=aa;aa=aa+192|0;h=k+168|0;l=k+144|0;f=k+128|0;g=k;i=k+164|0;j=k+160|0;c[a+72>>2]=1;c[l>>2]=e;c[f>>2]=c[l>>2];c[i>>2]=g;e=(Bz(g,128,d,l)|0)+1|0;if(e>>>0>128){g=aa;aa=aa+((1*e|0)+15&-16)|0;c[i>>2]=g;Bz(g,e,d,f)|0}e=c[a+4>>2]|0;c[j>>2]=1;d=e+4|0;f=c[d>>2]|0;if(f>>>0<(c[e+8>>2]|0)>>>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];c[h+16>>2]=c[b+16>>2];l=Az(g)|0;c[f>>2]=1;j=f+4|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];tn(f+24|0,g,l);c[d>>2]=(c[d>>2]|0)+36;aa=k;return}else{qm(e,j,b,i);aa=k;return}}function hm(a){a=a|0;return}function im(a){a=a|0;HA(a);return}function jm(a){a=a|0;var b=0,d=0,e=0;b=FA(12)|0;c[b>>2]=289112;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function km(a,b){a=a|0;b=b|0;var d=0,e=0;c[b>>2]=289112;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return}function lm(a){a=a|0;return}function mm(a){a=a|0;HA(a);return}function nm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=aa;aa=aa+16|0;g=f;i=c[b+4>>2]|0;h=c[b+8>>2]|0;b=(c[d+20>>2]|0)>(c[e+20>>2]|0)?d+12|0:e+12|0;e=(a[d+11>>0]|0)<0?c[d>>2]|0:d;c[g>>2]=(c[d+32>>2]|0)>>>0<(c[i+56>>2]|0)-(c[i+52>>2]|0)>>2>>>0?304917:327994;c[g+4>>2]=e;gm(h,b,304927,g);aa=f;return}function om(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==304855?a+4|0:0)|0}function pm(a){a=a|0;return 285448}function qm(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;o=aa;aa=aa+32|0;i=o;m=b+4|0;g=c[b>>2]|0;k=((c[m>>2]|0)-g|0)/36|0;h=k+1|0;if(h>>>0>119304647)oB();n=b+8|0;l=((c[n>>2]|0)-g|0)/36|0;g=l<<1;g=l>>>0<59652323?(g>>>0<h>>>0?h:g):119304647;do if(g)if(g>>>0>119304647)U();else{j=FA(g*36|0)|0;break}else j=0;while(0);h=j+(k*36|0)|0;l=j+(g*36|0)|0;g=c[d>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];d=c[f>>2]|0;f=Az(d)|0;c[h>>2]=g;g=j+(k*36|0)+4|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];tn(j+(k*36|0)+24|0,d,f);f=h+36|0;d=c[b>>2]|0;g=c[m>>2]|0;if((g|0)==(d|0)){e=d;g=d}else{do{j=h;h=h+-36|0;k=g;g=g+-36|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];j=j+-12|0;k=k+-12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}while((g|0)!=(d|0));e=c[b>>2]|0;g=c[m>>2]|0}c[b>>2]=h;c[m>>2]=f;c[n>>2]=l;d=e;if((g|0)!=(d|0))do{h=g+-12|0;g=g+-36|0;if((a[h+11>>0]|0)<0)HA(c[h>>2]|0)}while((g|0)!=(d|0));if(!e){aa=o;return}HA(e);aa=o;return}function rm(a){a=a|0;HA(a);return}function sm(a){a=a|0;var b=0,d=0,e=0;b=FA(12)|0;c[b>>2]=289068;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function tm(a,b){a=a|0;b=b|0;var d=0,e=0;c[b>>2]=289068;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return}function um(a){a=a|0;return}function vm(a){a=a|0;HA(a);return}function wm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=aa;aa=aa+16|0;g=f;h=c[b+4>>2]|0;e=(c[d+20>>2]|0)>(c[e+20>>2]|0)?d+12|0:e+12|0;d=(a[d+11>>0]|0)<0?c[d>>2]|0:d;c[g>>2]=c[b+8>>2];c[g+4>>2]=d;gm(h,e,304927,g);aa=f;return}function xm(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==305267?a+4|0:0)|0}function ym(a){a=a|0;return 285480}function zm(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288808;e=b+60|0;f=c[e>>2]|0;if(f|0){g=b+64|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;HA(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;HA(d)}d=c[b+36>>2]|0;if(d|0){c[b+40>>2]=d;HA(d)}d=c[b+24>>2]|0;if(!d)return;c[b+28>>2]=d;HA(d);return}function Am(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288808;e=b+60|0;f=c[e>>2]|0;if(f|0){g=b+64|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;HA(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;HA(d)}d=c[b+36>>2]|0;if(d|0){c[b+40>>2]=d;HA(d)}d=c[b+24>>2]|0;if(!d){HA(b);return}c[b+28>>2]=d;HA(d);HA(b);return}function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Kc(b+60|0,g);else{LA(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=vx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Al(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=306142;c[h+4>>2]=e;gm(b,f,304828,h);aa=i;return 0}function Cm(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}HA(c[b>>2]|0);c[d>>2]=b;return 0}function Dm(a,b){a=a|0;b=b|0;dn(a,b+36|0);return 0}function Em(a,b){a=a|0;b=b|0;dn(a,b+36|0);return 0}function Fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;dn(b,d+36|0);f=d+72|0;if((c[d+92>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+196|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+96|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=327948;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Gm(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+36>>2]|0;e=c[b+40>>2]|0;if((d|0)!=(e|0))do{dn(a,d);d=d+36|0}while((d|0)!=(e|0));dn(a,b+48|0);return 0}function Hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+216|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=328938;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Im(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i+8|0;g=i;do if(a[d+36>>0]|0?(f=d+40|0,(c[d+60>>2]|0)==1):0){e=vx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Al(f,e);break}e=d+64|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=306142;c[g+4>>2]=e;gm(b,f,304828,g)}while(0);f=d+100|0;if((c[d+120>>2]|0)!=1){aa=i;return 0}e=vx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Al(f,e);aa=i;return 0}e=d+124|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=328078;c[h+4>>2]=e;gm(b,f,304828,h);aa=i;return 0}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+236|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=327973;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Km(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+236|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=327973;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Kc(b+60|0,g);else{LA(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=vx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Al(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=306142;c[h+4>>2]=e;gm(b,f,304828,h);aa=i;return 0}function Mm(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}HA(c[b>>2]|0);c[d>>2]=b;return 0}function Nm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=c[b+16>>2]|0;if(!e){aa=h;return 0}e=Hk(e,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=e;gm(b,f,308004,g);aa=h;return 0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=c[b+16>>2]|0;if(!e){aa=h;return 0}e=Hk(e,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=e;gm(b,f,308004,g);aa=h;return 0}function Pm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=c[b+16>>2]|0;if(!e){aa=h;return 0}e=Hk(e,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=e;gm(b,f,308004,g);aa=h;return 0}function Qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Kc(b+60|0,g);else{LA(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=vx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Al(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=306142;c[h+4>>2]=e;gm(b,f,304828,h);aa=i;return 0}function Rm(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}HA(c[b>>2]|0);c[d>>2]=b;return 0}function Sm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+336|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=305587;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Tm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+336|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=305587;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Um(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+356|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=305574;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Vm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+356|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=305574;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Wm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=328078;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Xm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=328078;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Ym(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=328078;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=328078;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function _m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+216|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=328938;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function $m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i+8|0;g=i;do if(a[d+36>>0]|0?(f=d+40|0,(c[d+60>>2]|0)==1):0){e=vx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Al(f,e);break}e=d+64|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=306142;c[g+4>>2]=e;gm(b,f,304828,g)}while(0);f=d+100|0;if((c[d+120>>2]|0)!=1){aa=i;return 0}e=vx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Al(f,e);aa=i;return 0}e=d+124|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=328078;c[h+4>>2]=e;gm(b,f,304828,h);aa=i;return 0}function an(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Kc(b+60|0,g);else{LA(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=vx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Al(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=306142;c[h+4>>2]=e;gm(b,f,304828,h);aa=i;return 0}function bn(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}HA(c[b>>2]|0);c[d>>2]=b;return 0}function cn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=vx((c[b+12>>2]|0)+196|0,f)|0;if((e|0)!=-1){Al(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=327948;c[g+4>>2]=e;gm(b,f,304828,g);aa=h;return 0}function dn(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;s=aa;aa=aa+16|0;r=s;if((c[d+20>>2]|0)!=1){aa=s;return}l=c[b+60>>2]|0;o=(c[b+64>>2]|0)-l|0;q=(o|0)/12|0;e=q+-1|0;p=d+24|0;m=a[p+11>>0]|0;a:do if((o|0)>0){k=m<<24>>24<0;o=k?c[d+28>>2]|0:m&255;n=(o|0)==0;b:do if(k)while(1){g=l+(e*12|0)|0;h=a[g+11>>0]|0;k=h<<24>>24<0;h=h&255;do if(((k?c[l+(e*12|0)+4>>2]|0:h)|0)==(o|0)){i=c[g>>2]|0;j=k?i:g;f=c[p>>2]|0;i=i&255;if(k){if(n)break b;if(!(zz(j,f,o)|0))break b;else break}if(n)break b;if((a[f>>0]|0)==i<<24>>24)do{h=h+-1|0;g=g+1|0;if(!h)break b;f=f+1|0}while((a[g>>0]|0)==(a[f>>0]|0))}while(0);e=e+-1|0;if((e|0)<=-1)break a}else while(1){f=l+(e*12|0)|0;h=a[f+11>>0]|0;j=h<<24>>24<0;h=h&255;do if(((j?c[l+(e*12|0)+4>>2]|0:h)|0)==(o|0)){g=c[f>>2]|0;i=j?g:f;g=g&255;if(j){if(n)break b;if(!(zz(i,p,o)|0))break b;else break}if(n)break b;if((a[p>>0]|0)==g<<24>>24){g=p;do{h=h+-1|0;f=f+1|0;if(!h)break b;g=g+1|0}while((a[f>>0]|0)==(a[g>>0]|0))}}while(0);e=e+-1|0;if((e|0)<=-1)break a}while(0);Al(d,q+~e|0);aa=s;return}while(0);if(m<<24>>24<0)e=c[d+24>>2]|0;else e=p;c[r>>2]=e;gm(b,d,305600,r);aa=s;return}function en(a){a=a|0;var b=0;c[a>>2]=289156;b=a+16|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;b=c[a>>2]|0;if(b|0){c[a+4>>2]=b;HA(b)}HA(a);return}function fn(a){a=a|0;var b=0,d=0;c[a>>2]=289156;d=a+16|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){HA(a);return}d=c[b>>2]|0;if(d|0){c[b+4>>2]=d;HA(d)}HA(b);HA(a);return}function gn(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;if(!f)return 0;n=f+d|0;p=b+16|0;i=c[p>>2]|0;o=i+4|0;g=c[o>>2]|0;j=c[i>>2]|0;m=g-j|0;a:do if(n>>>0>m>>>0){k=j;b=n-m|0;l=i+8|0;h=c[l>>2]|0;if((h-g|0)>>>0>=b>>>0)while(1){a[g>>0]=0;g=(c[o>>2]|0)+1|0;c[o>>2]=g;b=b+-1|0;if(!b)break a}if((n|0)<0)oB();g=h-j|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<n>>>0?n:h):2147483647;if(!h)g=0;else g=FA(h)|0;aC(g+m|0,0,b|0)|0;if((m|0)>0)_B(g|0,k|0,m|0)|0;c[i>>2]=g;c[o>>2]=g+n;c[l>>2]=g+h;if(j|0)HA(k)}while(0);_B((c[c[p>>2]>>2]|0)+d|0,e|0,f|0)|0;return 0}function hn(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;if(!f)return 0;p=f+e|0;n=f+d|0;n=p>>>0>n>>>0?p:n;p=b+16|0;i=c[p>>2]|0;o=i+4|0;g=c[o>>2]|0;j=c[i>>2]|0;m=g-j|0;a:do if(n>>>0>m>>>0){k=j;b=n-m|0;l=i+8|0;h=c[l>>2]|0;if((h-g|0)>>>0>=b>>>0)while(1){a[g>>0]=0;g=(c[o>>2]|0)+1|0;c[o>>2]=g;b=b+-1|0;if(!b)break a}if((n|0)<0)oB();g=h-j|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<n>>>0?n:h):2147483647;if(!h)g=0;else g=FA(h)|0;aC(g+m|0,0,b|0)|0;if((m|0)>0)_B(g|0,k|0,m|0)|0;c[i>>2]=g;c[o>>2]=g+n;c[l>>2]=g+h;if(j|0)HA(k)}while(0);p=c[c[p>>2]>>2]|0;$B(p+d|0,p+e|0,f|0)|0;return 0}function jn(a,b){a=a|0;b=b|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+b;return}function kn(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=a+8|0;if((c[g>>2]|0)==1)return;h=c[a+12>>2]|0;if(h|0)ln(h,d,e,b,0,f);a=ha[c[(c[a>>2]|0)+8>>2]&63](a,b,d,e)|0;c[g>>2]=a;return}function ln(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=aa;aa=aa+32|0;w=x+24|0;v=x+16|0;u=x+8|0;t=x;s=x+28|0;r=e+f|0;if((f|0)<=0){aa=x;return}q=g-e|0;p=b+4|0;n=b+8|0;o=b+12|0;l=(h|0)==1;m=(i|0)!=0;do{c[t>>2]=q+e;mn(b,305703,t);k=0;do{g=e+k|0;if(g>>>0<r>>>0){c[u>>2]=d[g>>0];mn(b,305711,u)}else{a[s>>0]=32;f=c[p>>2]|0;if((c[n>>2]|0)==1){g=f;f=1}else{g=c[o>>2]|0;if(g|0)ln(g,s,1,f,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,f,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}g=g+1|0;c[p>>2]=g;a[s>>0]=32;if((f|0)!=1){f=c[o>>2]|0;if(f|0)ln(f,s,1,g,0,0);g=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=g;g=c[p>>2]|0}c[p>>2]=g+1}j=k|1;k=k+2|0;g=e+j|0;if(g>>>0<r>>>0){c[w>>2]=d[g>>0];mn(b,305711,w);g=c[n>>2]|0;h=c[p>>2]|0}else{a[s>>0]=32;g=c[p>>2]|0;if((c[n>>2]|0)==1)f=1;else{f=c[o>>2]|0;if(f|0)ln(f,s,1,g,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}h=g+1|0;c[p>>2]=h;a[s>>0]=32;if((f|0)==1){g=h;f=1}else{g=c[o>>2]|0;if(g|0)ln(g,s,1,h,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,h,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}h=g+1|0;c[p>>2]=h;g=f}a[s>>0]=32;if((g|0)==1){f=1;g=h}else{g=c[o>>2]|0;if(g|0)ln(g,s,1,h,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,h,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}g=g+1|0;c[p>>2]=g}while(j>>>0<15);h=e+16|0;if(l){a[s>>0]=32;if((f|0)==1)f=1;else{f=c[o>>2]|0;if(f|0)ln(f,s,1,g,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}g=g+1|0;c[p>>2]=g;if(e>>>0<r>>>0){h=f;j=0;do{k=a[e>>0]|0;y=(hA(k&255)|0)==0;a[s>>0]=y?46:k;if((h|0)==1)h=1;else{f=c[o>>2]|0;if(f|0)ln(f,s,1,g,0,0);h=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=h;g=c[p>>2]|0;f=h}g=g+1|0;c[p>>2]=g;j=j+1|0;e=e+1|0}while(e>>>0<r>>>0&j>>>0<16)}}else e=h;if(m&e>>>0>=r>>>0){c[v>>2]=i;mn(b,305716,v);f=c[n>>2]|0;g=c[p>>2]|0}a[s>>0]=10;if((f|0)!=1){f=c[o>>2]|0;if(f|0)ln(f,s,1,g,0,0);g=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=g;g=c[p>>2]|0}c[p>>2]=g+1}while(e>>>0<r>>>0);aa=x;return}function mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+160|0;e=i+144|0;g=i+128|0;f=i;c[e>>2]=d;c[g>>2]=c[e>>2];e=Bz(f,128,b,e)|0;d=e+1|0;if(d>>>0>128){f=aa;aa=aa+((1*d|0)+15&-16)|0;h=f;g=Bz(f,d,b,g)|0}else{h=f;g=e}b=a+4|0;d=c[b>>2]|0;e=a+8|0;if((c[e>>2]|0)==1){a=d;a=a+g|0;c[b>>2]=a;aa=i;return}f=c[a+12>>2]|0;if(f|0)ln(f,h,g,d,0,0);a=ha[c[(c[a>>2]|0)+8>>2]&63](a,d,h,g)|0;c[e>>2]=a;a=c[b>>2]|0;a=a+g|0;c[b>>2]=a;aa=i;return}function nn(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=a+4|0;g=c[j>>2]|0;h=a+8|0;if((c[h>>2]|0)==1){a=g;a=a+d|0;c[j>>2]=a;return}i=c[a+12>>2]|0;if(i|0)ln(i,b,d,g,f,e);a=ha[c[(c[a>>2]|0)+8>>2]&63](a,g,b,d)|0;c[h>>2]=a;a=c[j>>2]|0;a=a+d|0;c[j>>2]=a;return}function on(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=aa;aa=aa+16|0;h=i;f=a+8|0;if((c[f>>2]|0)==1){aa=i;return}g=c[a+12>>2]|0;if(g|0){c[h>>2]=d;c[h+4>>2]=e+d;c[h+8>>2]=b;c[h+12>>2]=e+b;mn(g,305723,h)}h=ha[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e)|0;c[f>>2]=h;aa=i;return}function pn(a,b){a=a|0;b=b|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=b;c[a>>2]=289156;b=FA(12)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+16>>2]=b;return}function qn(a,b){a=a|0;b=b|0;var d=0;d=b+16|0;b=c[d>>2]|0;c[d>>2]=0;c[a>>2]=b;return}function rn(a){a=a|0;c[a>>2]=(c[a>>2]|0)+1;a=a+4|0;c[a>>2]=(c[a>>2]|0)+-1;return}function sn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(e>>>0>4294967279)JA();if(e>>>0<11){a[b+11>>0]=e;if(!e){d=b;e=d+e|0;a[e>>0]=0;return}}else{g=e+16&-16;f=FA(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;b=f}_B(b|0,d|0,e|0)|0;g=b;g=g+e|0;a[g>>0]=0;return}function tn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(e>>>0>4294967279)JA();if(e>>>0<11){a[b+11>>0]=e;if(!e){d=b;e=d+e|0;a[e>>0]=0;return}}else{g=e+16&-16;f=FA(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;b=f}_B(b|0,d|0,e|0)|0;g=b;g=g+e|0;a[g>>0]=0;return}function un(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=d-e|0;c[a>>2]=b+e;c[a+4>>2]=d>>>0<f>>>0?d:f;return}function vn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=d>>>0<b>>>0?d:b;if(e|0?(f=zz(a,c,e)|0,f|0):0)return f|0;return ((b|0)==(d|0)?0:b>>>0<d>>>0?-1:1)|0}function wn(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;c=c>>>0<5?c:5;g=b;a:do if((c|0)<5)c=g;else{d=c;c=b+c|0;while(1){e=d+-1|0;f=b+e|0;if((a[f>>0]|0)==99){d=b+d|0;if((((a[d+-2>>0]|0)==111?(h=d+-1|0,(a[h+-2>>0]|0)==108):0)?(i=h+-1|0,(a[i+-2>>0]|0)==101):0)?(a[i+-1+-2>>0]|0)==114:0)break a;if((e|0)==4){c=g;break a}}else if((e|0)==4){c=g;break a}d=e;c=f}}while(0);return ((c|0)==(b|0)?-1:c-(g+5)|0)|0}function xn(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b;a:do if(!c)c=f;else{c=b+c|0;while(1){e=c+-1|0;if((a[e>>0]|0)==d<<24>>24)break;if((e|0)==(b|0)){c=f;break a}else c=e}}while(0);return ((c|0)==(b|0)?-1:c+~f|0)|0}function yn(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=aa;aa=aa+176|0;l=r+136|0;m=r+112|0;n=r+160|0;q=r;c[q>>2]=289180;c[q+4>>2]=d;c[q+8>>2]=b;c[q+12>>2]=a;j=q+16|0;p=q+64|0;c[p>>2]=0;o=q+72|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[q+104>>2]=0;k=q+108|0;c[k>>2]=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;c[j+24>>2]=0;j=q;d=m+16|0;c[m>>2]=289440;c[m+4>>2]=j;c[d>>2]=m;b=l+16|0;c[b>>2]=l;c[l>>2]=289440;c[l+4>>2]=j;zn(l,q+48|0);b=c[b>>2]|0;if((l|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);b=c[d>>2]|0;if((m|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);b=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((b|0)!=(f|0)){j=n+4|0;g=n+4|0;h=m+4|0;i=m+8|0;while(1){a=c[b>>2]|0;switch(c[a+4>>2]|0){case 0:{An(q,a+8|0)|0;break}case 1:{Bn(l,q,c[a+8>>2]|0);break}case 11:{Bn(l,q,c[a+8>>2]|0);break}case 10:{Bn(l,q,c[a+8>>2]|0);break}case 9:{En(q,c[a+8>>2]|0);break}case 8:{En(q,c[a+8>>2]|0);break}case 7:{d=c[a+8>>2]|0;Bn(n,q,d);switch(c[n>>2]|0){case 1:{Cn(q,d+4|0,c[j>>2]|0,a+12|0);break}case 2:{e=d+4|0;d=c[g>>2]|0;a=a+12|0;c[l>>2]=d;c[m>>2]=0;c[h>>2]=0;c[i>>2]=0;if((d|0)!=-64){Dn(m,l);d=c[m>>2]|0;Cn(q,e,m,a);if(d|0){c[h>>2]=d;HA(d)}}else Cn(q,e,m,a);break}default:{}}break}default:{}}b=b+4|0;if((b|0)==(f|0))break a}}while(0);g=c[k>>2]|0;c[q>>2]=289180;a=q+84|0;e=c[a>>2]|0;if(e|0){f=q+88|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{d=c[b+-20>>2]|0;if(d|0){c[b+-16>>2]=d;HA(d)}d=c[b+-32>>2]|0;if(d|0){c[b+-28>>2]=d;HA(d)}b=b+-36|0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;HA(b)}b=c[o>>2]|0;if(b|0){c[q+76>>2]=b;HA(b)}b=c[p>>2]|0;if((q+48|0)==(b|0)){ma[c[(c[b>>2]|0)+16>>2]&255](b);aa=r;return g|0}if(!b){aa=r;return g|0}ma[c[(c[b>>2]|0)+20>>2]&255](b);aa=r;return g|0}function zn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;e=i;if((b|0)==(a|0)){aa=i;return}g=a+16|0;d=c[g>>2]|0;f=d;h=b+16|0;if((d|0)==(a|0))if((c[h>>2]|0)==(b|0)){na[c[(c[d>>2]|0)+12>>2]&31](d,e);f=c[g>>2]|0;ma[c[(c[f>>2]|0)+16>>2]&255](f);c[g>>2]=0;f=c[h>>2]|0;na[c[(c[f>>2]|0)+12>>2]&31](f,a);f=c[h>>2]|0;ma[c[(c[f>>2]|0)+16>>2]&255](f);c[h>>2]=0;c[g>>2]=a;na[c[(c[e>>2]|0)+12>>2]&31](e,b);ma[c[(c[e>>2]|0)+16>>2]&255](e);c[h>>2]=b;aa=i;return}else{na[c[(c[d>>2]|0)+12>>2]&31](d,b);a=c[g>>2]|0;ma[c[(c[a>>2]|0)+16>>2]&255](a);c[g>>2]=c[h>>2];c[h>>2]=b;aa=i;return}else{d=c[h>>2]|0;if((b|0)==(d|0)){na[c[(c[d>>2]|0)+12>>2]&31](d,a);b=c[h>>2]|0;ma[c[(c[b>>2]|0)+16>>2]&255](b);c[h>>2]=c[g>>2];c[g>>2]=a;aa=i;return}else{c[g>>2]=d;c[h>>2]=f;aa=i;return}}}function An(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,J=0,K=0,L=0,M=0,N=0,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=aa;aa=aa+208|0;S=Z+200|0;R=Z+192|0;Q=Z+184|0;P=Z+176|0;O=Z+168|0;N=Z+160|0;M=Z+152|0;L=Z+144|0;K=Z+136|0;J=Z+128|0;I=Z+120|0;H=Z+112|0;G=Z+104|0;F=Z+96|0;E=Z+88|0;D=Z+80|0;C=Z+72|0;B=Z+64|0;X=Z+56|0;V=Z+48|0;U=Z+40|0;Y=Z;W=b+16|0;c[W>>2]=d;w=b+24|0;v=b+28|0;u=b+32|0;y=b+36|0;s=b+40|0;T=d+32|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;e=c[T>>2]|0;if(e|0){t=b+20|0;z=b+4|0;x=b+104|0;A=b+48|0;m=Y+28|0;n=Y+16|0;p=Y+32|0;o=Y+4|0;q=Y+20|0;r=Y+8|0;f=0;do{j=e;a:do switch(c[j+32>>2]|0){case 10:{c[s>>2]=(c[s>>2]|0)+1;j=j+12|0;g=e;do if(a[g+48>>0]|0){k=c[W>>2]|0;h=c[k+124>>2]|0;k=(c[k+128>>2]|0)-h>>2;i=c[g+76>>2]|0;if(i>>>0<k>>>0){l=c[h+(i<<2)>>2]|0;Hn(b,j,g+100|0,l+24|0,328938,328056);Hn(b,j,g+88|0,l+12|0,328938,306032);break}else{c[B>>2]=306142;c[B+4>>2]=k;Fn(b,g+52|0,306068,B);break}}while(0);if((c[g+104>>2]|0)!=(c[g+100>>2]|0))Fn(b,j,306156,C);break}case 0:{k=j+12|0;j=e;c[t>>2]=j+36;do if(a[j+48>>0]|0){i=c[W>>2]|0;g=c[i+124>>2]|0;i=(c[i+128>>2]|0)-g>>2;h=c[j+76>>2]|0;if(h>>>0<i>>>0){l=c[g+(h<<2)>>2]|0;Hn(b,k,j+100|0,l+24|0,328938,328056);Hn(b,k,j+88|0,l+12|0,328938,306032);break}else{c[D>>2]=306142;c[D+4>>2]=i;Fn(b,j+52|0,306068,D);break}}while(0);g=j+100|0;if((a[(c[z>>2]|0)+6>>0]|0)==0?(c[j+104>>2]|0)-(c[g>>2]|0)>>2>>>0>1:0){Fn(b,k,306193,E);break a}c[x>>2]=k;ly(A,g);Aj(Y,b);Hj(Y,j+144|0)|0;g=c[m>>2]|0;if(g|0){c[p>>2]=g;HA(g)}g=c[n>>2]|0;if(g|0){c[q>>2]=g;HA(g)}g=c[o>>2]|0;if(g|0){c[r>>2]=g;HA(g)}qz(A);c[t>>2]=0;break}case 1:{l=e;Gn(b,j+12|0,l+56|0,c[l+48>>2]|0,306241);c[u>>2]=(c[u>>2]|0)+1;break}case 2:{k=j+12|0;g=c[e+36>>2]|0;switch(c[g+28>>2]|0){case 4:{c[s>>2]=(c[s>>2]|0)+1;j=g+44|0;do if(a[j>>0]|0){l=c[W>>2]|0;h=c[l+124>>2]|0;l=(c[l+128>>2]|0)-h>>2;i=c[j+28>>2]|0;if(i>>>0<l>>>0){l=c[h+(i<<2)>>2]|0;Hn(b,k,j+52|0,l+24|0,328938,328056);Hn(b,k,j+40|0,l+12|0,328938,306032);break}else{c[F>>2]=306142;c[F+4>>2]=l;Fn(b,j+4|0,306068,F);break}}while(0);if((c[g+100>>2]|0)==(c[g+96>>2]|0))break a;Fn(b,k,306156,G);break a}case 0:{if(!(a[g+44>>0]|0))break a;h=g+48|0;g=c[W>>2]|0;g=(c[g+128>>2]|0)-(c[g+124>>2]|0)>>2;if((c[h+24>>2]|0)>>>0<g>>>0)break a;c[H>>2]=306142;c[H+4>>2]=g;Fn(b,h,306068,H);break a}case 1:{In(b,k,g+32|0);c[w>>2]=(c[w>>2]|0)+1;break a}case 2:{Jn(b,k,g+32|0);c[v>>2]=(c[v>>2]|0)+1;break a}case 3:{if(a[g+48>>0]|0?(a[(c[z>>2]|0)+1>>0]|0)==0:0)Fn(b,k,306271,I);c[y>>2]=(c[y>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;break a}default:break a}}case 3:{k=e;switch(c[k+48>>2]|0){case 4:{g=c[W>>2]|0;g=(c[g+68>>2]|0)-(c[g+64>>2]|0)>>2;if((c[k+76>>2]|0)>>>0<g>>>0)break a;c[J>>2]=327948;c[J+4>>2]=g;Fn(b,k+52|0,306068,J);break a}case 0:{g=c[W>>2]|0;g=(c[g+80>>2]|0)-(c[g+76>>2]|0)>>2;if((c[k+76>>2]|0)>>>0<g>>>0)break a;c[K>>2]=328938;c[K+4>>2]=g;Fn(b,k+52|0,306068,K);break a}case 1:{g=c[W>>2]|0;g=(c[g+140>>2]|0)-(c[g+136>>2]|0)>>2;if((c[k+76>>2]|0)>>>0<g>>>0)break a;c[L>>2]=328078;c[L+4>>2]=g;Fn(b,k+52|0,306068,L);break a}case 2:{g=c[W>>2]|0;g=(c[g+164>>2]|0)-(c[g+160>>2]|0)>>2;if((c[k+76>>2]|0)>>>0<g>>>0)break a;c[M>>2]=328002;c[M+4>>2]=g;Fn(b,k+52|0,306068,M);break a}case 3:{j=k+52|0;i=c[W>>2]|0;h=c[i+88>>2]|0;i=(c[i+92>>2]|0)-h>>2;g=c[k+76>>2]|0;if(g>>>0>=i>>>0){c[N>>2]=327973;c[N+4>>2]=i;Fn(b,j,306068,N);break a}if(!(a[(c[h+(g<<2)>>2]|0)+16>>0]|0))break a;if(a[(c[z>>2]|0)+1>>0]|0)break a;Fn(b,j,306306,O);break a}default:break a}}case 5:{In(b,j+12|0,e+40|0);c[w>>2]=(c[w>>2]|0)+1;break}case 9:{if(f)Fn(b,j+12|0,306341,P);f=e;i=c[W>>2]|0;g=c[i+76>>2]|0;i=(c[i+80>>2]|0)-g>>2;h=c[f+60>>2]|0;if(h>>>0>=i>>>0){c[Q>>2]=328938;c[Q+4>>2]=i;Fn(b,f+36|0,306068,Q);f=1;break a}l=c[g+(h<<2)>>2]|0;f=l;if(l){if((c[f+56>>2]|0)!=(c[f+52>>2]|0))Fn(b,j+12|0,306373,R);if((c[f+68>>2]|0)!=(c[f+64>>2]|0)){Fn(b,j+12|0,306404,S);f=1}else f=1}else f=1;break}case 7:{Jn(b,j+12|0,e+40|0);c[v>>2]=(c[v>>2]|0)+1;break}default:{}}while(0);e=c[e+4>>2]|0}while((e|0)!=0);e=c[T>>2]|0;if(e|0){do{i=e;j=e;do if((c[i+32>>2]|0)==6){f=c[j+100>>2]|0;h=c[j+104>>2]|0;if((f|0)!=(h|0))do{g=c[W>>2]|0;g=(c[g+80>>2]|0)-(c[g+76>>2]|0)>>2;if((c[f+24>>2]|0)>>>0>=g>>>0){c[U>>2]=328938;c[U+4>>2]=g;Fn(b,f,306068,U)}f=f+36|0}while((f|0)!=(h|0));if(!(a[j+84>>0]|0)){f=c[W>>2]|0;f=(c[f+140>>2]|0)-(c[f+136>>2]|0)>>2;if((c[j+72>>2]|0)>>>0<f>>>0){Gn(b,i+12|0,j+88|0,-1,306102);break}else{c[V>>2]=328078;c[V+4>>2]=f;Fn(b,j+48|0,306068,V);break}}}while(0);e=c[e+4>>2]|0}while((e|0)!=0);e=c[T>>2]|0;if(e|0)do{f=e;g=e;do if((c[f+32>>2]|0)==8?(a[g+84>>0]|0)==0:0){h=c[W>>2]|0;h=(c[h+164>>2]|0)-(c[h+160>>2]|0)>>2;if((c[g+72>>2]|0)>>>0<h>>>0){Gn(b,f+12|0,g+88|0,-1,306122);break}else{c[X>>2]=328002;c[X+4>>2]=h;Fn(b,g+48|0,306068,X);break}}while(0);e=c[e+4>>2]|0}while((e|0)!=0)}}e=Y+16|0;c[Y>>2]=289484;c[Y+4>>2]=b;c[e>>2]=Y;nx(d+256|0,Y);e=c[e>>2]|0;if((Y|0)==(e|0)){ma[c[(c[e>>2]|0)+16>>2]&255](e);Y=b+108|0;Y=c[Y>>2]|0;aa=Z;return Y|0}if(!e){Y=b+108|0;Y=c[Y>>2]|0;aa=Z;return Y|0}ma[c[(c[e>>2]|0)+20>>2]&255](e);Y=b+108|0;Y=c[Y>>2]|0;aa=Z;return Y|0}function Bn(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=aa;aa=aa+80|0;k=q+64|0;f=q+56|0;p=q+32|0;l=q+16|0;j=q+8|0;o=b;c[o>>2]=0;c[o+4>>2]=0;a:do switch(c[e+72>>2]|0){case 0:{h=sl(c[d+12>>2]|0,e+24|0)|0;do if(h){f=e+60|0;g=f+11|0;i=a[g>>0]|0;o=i<<24>>24<0;i=uk(h,o?c[f>>2]|0:f,o?c[e+64>>2]|0:i&255)|0;if(!i){if((a[g>>0]|0)<0)f=c[f>>2]|0;c[j>>2]=f;Fn(d,e+4|0,305941,j);f=0;break}n=Ik(h,i+16|0)|0;if(!n)f=0;else{m=e+76|0;h=c[m>>2]|0;g=(c[e+80>>2]|0)-h|0;o=(g|0)/40|0;i=c[n+52>>2]|0;f=(c[n+56>>2]|0)-i>>2;if((f|0)!=(o|0)){c[l>>2]=o>>>0>f>>>0?305970:305975;c[l+4>>2]=o;c[l+8>>2]=f;Fn(d,e+4|0,305979,l);f=0;break}b:do if(g|0){k=n+52|0;f=0;while(1){j=h+(f*40|0)|0;g=c[h+(f*40|0)+20>>2]|0;h=c[i+(f<<2)>>2]|0;if((g|0)!=0&((h|0)!=(g|0)&(h|0)!=0)){do switch(g|0){case -1:{i=328637;break}case -2:{i=328633;break}case -3:{i=328629;break}case -4:{i=328625;break}case -5:{i=328620;break}case -16:{i=328612;break}case -32:{i=328607;break}case -24:{i=328596;break}case -64:{i=328591;break}case -17:{i=328580;break}default:i=328567}while(0);do switch(h|0){case -1:{g=328637;break}case -2:{g=328633;break}case -3:{g=328629;break}case -4:{g=328625;break}case -5:{g=328620;break}case -16:{g=328612;break}case -32:{g=328607;break}case -24:{g=328596;break}case -64:{g=328591;break}case -17:{g=328580;break}default:g=328567}while(0);c[p>>2]=306032;c[p+4>>2]=f;c[p+8>>2]=327987;c[p+12>>2]=i;c[p+16>>2]=g;Fn(d,j,305845,p)}f=f+1|0;if(f>>>0>=o>>>0)break b;h=c[m>>2]|0;i=c[k>>2]|0}}while(0);f=n+64|0}}else{Fn(d,e+4|0,305926,q);f=0}while(0);c[b+4>>2]=f;f=(f|0)!=0&1;break}case 1:{j=b+4|0;i=sl(c[d+12>>2]|0,e+24|0)|0;if(!i){Fn(d,e+4|0,305926,f);f=0;break a}f=e+60|0;g=f+11|0;h=a[g>>0]|0;p=h<<24>>24<0;h=uk(i,p?c[f>>2]|0:f,p?c[e+64>>2]|0:h&255)|0;if(h|0){f=Kk(i,h+16|0)|0;if(!f){f=0;break a}c[j>>2]=c[f+12>>2];f=2;break a}if((a[g>>0]|0)<0)f=c[f>>2]|0;c[k>>2]=f;Fn(d,e+4|0,306041,k);f=0;break}default:{aa=q;return}}while(0);c[b>>2]=f;aa=q;return}function Cn(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=aa;aa=aa+32|0;k=n+24|0;m=n;l=d+4|0;f=c[l>>2]|0;g=c[d>>2]|0;h=f-g>>2;i=c[e>>2]|0;j=((c[e+4>>2]|0)-i|0)/40|0;if((h|0)!=(j|0)){c[k>>2]=j;c[k+4>>2]=h;Fn(a,b,305896,k);aa=n;return}if((f|0)==(g|0)){aa=n;return}j=0;while(1){h=c[g+(j<<2)>>2]|0;i=c[i+(j*40|0)+20>>2]|0;if((h|0)!=0&((i|0)!=(h|0)&(i|0)!=0)){do switch(h|0){case -1:{g=328637;break}case -2:{g=328633;break}case -3:{g=328629;break}case -4:{g=328625;break}case -5:{g=328620;break}case -16:{g=328612;break}case -32:{g=328607;break}case -24:{g=328596;break}case -64:{g=328591;break}case -17:{g=328580;break}default:g=328567}while(0);do switch(i|0){case -1:{f=328637;break}case -2:{f=328633;break}case -3:{f=328629;break}case -4:{f=328625;break}case -5:{f=328620;break}case -16:{f=328612;break}case -32:{f=328607;break}case -24:{f=328596;break}case -64:{f=328591;break}case -17:{f=328580;break}default:f=328567}while(0);c[m>>2]=328056;c[m+4>>2]=j;c[m+8>>2]=305762;c[m+12>>2]=g;c[m+16>>2]=f;Fn(a,b,305845,m);f=c[l>>2]|0;g=c[d>>2]|0}h=j+1|0;if(h>>>0>=f-g>>2>>>0)break;i=c[e>>2]|0;j=h}aa=n;return}function Dn(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)oB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=FA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)_B(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;HA(g);return}function En(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+32|0;i=j+8|0;h=j;f=j+16|0;Bn(f,a,b);a:do switch(c[f>>2]|0){case 1:{d=f+4|0;g=c[d>>2]|0;e=c[g>>2]|0;g=(c[g+4>>2]|0)-e|0;if((g|0)==4){c[f>>2]=2;h=c[e>>2]|0;c[d>>2]=h;d=h;break a}c[h>>2]=g>>2;Fn(a,b+4|0,305769,h);c[d>>2]=0;aa=j;return}case 2:{d=c[f+4>>2]|0;break}default:{aa=j;return}}while(0);if(!d){aa=j;return}e=b+4|0;if((d|1|0)==-3){aa=j;return}do switch(d|0){case -1:{d=328637;break}case -2:{d=328633;break}case -3:{d=328629;break}case -4:{d=328625;break}case -5:{d=328620;break}case -16:{d=328612;break}case -32:{d=328607;break}case -24:{d=328596;break}case -64:{d=328591;break}case -17:{d=328580;break}default:d=328567}while(0);c[i>>2]=305762;c[i+4>>2]=d;Fn(a,e,305796,i);aa=j;return}function Fn(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=aa;aa=aa+192|0;h=k+168|0;l=k+144|0;f=k+128|0;g=k;i=k+164|0;j=k+160|0;c[a+108>>2]=1;c[l>>2]=e;c[f>>2]=c[l>>2];c[i>>2]=g;e=(Bz(g,128,d,l)|0)+1|0;if(e>>>0>128){g=aa;aa=aa+((1*e|0)+15&-16)|0;c[i>>2]=g;Bz(g,e,d,f)|0}e=c[a+8>>2]|0;c[j>>2]=1;d=e+4|0;f=c[d>>2]|0;if(f>>>0<(c[e+8>>2]|0)>>>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];c[h+16>>2]=c[b+16>>2];l=Az(g)|0;c[f>>2]=1;j=f+4|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];tn(f+24|0,g,l);c[d>>2]=(c[d>>2]|0)+36;aa=k;return}else{qm(e,j,b,i);aa=k;return}}function Gn(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;o=aa;aa=aa+64|0;n=o+40|0;j=o+32|0;k=o+24|0;m=o+16|0;l=o+8|0;h=o;switch(c[e+8>>2]|0){case 0:{e=-64;break}case 1:{i=3;break}default:{c[h>>2]=g;Fn(b,d,307099,h);aa=o;return}}a:do if((i|0)==3){i=c[e>>2]|0;d=i+12|0;switch(c[i+32>>2]|0){case 15:{e=c[i+60>>2]|0;break a}case 18:{h=c[b+16>>2]|0;e=c[h+88>>2]|0;h=(c[h+92>>2]|0)-e>>2;j=c[i+60>>2]|0;if(j>>>0>=h>>>0){c[k>>2]=327973;c[k+4>>2]=h;Fn(b,i+36|0,306068,k);aa=o;return}h=c[e+(j<<2)>>2]|0;e=c[h+12>>2]|0;if(j>>>0>=(c[b+36>>2]|0)>>>0)Fn(b,d,307172,l);if(!(a[h+16>>0]|0))break a;Fn(b,d,307233,m);break a}default:{c[j>>2]=g;Fn(b,d,307099,j);aa=o;return}}}while(0);if((e|0)==(f|0)){aa=o;return}do switch(e|0){case -1:{h=328637;break}case -2:{h=328633;break}case -3:{h=328629;break}case -4:{h=328625;break}case -5:{h=328620;break}case -16:{h=328612;break}case -32:{h=328607;break}case -24:{h=328596;break}case -64:{h=328591;break}case 0:{h=328587;break}case -17:{h=328580;break}default:h=328567}while(0);do switch(f|0){case -1:{e=328637;break}case -2:{e=328633;break}case -3:{e=328629;break}case -4:{e=328625;break}case -5:{e=328620;break}case -16:{e=328612;break}case -32:{e=328607;break}case -24:{e=328596;break}case -64:{e=328591;break}case 0:{e=328587;break}case -17:{e=328580;break}default:e=328567}while(0);c[n>>2]=g;c[n+4>>2]=h;c[n+8>>2]=e;Fn(b,d,307290,n);aa=o;return}function Hn(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;p=aa;aa=aa+48|0;m=p+24|0;o=p;n=d+4|0;h=c[n>>2]|0;i=c[d>>2]|0;j=h-i>>2;k=c[e>>2]|0;l=(c[e+4>>2]|0)-k>>2;if((j|0)!=(l|0)){c[m>>2]=l;c[m+4>>2]=g;c[m+8>>2]=j;Fn(a,b,306752,m);aa=p;return}if((h|0)==(i|0)){aa=p;return}l=0;while(1){j=c[i+(l<<2)>>2]|0;k=c[k+(l<<2)>>2]|0;if((j|0)!=0&((k|0)!=(j|0)&(k|0)!=0)){do switch(j|0){case -1:{i=328637;break}case -2:{i=328633;break}case -3:{i=328629;break}case -4:{i=328625;break}case -5:{i=328620;break}case -16:{i=328612;break}case -32:{i=328607;break}case -24:{i=328596;break}case -64:{i=328591;break}case -17:{i=328580;break}default:i=328567}while(0);do switch(k|0){case -1:{h=328637;break}case -2:{h=328633;break}case -3:{h=328629;break}case -4:{h=328625;break}case -5:{h=328620;break}case -16:{h=328612;break}case -32:{h=328607;break}case -24:{h=328596;break}case -64:{h=328591;break}case -17:{h=328580;break}default:h=328567}while(0);c[o>>2]=g;c[o+4>>2]=l;c[o+8>>2]=f;c[o+12>>2]=i;c[o+16>>2]=h;Fn(a,b,305845,o);h=c[n>>2]|0;i=c[d>>2]|0}j=l+1|0;if(j>>>0>=h-i>>2>>>0)break;k=c[e>>2]|0;l=j}aa=p;return}function In(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;o=aa;aa=aa+112|0;n=o+104|0;m=o+96|0;l=o+88|0;k=o+56|0;i=o+32|0;h=o+8|0;f=o;if((c[b+24>>2]|0)==1?(a[(c[b+4>>2]|0)+9>>0]|0)==0:0)Fn(b,d,306654,f);j=e+16|0;g=j;f=c[g>>2]|0;g=c[g+4>>2]|0;if(g>>>0>0|(g|0)==0&f>>>0>4294967295){c[h>>2]=306677;p=h+8|0;c[p>>2]=f;c[p+4>>2]=g;g=h+16|0;c[g>>2]=-1;c[g+4>>2]=0;Fn(b,d,306480,h)}if(a[e+32>>0]|0){g=e+24|0;f=g;h=c[f>>2]|0;f=c[f+4>>2]|0;if(f>>>0>0|(f|0)==0&h>>>0>4294967295){c[i>>2]=306677;p=i+8|0;c[p>>2]=h;c[p+4>>2]=f;h=i+16|0;c[h>>2]=-1;c[h+4>>2]=0;Fn(b,d,306516,i);h=g;i=c[h+4>>2]|0;h=c[h>>2]|0}else i=f;g=j;f=c[g>>2]|0;g=c[g+4>>2]|0;if(i>>>0<g>>>0|(i|0)==(g|0)&h>>>0<f>>>0){c[k>>2]=306677;p=k+8|0;c[p>>2]=h;c[p+4>>2]=i;c[k+16>>2]=306677;p=k+24|0;c[p>>2]=f;c[p+4>>2]=g;Fn(b,d,306548,k)}}if(a[e+33>>0]|0)Fn(b,d,321900,l);g=e+40|0;f=c[g>>2]|0;do if((f|0)==-17)if(!(a[(c[b+4>>2]|0)+9>>0]|0)){Fn(b,d,306683,m);f=c[g>>2]|0;break}else{aa=o;return}while(0);if((f+17|0)>>>0<2){aa=o;return}Fn(b,d,306712,n);aa=o;return}function Jn(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;o=aa;aa=aa+112|0;n=o+96|0;m=o+88|0;l=o+56|0;i=o+32|0;h=o+8|0;if((c[b+28>>2]|0)==1)Fn(b,d,306444,o);k=e+16|0;g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(g>>>0>0|(g|0)==0&f>>>0>65536){c[h>>2]=306474;j=h+8|0;c[j>>2]=f;c[j+4>>2]=g;j=h+16|0;c[j>>2]=65536;c[j+4>>2]=0;Fn(b,d,306480,h)}j=e+32|0;if(a[j>>0]|0){g=e+24|0;f=g;h=c[f>>2]|0;f=c[f+4>>2]|0;if(f>>>0>0|(f|0)==0&h>>>0>65536){c[i>>2]=306474;p=i+8|0;c[p>>2]=h;c[p+4>>2]=f;h=i+16|0;c[h>>2]=65536;c[h+4>>2]=0;Fn(b,d,306516,i);h=g;i=c[h+4>>2]|0;h=c[h>>2]|0}else i=f;g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(i>>>0<g>>>0|(i|0)==(g|0)&h>>>0<f>>>0){c[l>>2]=306474;p=l+8|0;c[p>>2]=h;c[p+4>>2]=i;c[l+16>>2]=306474;p=l+24|0;c[p>>2]=f;c[p+4>>2]=g;Fn(b,d,306548,l)}}if(!(a[e+33>>0]|0)){aa=o;return}if(!(a[(c[b+4>>2]|0)+5>>0]|0)){Fn(b,d,306591,m);aa=o;return}if(a[j>>0]|0){aa=o;return}Fn(b,d,306618,n);aa=o;return}function Kn(a){a=a|0;HA(a);return}function Ln(a){a=a|0;var b=0;b=FA(8)|0;c[b>>2]=289484;c[b+4>>2]=c[a+4>>2];return b|0}function Mn(a,b){a=a|0;b=b|0;c[b>>2]=289484;c[b+4>>2]=c[a+4>>2];return}function Nn(a){a=a|0;return}function On(a){a=a|0;HA(a);return}function Pn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=aa;aa=aa+16|0;g=f;h=c[b+4>>2]|0;b=(c[d+20>>2]|0)>(c[e+20>>2]|0)?d+12|0:e+12|0;c[g>>2]=(a[d+11>>0]|0)<0?c[d>>2]|0:d;Fn(h,b,306859,g);aa=f;return}function Qn(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==306778?a+4|0:0)|0}function Rn(a){a=a|0;return 285544}function Sn(a){a=a|0;return}function Tn(a){a=a|0;HA(a);return}function Un(a){a=a|0;var b=0;b=FA(8)|0;c[b>>2]=289440;c[b+4>>2]=c[a+4>>2];return b|0}function Vn(a,b){a=a|0;b=b|0;c[b>>2]=289440;c[b+4>>2]=c[a+4>>2];return}function Wn(a){a=a|0;return}function Xn(a){a=a|0;HA(a);return}function Yn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aa;aa=aa+16|0;e=d;f=c[a+4>>2]|0;a=c[f+104>>2]|0;c[e>>2]=c[b>>2];Fn(f,a,328562,e);aa=d;return}function Zn(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==307331?a+4|0:0)|0}function _n(a){a=a|0;return 285568}function $n(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=289180;e=a+84|0;f=c[e>>2]|0;if(f|0){g=a+88|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{d=c[b+-20>>2]|0;if(d|0){c[b+-16>>2]=d;HA(d)}d=c[b+-32>>2]|0;if(d|0){c[b+-28>>2]=d;HA(d)}b=b+-36|0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;HA(b)}b=c[a+72>>2]|0;if(b|0){c[a+76>>2]=b;HA(b)}b=c[a+64>>2]|0;if((a+48|0)==(b|0)){ma[c[(c[b>>2]|0)+16>>2]&255](b);return}if(!b)return;ma[c[(c[b>>2]|0)+20>>2]&255](b);return}function ao(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=289180;e=a+84|0;f=c[e>>2]|0;if(f|0){g=a+88|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{d=c[b+-20>>2]|0;if(d|0){c[b+-16>>2]=d;HA(d)}d=c[b+-32>>2]|0;if(d|0){c[b+-28>>2]=d;HA(d)}b=b+-36|0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;HA(b)}b=c[a+72>>2]|0;if(b|0){c[a+76>>2]=b;HA(b)}b=c[a+64>>2]|0;if((a+48|0)==(b|0)){ma[c[(c[b>>2]|0)+16>>2]&255](b);HA(a);return}if(!b){HA(a);return}ma[c[(c[b>>2]|0)+20>>2]&255](b);HA(a);return}function bo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;sy(a+48|0,c[b+36>>2]|0);return 0}function co(a,b){a=a|0;b=b|0;var d=0;d=b+12|0;c[a+104>>2]=d;jp(a,d,2,b+48|0);ty(a+48|0,b+88|0,b+100|0);return 0}function eo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+124;Ly(a+48|0);return 0}function fo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;uy(a+48|0,c[b+60>>2]|0);return 0}function go(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;vy(a+48|0,c[b+60>>2]|0);return 0}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;c[a+104>>2]=b+12;f=c[a+16>>2]|0;d=c[f+64>>2]|0;f=(c[f+68>>2]|0)-d>>2;e=c[b+96>>2]|0;if(e>>>0<f>>>0){wy(a+48|0,c[b+60>>2]|0,(c[d+(e<<2)>>2]|0)+52|0);aa=h;return 0}else{c[g>>2]=327948;c[g+4>>2]=f;Fn(a,b+72|0,306068,g);aa=h;return 0}return 0}function io(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+104>>2]=b+12;e=a+48|0;xy(e);a=c[b+36>>2]|0;d=c[b+40>>2]|0;if((a|0)!=(d|0))do{yy(e,c[a+24>>2]|0);a=a+36|0}while((a|0)!=(d|0));yy(e,c[b+72>>2]|0);zy(e);return 0}function jo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;c[a+104>>2]=b+12;f=c[a+16>>2]|0;d=c[f+76>>2]|0;f=(c[f+80>>2]|0)-d>>2;e=c[b+60>>2]|0;if(e>>>0<f>>>0){g=c[d+(e<<2)>>2]|0;Ay(a+48|0,g+52|0,g+64|0);aa=h;return 0}else{c[g>>2]=328938;c[g+4>>2]=f;Fn(a,b+36|0,306068,g);aa=h;return 0}return 0}function ko(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;k=aa;aa=aa+64|0;j=k+8|0;h=k;g=k+16|0;i=d+12|0;c[b+104>>2]=i;e=c[d+124>>2]|0;f=b+16|0;l=c[f>>2]|0;if((c[l+140>>2]|0)-(c[l+136>>2]|0)>>2>>>0<=e>>>0){Zl(g,17);c[h>>2]=c[g>>2];c[h+4>>2]=e;Fn(b,i,307921,h)}do if(a[d+36>>0]|0){g=c[f>>2]|0;f=c[g+124>>2]|0;g=(c[g+128>>2]|0)-f>>2;e=c[d+64>>2]|0;if(e>>>0<g>>>0){l=c[f+(e<<2)>>2]|0;Hn(b,i,d+88|0,l+24|0,328938,328056);Hn(b,i,d+76|0,l+12|0,328938,306032);break}else{c[j>>2]=306142;c[j+4>>2]=g;Fn(b,d+40|0,306068,j);break}}while(0);By(b+48|0,d+76|0,d+88|0);aa=k;return 0}function lo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Ey(a+48|0,c[b+36>>2]|0);return 0}function mo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Gy(a+48|0,c[b+60>>2]|0);return 0}function no(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Hy(a+48|0,c[b+36>>2]|0);return 0}function oo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Iy(a+48|0);return 0}function po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;c[a+104>>2]=b+12;g=a+48|0;f=c[a+16>>2]|0;d=c[f+88>>2]|0;f=(c[f+92>>2]|0)-d>>2;e=c[b+60>>2]|0;if(e>>>0<f>>>0){h=c[(c[d+(e<<2)>>2]|0)+12>>2]|0;Ny(g,h);aa=i;return 0}else{c[h>>2]=327973;c[h+4>>2]=f;Fn(a,b+36|0,306068,h);h=0;Ny(g,h);aa=i;return 0}return 0}function qo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k+8|0;g=k;i=d+12|0;c[b+104>>2]=i;f=c[b+16>>2]|0;e=c[f+88>>2]|0;f=(c[f+92>>2]|0)-e>>2;h=c[d+60>>2]|0;if(h>>>0>=f>>>0){c[g>>2]=327973;c[g+4>>2]=f;Fn(b,d+36|0,306068,g);j=0;b=b+48|0;Oy(b,j);aa=k;return 0}e=c[e+(h<<2)>>2]|0;if(!(a[e+16>>0]|0)){c[j>>2]=h;Fn(b,i,308071,j)}j=c[e+12>>2]|0;b=b+48|0;Oy(b,j);aa=k;return 0}function ro(a,b){a=a|0;b=b|0;var d=0;d=b+12|0;c[a+104>>2]=d;jp(a,d,4,b+48|0);My(a+48|0,b+88|0,b+100|0);return 0}function so(a,b){a=a|0;b=b|0;if(!(c[b+152>>2]|0))return 0;Jy(a+48|0)|0;return 0}function to(a,b){a=a|0;b=b|0;c[a+104>>2]=(c[b+152>>2]|0)==0?b+124|0:b+156|0;Ly(a+48|0);return 0}function uo(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=aa;aa=aa+64|0;i=j+16|0;e=j;f=j+20|0;h=b+12|0;c[a+104>>2]=h;g=b+36|0;d=c[g>>2]|0;k=c[a+16>>2]|0;if((c[k+164>>2]|0)==(c[k+160>>2]|0)){Zl(f,d);c[e>>2]=c[f>>2];Fn(a,h,307658,e);d=c[g>>2]|0}e=c[b+40>>2]|0;Zl(f,d);d=c[f+20>>2]|0;if((e|0)==-1){i=a+48|0;k=c[g>>2]|0;Py(i,k);aa=j;return 0}if(!((e|0)!=0&(e+-1&e|0)==0))Fn(a,h,308635,j+8|0);if(e>>>0<=d>>>0){i=a+48|0;k=c[g>>2]|0;Py(i,k);aa=j;return 0}c[i>>2]=d;Fn(a,h,307864,i);i=a+48|0;k=c[g>>2]|0;Py(i,k);aa=j;return 0}function vo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Qy(a+48|0,kp(a,b+36|0)|0);return 0}function wo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Ry(a+48|0,kp(a,b+36|0)|0);return 0}function xo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Sy(a+48|0,kp(a,b+36|0)|0);return 0}function yo(a,b){a=a|0;b=b|0;var d=0;d=b+12|0;c[a+104>>2]=d;jp(a,d,3,b+48|0);Ty(a+48|0,b+88|0,b+100|0);return 0}function zo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+124;Ly(a+48|0);return 0}function Ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+4|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+164>>2]|0)!=(c[g+160>>2]|0)){g=a+48|0;Uy(g);aa=f;return 0}Zl(d,199);c[e>>2]=c[d>>2];Fn(a,b,307658,e);g=a+48|0;Uy(g);aa=f;return 0}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;j=aa;aa=aa+64|0;i=j+8|0;h=j;g=j+16|0;f=b+12|0;c[a+104>>2]=f;e=a+16|0;d=c[e>>2]|0;if((c[d+164>>2]|0)==(c[d+160>>2]|0)){Zl(g,198);c[h>>2]=c[g>>2];Fn(a,f,307658,h);d=c[e>>2]|0}d=(c[d+176>>2]|0)-(c[d+172>>2]|0)>>2;if((c[b+60>>2]|0)>>>0<d>>>0){aa=j;return 0}c[i>>2]=307991;c[i+4>>2]=d;Fn(a,b+36|0,306068,i);aa=j;return 0}function Co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+4|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+164>>2]|0)!=(c[g+160>>2]|0)){g=a+48|0;Vy(g);aa=f;return 0}Zl(d,200);c[e>>2]=c[d>>2];Fn(a,b,307658,e);g=a+48|0;Vy(g);aa=f;return 0}function Do(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+4|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+164>>2]|0)!=(c[g+160>>2]|0)){g=a+48|0;Wy(g);aa=f;return 0}Zl(d,51);c[e>>2]=c[d>>2];Fn(a,b,307658,e);g=a+48|0;Wy(g);aa=f;return 0}function Eo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+64|0;i=j+8|0;h=j;g=j+16|0;f=b+12|0;c[a+104>>2]=f;e=a+16|0;d=c[e>>2]|0;if((c[d+164>>2]|0)==(c[d+160>>2]|0)){Zl(g,197);c[h>>2]=c[g>>2];Fn(a,f,307658,h);d=c[e>>2]|0}d=(c[d+176>>2]|0)-(c[d+172>>2]|0)>>2;if((c[b+60>>2]|0)>>>0<d>>>0){i=a+48|0;Xy(i);aa=j;return 0}c[i>>2]=307991;c[i+4>>2]=d;Fn(a,b+36|0,306068,i);i=a+48|0;Xy(i);aa=j;return 0}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+4|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+164>>2]|0)!=(c[g+160>>2]|0)){g=a+48|0;Yy(g);aa=f;return 0}Zl(d,50);c[e>>2]=c[d>>2];Fn(a,b,307658,e);g=a+48|0;Yy(g);aa=f;return 0}function Go(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+8|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+140>>2]|0)!=(c[g+136>>2]|0)){g=a+48|0;Zy(g);aa=f;return 0}Zl(d,203);c[e>>2]=c[d>>2];c[e+4>>2]=0;Fn(a,b,307921,e);g=a+48|0;Zy(g);aa=f;return 0}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+64|0;i=j+8|0;h=j;g=j+16|0;f=b+12|0;c[a+104>>2]=f;e=a+16|0;d=c[e>>2]|0;if((c[d+140>>2]|0)==(c[d+136>>2]|0)){Zl(g,202);c[h>>2]=c[g>>2];c[h+4>>2]=0;Fn(a,f,307921,h);d=c[e>>2]|0}d=(c[d+152>>2]|0)-(c[d+148>>2]|0)>>2;if((c[b+60>>2]|0)>>>0<d>>>0){aa=j;return 0}c[i>>2]=307978;c[i+4>>2]=d;Fn(a,b+36|0,306068,i);aa=j;return 0}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+64|0;i=j+8|0;h=j;g=j+16|0;f=b+12|0;c[a+104>>2]=f;e=a+16|0;d=c[e>>2]|0;if((c[d+140>>2]|0)==(c[d+136>>2]|0)){Zl(g,201);c[h>>2]=c[g>>2];c[h+4>>2]=0;Fn(a,f,307921,h);d=c[e>>2]|0}d=(c[d+152>>2]|0)-(c[d+148>>2]|0)>>2;if((c[b+60>>2]|0)>>>0<d>>>0){i=a+48|0;_y(i);aa=j;return 0}c[i>>2]=307978;c[i+4>>2]=d;Fn(a,b+36|0,306068,i);i=a+48|0;_y(i);aa=j;return 0}function Jo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=g+8|0;d=b+12|0;c[a+104>>2]=d;b=c[b+60>>2]|0;h=c[a+16>>2]|0;if((c[h+140>>2]|0)-(c[h+136>>2]|0)>>2>>>0>b>>>0){h=a+48|0;$y(h);aa=g;return 0}Zl(e,204);c[f>>2]=c[e>>2];c[f+4>>2]=b;Fn(a,d,307921,f);h=a+48|0;$y(h);aa=g;return 0}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=g+8|0;d=b+12|0;c[a+104>>2]=d;b=c[b+60>>2]|0;h=c[a+16>>2]|0;if((c[h+140>>2]|0)-(c[h+136>>2]|0)>>2>>>0>b>>>0){h=a+48|0;az(h);aa=g;return 0}Zl(e,205);c[f>>2]=c[e>>2];c[f+4>>2]=b;Fn(a,d,307921,f);h=a+48|0;az(h);aa=g;return 0}function Lo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=g+8|0;d=b+12|0;c[a+104>>2]=d;b=c[b+60>>2]|0;h=c[a+16>>2]|0;if((c[h+140>>2]|0)-(c[h+136>>2]|0)>>2>>>0>b>>>0){h=a+48|0;bz(h);aa=g;return 0}Zl(e,206);c[f>>2]=c[e>>2];c[f+4>>2]=b;Fn(a,d,307921,f);h=a+48|0;bz(h);aa=g;return 0}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=g+8|0;d=b+12|0;c[a+104>>2]=d;b=c[b+60>>2]|0;h=c[a+16>>2]|0;if((c[h+140>>2]|0)-(c[h+136>>2]|0)>>2>>>0>b>>>0){h=a+48|0;cz(h);aa=g;return 0}Zl(e,207);c[f>>2]=c[e>>2];c[f+4>>2]=b;Fn(a,d,307921,f);h=a+48|0;cz(h);aa=g;return 0}function No(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;dz(a+48|0);return 0}function Oo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;ez(a+48|0);return 0}function Po(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;return 0}function Qo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;hz(a+48|0);return 0}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;c[a+104>>2]=b+12;f=c[a+16>>2]|0;d=c[f+76>>2]|0;f=(c[f+80>>2]|0)-d>>2;e=c[b+60>>2]|0;if(e>>>0<f>>>0){g=c[d+(e<<2)>>2]|0;Cy(a+48|0,g+52|0,g+64|0);aa=h;return 0}else{c[g>>2]=328938;c[g+4>>2]=f;Fn(a,b+36|0,306068,g);aa=h;return 0}return 0}function So(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;k=aa;aa=aa+64|0;j=k+8|0;h=k;g=k+16|0;i=d+12|0;c[b+104>>2]=i;e=c[d+124>>2]|0;f=b+16|0;l=c[f>>2]|0;if((c[l+140>>2]|0)-(c[l+136>>2]|0)>>2>>>0<=e>>>0){Zl(g,19);c[h>>2]=c[g>>2];c[h+4>>2]=e;Fn(b,i,307921,h)}do if(a[d+36>>0]|0){g=c[f>>2]|0;f=c[g+124>>2]|0;g=(c[g+128>>2]|0)-f>>2;e=c[d+64>>2]|0;if(e>>>0<g>>>0){l=c[f+(e<<2)>>2]|0;Hn(b,i,d+88|0,l+24|0,328938,328056);Hn(b,i,d+76|0,l+12|0,328938,306032);break}else{c[j>>2]=306142;c[j+4>>2]=g;Fn(b,d+40|0,306068,j);break}}while(0);Dy(b+48|0,d+76|0,d+88|0);aa=k;return 0}function To(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;iz(a+48|0);return 0}function Uo(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=aa;aa=aa+64|0;i=j+16|0;e=j;f=j+20|0;h=b+12|0;c[a+104>>2]=h;g=b+36|0;d=c[g>>2]|0;k=c[a+16>>2]|0;if((c[k+164>>2]|0)==(c[k+160>>2]|0)){Zl(f,d);c[e>>2]=c[f>>2];Fn(a,h,307658,e);d=c[g>>2]|0}e=c[b+40>>2]|0;Zl(f,d);d=c[f+20>>2]|0;if((e|0)==-1){i=a+48|0;k=c[g>>2]|0;jz(i,k);aa=j;return 0}if(!((e|0)!=0&(e+-1&e|0)==0))Fn(a,h,308635,j+8|0);if(e>>>0<=d>>>0){i=a+48|0;k=c[g>>2]|0;jz(i,k);aa=j;return 0}c[i>>2]=d;Fn(a,h,307864,i);i=a+48|0;k=c[g>>2]|0;jz(i,k);aa=j;return 0}function Vo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;lz(a+48|0,c[b+36>>2]|0);return 0}function Wo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;pz(a+48|0);return 0}function Xo(a,b){a=a|0;b=b|0;var d=0;d=b+12|0;c[a+104>>2]=d;jp(a,d,6,b+48|0);kz(a+48|0,b+88|0,b+100|0);return 0}function Yo(a,b){a=a|0;b=b|0;Fy(a+48|0);return 0}function Zo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+124;Ly(a+48|0);return 0}function _o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;c[a+104>>2]=b+12;f=c[a+16>>2]|0;d=c[f+64>>2]|0;f=(c[f+68>>2]|0)-d>>2;e=c[b+60>>2]|0;if(e>>>0<f>>>0){gz(a+48|0,(c[d+(e<<2)>>2]|0)+52|0);aa=h;return 0}else{c[g>>2]=327948;c[g+4>>2]=f;Fn(a,b+36|0,306068,g);aa=h;return 0}return 0}function $o(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;fz(a+48|0);return 0}function ap(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){Zl(i,e);c[h>>2]=c[i>>2];Fn(b,k,307701,h)}}else{Zl(i,e);c[g>>2]=c[i>>2];Fn(b,k,307658,g)}f=c[d+40>>2]|0;Zl(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;qy(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Fn(b,k,308635,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;qy(m,o);aa=n;return 0}c[m>>2]=e;Fn(b,k,307734,m);m=b+48|0;o=c[j>>2]|0;qy(m,o);aa=n;return 0}function bp(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){Zl(i,e);c[h>>2]=c[i>>2];Fn(b,k,307701,h)}}else{Zl(i,e);c[g>>2]=c[i>>2];Fn(b,k,307658,g)}f=c[d+40>>2]|0;Zl(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;ry(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Fn(b,k,308635,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;ry(m,o);aa=n;return 0}c[m>>2]=e;Fn(b,k,307734,m);m=b+48|0;o=c[j>>2]|0;ry(m,o);aa=n;return 0}function cp(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){Zl(i,e);c[h>>2]=c[i>>2];Fn(b,k,307701,h)}}else{Zl(i,e);c[g>>2]=c[i>>2];Fn(b,k,307658,g)}f=c[d+40>>2]|0;Zl(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;my(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Fn(b,k,308635,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;my(m,o);aa=n;return 0}c[m>>2]=e;Fn(b,k,307734,m);m=b+48|0;o=c[j>>2]|0;my(m,o);aa=n;return 0}function dp(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){Zl(i,e);c[h>>2]=c[i>>2];Fn(b,k,307701,h)}}else{Zl(i,e);c[g>>2]=c[i>>2];Fn(b,k,307658,g)}f=c[d+40>>2]|0;Zl(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;ny(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Fn(b,k,308635,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;ny(m,o);aa=n;return 0}c[m>>2]=e;Fn(b,k,307734,m);m=b+48|0;o=c[j>>2]|0;ny(m,o);aa=n;return 0}function ep(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){Zl(i,e);c[h>>2]=c[i>>2];Fn(b,k,307701,h)}}else{Zl(i,e);c[g>>2]=c[i>>2];Fn(b,k,307658,g)}f=c[d+40>>2]|0;Zl(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;oy(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Fn(b,k,308635,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;oy(m,o);aa=n;return 0}c[m>>2]=e;Fn(b,k,307734,m);m=b+48|0;o=c[j>>2]|0;oy(m,o);aa=n;return 0}function fp(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){Zl(i,e);c[h>>2]=c[i>>2];Fn(b,k,307701,h)}}else{Zl(i,e);c[g>>2]=c[i>>2];Fn(b,k,307658,g)}f=c[d+40>>2]|0;Zl(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;py(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Fn(b,k,308635,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;py(m,o);aa=n;return 0}c[m>>2]=e;Fn(b,k,307734,m);m=b+48|0;o=c[j>>2]|0;py(m,o);aa=n;return 0}function gp(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;mz(a+48|0,c[b+36>>2]|0);return 0}function hp(a,b){a=a|0;b=b|0;var d=0;c[a+104>>2]=b+12;d=b+40|0;nz(a+48|0,c[b+36>>2]|0,c[d>>2]|0,c[d+4>>2]|0);return 0}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aa;aa=aa+16|0;e=d;c[a+104>>2]=b+12;f=c[b+36>>2]|0;b=b+40|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];oz(a+48|0,f,e);aa=d;return 0}function jp(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;n=aa;aa=aa+64|0;m=n+16|0;h=n+8|0;g=n;k=n+24|0;l=f+40|0;if((c[f+44>>2]|0)!=(c[l>>2]|0)?(a[(c[b+4>>2]|0)+6>>0]|0)==0:0){Zl(k,e);c[g>>2]=c[k>>2];Fn(b,d,307784,g)}j=f+52|0;if((c[f+56>>2]|0)-(c[j>>2]|0)>>2>>>0>1?(a[(c[b+4>>2]|0)+6>>0]|0)==0:0){Zl(k,e);c[h>>2]=c[k>>2];Fn(b,d,307819,h)}if(!(a[f>>0]|0)){aa=n;return}i=c[b+16>>2]|0;g=c[i+124>>2]|0;i=(c[i+128>>2]|0)-g>>2;h=c[f+28>>2]|0;if(h>>>0<i>>>0){m=c[g+(h<<2)>>2]|0;Zl(k,e);Hn(b,d,j,m+24|0,c[k>>2]|0,328056);Zl(k,e);Hn(b,d,l,m+12|0,c[k>>2]|0,306032);aa=n;return}else{c[m>>2]=306142;c[m+4>>2]=i;Fn(b,f+4|0,306068,m);aa=n;return}}function kp(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;m=aa;aa=aa+16|0;k=m+8|0;l=m;g=c[b+20>>2]|0;e=c[g+52>>2]|0;j=(c[g+56>>2]|0)-e>>2;h=c[g+76>>2]|0;i=c[g+80>>2]|0;f=j+(Fk(h,i)|0)|0;g=Hk(g,d)|0;if(g>>>0<f>>>0)if(g>>>0<j>>>0){l=c[e+(g<<2)>>2]|0;aa=m;return l|0}else{l=Gk(h,i,g-j|0)|0;aa=m;return l|0}if((c[d+20>>2]|0)!=1){c[k>>2]=f;Fn(b,d,308034,k);l=0;aa=m;return l|0}e=d+24|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[l>>2]=e;Fn(b,d,308004,l);l=0;aa=m;return l|0}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,k=0;k=aa;aa=aa+160|0;g=k+136|0;e=k+112|0;j=k;c[j>>2]=289180;c[j+4>>2]=d;c[j+8>>2]=b;f=j+12|0;i=j+64|0;c[i>>2]=0;h=j+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[j+104>>2]=0;c[j+108>>2]=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;c[f+24>>2]=0;c[f+28>>2]=0;f=j;d=e+16|0;c[e>>2]=289440;c[e+4>>2]=f;c[d>>2]=e;b=g+16|0;c[b>>2]=g;c[g>>2]=289440;c[g+4>>2]=f;zn(g,j+48|0);b=c[b>>2]|0;if((g|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);b=c[d>>2]|0;if((e|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);g=An(j,a)|0;c[j>>2]=289180;a=j+84|0;e=c[a>>2]|0;if(e|0){f=j+88|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{d=c[b+-20>>2]|0;if(d|0){c[b+-16>>2]=d;HA(d)}d=c[b+-32>>2]|0;if(d|0){c[b+-28>>2]=d;HA(d)}b=b+-36|0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;HA(b)}b=c[h>>2]|0;if(b|0){c[j+76>>2]=b;HA(b)}b=c[i>>2]|0;if((j+48|0)==(b|0)){ma[c[(c[b>>2]|0)+16>>2]&255](b);aa=k;return g|0}if(!b){aa=k;return g|0}ma[c[(c[b>>2]|0)+20>>2]&255](b);aa=k;return g|0}function mp(a){a=a|0;return}function np(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=aa;aa=aa+176|0;k=j+144|0;f=j+128|0;g=j;h=j+164|0;i=j+160|0;c[k>>2]=e;c[f>>2]=c[k>>2];c[h>>2]=g;e=(Bz(g,128,d,k)|0)+1|0;if(e>>>0>128){g=aa;aa=aa+((1*e|0)+15&-16)|0;c[h>>2]=g;Bz(g,e,d,f)|0}e=c[a+8>>2]|0;c[i>>2]=1;d=e+4|0;f=c[d>>2]|0;if(f>>>0<(c[e+8>>2]|0)>>>0){k=Az(g)|0;c[f>>2]=1;i=f+4|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[i+16>>2]=c[b+16>>2];tn(f+24|0,g,k);c[d>>2]=(c[d>>2]|0)+36;aa=j;return}else{op(e,i,b,h);aa=j;return}}function op(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;o=aa;aa=aa+32|0;i=o;m=b+4|0;g=c[b>>2]|0;k=((c[m>>2]|0)-g|0)/36|0;h=k+1|0;if(h>>>0>119304647)oB();n=b+8|0;l=((c[n>>2]|0)-g|0)/36|0;g=l<<1;g=l>>>0<59652323?(g>>>0<h>>>0?h:g):119304647;do if(g)if(g>>>0>119304647)U();else{j=FA(g*36|0)|0;break}else j=0;while(0);h=j+(k*36|0)|0;l=j+(g*36|0)|0;g=c[d>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];d=c[f>>2]|0;f=Az(d)|0;c[h>>2]=g;g=j+(k*36|0)+4|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];tn(j+(k*36|0)+24|0,d,f);f=h+36|0;d=c[b>>2]|0;g=c[m>>2]|0;if((g|0)==(d|0)){e=d;g=d}else{do{j=h;h=h+-36|0;k=g;g=g+-36|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];j=j+-12|0;k=k+-12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}while((g|0)!=(d|0));e=c[b>>2]|0;g=c[m>>2]|0}c[b>>2]=h;c[m>>2]=f;c[n>>2]=l;d=e;if((g|0)!=(d|0))do{h=g+-12|0;g=g+-36|0;if((a[h+11>>0]|0)<0)HA(c[h>>2]|0)}while((g|0)!=(d|0));if(!e){aa=o;return}HA(e);aa=o;return}function pp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+80|0;d=g+40|0;f=g;e=b+96|0;if(!(c[e>>2]|0)){tt(d,c[b>>2]|0,b);h=c[e>>2]|0;c[e>>2]=h+1;e=b+100|0;h=b+16+(((c[e>>2]|0)+h&1)*40|0)|0;Wx(h);Ux(h,d);Wx(d);d=e}else d=b+100|0;Ux(f,b+16+((c[d>>2]&1)*40|0)|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];Wx(f);aa=g;return}function qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;f=h;g=b+96|0;d=c[g>>2]|0;if(!d){e=b+100|0;do{tt(f,c[b>>2]|0,b);d=c[g>>2]|0;c[g>>2]=d+1;d=b+16+(((c[e>>2]|0)+d&1)*40|0)|0;Wx(d);Ux(d,f);Wx(f);d=c[g>>2]|0}while(!(d|0))}else e=b+100|0;e=c[e>>2]&1;c[a>>2]=c[b+16+(e*40|0)+20>>2];a=a+4|0;if(d>>>0>1){g=e;g=g^1;b=b+16+(g*40|0)+20|0;b=c[b>>2]|0;c[a>>2]=b;aa=h;return}d=b+100|0;do{tt(f,c[b>>2]|0,b);e=c[g>>2]|0;c[g>>2]=e+1;e=b+16+(((c[d>>2]|0)+e&1)*40|0)|0;Wx(e);Ux(e,f);Wx(f)}while((c[g>>2]|0)>>>0<=1);g=c[d>>2]&1;g=g^1;b=b+16+(g*40|0)+20|0;b=c[b>>2]|0;c[a>>2]=b;aa=h;return}function rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;g=i;h=a+96|0;d=c[h>>2]|0;if(!d){e=a+100|0;do{tt(g,c[a>>2]|0,a);d=c[h>>2]|0;c[h>>2]=d+1;d=a+16+(((c[e>>2]|0)+d&1)*40|0)|0;Wx(d);Ux(d,g);Wx(g);d=c[h>>2]|0}while(!(d|0));f=d;d=e}else{f=d;d=a+100|0}d=c[d>>2]&1;if((c[a+16+(d*40|0)+20>>2]|0)!=24){b=0;aa=i;return b|0}if(f>>>0<=1){d=a+100|0;do{tt(g,c[a>>2]|0,a);f=c[h>>2]|0;c[h>>2]=f+1;f=a+16+(((c[d>>2]|0)+f&1)*40|0)|0;Wx(f);Ux(f,g);Wx(g)}while((c[h>>2]|0)>>>0<=1);d=c[d>>2]&1}b=(c[a+16+((d^1)*40|0)+20>>2]|0)==(b|0);aa=i;return b|0}function sp(a){a=a|0;switch(a|0){case 93:case 92:case 96:case 47:case 48:case 45:case 44:case 46:case 43:case 83:case 82:case 85:case 97:case 81:case 80:case 79:case 78:case 77:case 76:case 75:case 74:case 73:case 72:case 71:case 70:case 69:case 60:case 58:case 49:case 99:case 59:case 94:case 67:case 90:case 64:case 95:case 91:case 65:case 56:case 55:case 88:case 87:case 86:case 54:case 53:case 52:case 51:case 89:case 61:case 84:case 100:{a=1;break}default:a=0}return a|0}function tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+80|0;e=h+40|0;f=h;g=a+96|0;if(!(c[g>>2]|0)){d=a+100|0;do{tt(e,c[a>>2]|0,a);i=c[g>>2]|0;c[g>>2]=i+1;i=a+16+(((c[d>>2]|0)+i&1)*40|0)|0;Wx(i);Ux(i,e);Wx(e)}while(!(c[g>>2]|0))}else d=a+100|0;d=c[d>>2]&1;if((c[a+16+(d*40|0)+20>>2]|0)!=(b|0)){i=0;aa=h;return i|0}i=a+100|0;Ux(f,a+16+(d*40|0)|0);b=a+16+((c[i>>2]&1)*40|0)|0;Wx(b);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[i>>2]=c[i>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;Wx(f);i=1;aa=h;return i|0}function up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+80|0;d=f+40|0;e=f;if(!(rp(a,b)|0)){b=0;aa=f;return b|0}g=a+100|0;Ux(d,a+16+((c[g>>2]&1)*40|0)|0);b=a+16+((c[g>>2]&1)*40|0)|0;Wx(b);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[g>>2]=c[g>>2]&1^1;b=a+96|0;c[b>>2]=(c[b>>2]|0)+-1;Wx(d);Ux(e,a+16+((c[g>>2]&1)*40|0)|0);a=a+16+((c[g>>2]&1)*40|0)|0;Wx(a);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[g>>2]=c[g>>2]&1^1;c[b>>2]=(c[b>>2]|0)+-1;Wx(e);b=1;aa=f;return b|0}function vp(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;j=aa;aa=aa+112|0;f=j+80|0;i=j;h=j+40|0;e=j+8|0;g=j+28|0;if(tp(b,d)|0){i=0;aa=j;return i|0}k=b+100|0;Ux(h,b+16+((c[k>>2]&1)*40|0)|0);l=b+16+((c[k>>2]&1)*40|0)|0;Wx(l);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[k>>2]=c[k>>2]&1^1;k=b+96|0;c[k>>2]=(c[k>>2]|0)+-1;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];c[e+16>>2]=c[h+16>>2];Yx(g,h);k=g+11|0;l=(a[k>>0]|0)<0?c[g>>2]|0:g;d=Ox(d)|0;c[i>>2]=l;c[i+4>>2]=d;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];np(b,f,308153,i);if((a[k>>0]|0)<0)HA(c[g>>2]|0);Wx(h);l=1;aa=j;return l|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,l=0,m=0,n=0,o=0,p=0,q=0;p=aa;aa=aa+112|0;h=p+88|0;o=p;f=p+80|0;m=p+40|0;g=p+4|0;k=p+24|0;i=b+100|0;l=b+96|0;n=m+20|0;e=k+11|0;j=0;while(1){qp(f,b);c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];if(ea[d&127](h)|0){e=0;f=8;break}Ux(m,b+16+((c[i>>2]&1)*40|0)|0);q=b+16+((c[i>>2]&1)*40|0)|0;Wx(q);c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[i>>2]=c[i>>2]&1^1;c[l>>2]=(c[l>>2]|0)+-1;if((c[n>>2]|0)==103?(c[g>>2]=c[m>>2],c[g+4>>2]=c[m+4>>2],c[g+8>>2]=c[m+8>>2],c[g+12>>2]=c[m+12>>2],c[g+16>>2]=c[m+16>>2],Yx(k,m),c[o>>2]=(a[e>>0]|0)<0?c[k>>2]|0:k,c[h>>2]=c[g>>2],c[h+4>>2]=c[g+4>>2],c[h+8>>2]=c[g+8>>2],c[h+12>>2]=c[g+12>>2],c[h+16>>2]=c[g+16>>2],np(b,h,308187,o),(a[e>>0]|0)<0):0)HA(c[k>>2]|0);Wx(m);j=j+1|0;if(j>>>0>=10){e=1;f=8;break}}if((f|0)==8){aa=p;return e|0}return 0}function xp(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;o=aa;aa=aa+128|0;j=o+96|0;n=o;m=o+56|0;k=o+40|0;i=o+8|0;l=o+28|0;g=b+100|0;Ux(m,b+16+((c[g>>2]&1)*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;Wx(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;g=b+96|0;c[g>>2]=(c[g>>2]|0)+-1;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;g=d+4|0;if((c[d>>2]|0)!=(c[g>>2]|0)){ZA(k,328535)|0;f=(c[g>>2]|0)-(c[d>>2]|0)|0;if(f|0){h=0;f=(f|0)/12|0;do{do if(h|0)if((h|0)==(f+-1|0)){cB(k,308231)|0;break}else{cB(k,328641)|0;break}while(0);p=c[d>>2]|0;r=p+(h*12|0)|0;f=a[r+11>>0]|0;q=f<<24>>24<0;bB(k,q?c[r>>2]|0:r,q?c[p+(h*12|0)+4>>2]|0:f&255)|0;h=h+1|0;f=((c[g>>2]|0)-(c[d>>2]|0)|0)/12|0}while(h>>>0<f>>>0)}if(e|0){cB(k,308236)|0;cB(k,e)|0;cB(k,328063)|0}};c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[i+16>>2]=c[m+16>>2];Yx(l,m);r=l+11|0;f=k+11|0;q=(a[f>>0]|0)<0?c[k>>2]|0:k;c[n>>2]=(a[r>>0]|0)<0?c[l>>2]|0:l;c[n+4>>2]=q;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];np(b,j,308244,n);if((a[r>>0]|0)<0)HA(c[l>>2]|0);if((a[f>>0]|0)>=0){Wx(m);aa=o;return}HA(c[k>>2]|0);Wx(m);aa=o;return}function yp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+80|0;d=g+40|0;f=g;if(!(tp(a,24)|0)){a=0;aa=g;return a|0}e=a+96|0;if(!(c[e>>2]|0)){tt(d,c[a>>2]|0,a);h=c[e>>2]|0;c[e>>2]=h+1;e=a+100|0;h=a+16+(((c[e>>2]|0)+h&1)*40|0)|0;Wx(h);Ux(h,d);Wx(d);d=e}else d=a+100|0;Ux(f,a+16+((c[d>>2]&1)*40|0)|0);Wx(f);xp(a,b,0);h=1;aa=g;return h|0}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;e=g;f=a+96|0;if(!(c[f>>2]|0)){d=a+100|0;do{tt(e,c[a>>2]|0,a);h=c[f>>2]|0;c[f>>2]=h+1;h=a+16+(((c[d>>2]|0)+h&1)*40|0)|0;Wx(h);Ux(h,e);Wx(e)}while(!(c[f>>2]|0))}else d=a+100|0;d=c[d>>2]&1;if((c[a+16+(d*40|0)+20>>2]|0)!=105){aa=g;return}h=a+100|0;Ux(e,a+16+(d*40|0)|0);a=a+16+((c[h>>2]&1)*40|0)|0;Wx(a);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[h>>2]=c[h>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;UA(b,e+24|0)|0;Wx(e);aa=g;return}function Ap(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;k=aa;aa=aa+96|0;j=k+56|0;h=k+8|0;i=k+16|0;g=k;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{tt(j,c[b>>2]|0,b);l=c[f>>2]|0;c[f>>2]=l+1;l=b+16+(((c[e>>2]|0)+l&1)*40|0)|0;Wx(l);Ux(l,j);Wx(j)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;switch(c[b+16+(e*40|0)+20>>2]|0){case 42:{l=b+100|0;Ux(i,b+16+(e*40|0)|0);e=b+16+((c[l>>2]&1)*40|0)|0;Wx(e);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[l>>2]=c[l>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;f=i+28|0;e=a[f+11>>0]|0;l=e<<24>>24<0;f=l?c[f>>2]|0:f;e=l?c[i+32>>2]|0:e&255;l=g;c[l>>2]=-1;c[l+4>>2]=0;if((Fx(f,f+e|0,g)|0)==1){c[h>>2]=e;c[h+4>>2]=f;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];np(b,j,308269,h)}vl(j,c[g>>2]|0,i);xl(d,j)|0;Cl(j);Wx(i);l=0;aa=k;return l|0}case 105:{h=b+100|0;Ux(j,b+16+(e*40|0)|0);l=b+16+((c[h>>2]&1)*40|0)|0;Wx(l);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[h>>2]=c[h>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;h=j+24|0;l=a[h+11>>0]|0;b=l<<24>>24<0;wl(i,b?c[h>>2]|0:h,b?c[j+28>>2]|0:l&255,j);xl(d,i)|0;Cl(i);Wx(j);l=0;aa=k;return l|0}default:{d=FA(16)|0;c[i>>2]=d;c[i+8>>2]=-2147483632;c[i+4>>2]=15;e=d;f=308288;g=e+15|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+15>>0]=0;h=i+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a[h+11>>0]=6;a[h>>0]=a[308304]|0;a[h+1>>0]=a[308305]|0;a[h+2>>0]=a[308306]|0;a[h+3>>0]=a[308307]|0;a[h+4>>0]=a[308308]|0;a[h+5>>0]=a[308309]|0;a[h+6>>0]=0;f=j+4|0;g=FA(24)|0;c[j>>2]=g;l=g+24|0;c[j+8>>2]=l;LA(g,i);e=g+12|0;LA(e,h);c[f>>2]=l;xp(b,j,308311);if((a[g+23>>0]|0)<0)HA(c[e>>2]|0);if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);c[f>>2]=g;HA(g);HA(d);l=1;aa=k;return l|0}}return 0}function Bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+48|0;f=h;g=a+96|0;if(!(c[g>>2]|0)){e=a+100|0;do{tt(f,c[a>>2]|0,a);i=c[g>>2]|0;c[g>>2]=i+1;i=a+16+(((c[e>>2]|0)+i&1)*40|0)|0;Wx(i);Ux(i,f);Wx(f)}while(!(c[g>>2]|0))}else e=a+100|0;switch(c[a+16+((c[e>>2]&1)*40|0)+20>>2]|0){case 105:case 42:{Ap(a,b)|0;i=1;aa=h;return i|0}default:{zl(b,d)|0;i=0;aa=h;return i|0}}return 0}function Cp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+32|0;h=j+12|0;i=j;a:do if(up(b,28)|0){if((Dp(b,d)|0)==1){b=1;aa=j;return b|0}if((vp(b,34)|0)==1){b=1;aa=j;return b|0}}else{qp(h,b);b:do if((c[h>>2]|0)==24){e=c[h+4>>2]|0;if(!(sp(e)|0))switch(e|0){case 98:case 66:case 68:case 50:break;default:break b}if((Ep(b,d)|0)==1)e=1;else break a;aa=j;return e|0}while(0);g=FA(16)|0;c[i>>2]=g;c[i+8>>2]=-2147483632;c[i+4>>2]=14;e=g;d=308322;f=e+14|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(f|0));a[g+14>>0]=0;e=h+4|0;d=FA(12)|0;c[h>>2]=d;f=d+12|0;c[h+8>>2]=f;LA(d,i);c[e>>2]=f;xp(b,h,308337);if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);c[e>>2]=d;HA(d);HA(g);b=1;aa=j;return b|0}while(0);b=0;aa=j;return b|0}function Dp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=aa;aa=aa+32|0;i=h+12|0;j=h;f=Jp(b,d)|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;a[j+11>>0]=8;e=j;c[e>>2]=1763733089;c[e+4>>2]=1920234350;a[j+8>>0]=0;e=i+4|0;g=FA(12)|0;c[i>>2]=g;d=g+12|0;c[i+8>>2]=d;LA(g,j);c[e>>2]=d;d=(yp(b,i)|0)==1;if((a[g+11>>0]|0)>=0){c[e>>2]=g;HA(g);j=d?1:f;aa=h;return j|0}HA(c[g>>2]|0);c[e>>2]=g;HA(g);j=d?1:f;aa=h;return j|0}function Ep(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;A=aa;aa=aa+464|0;z=A+416|0;q=A;y=A+272|0;g=A+376|0;r=A+48|0;i=A+336|0;j=A+296|0;k=A+232|0;l=A+192|0;m=A+152|0;n=A+112|0;h=A+72|0;p=A+8|0;o=b+96|0;e=c[o>>2]|0;if(!e){f=b+100|0;do{tt(z,c[b>>2]|0,b);e=c[o>>2]|0;c[o>>2]=e+1;e=b+16+(((c[f>>2]|0)+e&1)*40|0)|0;Wx(e);Ux(e,z);Wx(z);e=c[o>>2]|0}while(!(e|0))}else f=b+100|0;f=c[f>>2]&1;if((c[b+16+(f*40|0)+20>>2]|0)!=24){aa=A;return 1}if(e>>>0>1)e=f;else{e=b+100|0;do{tt(z,c[b>>2]|0,b);w=c[o>>2]|0;c[o>>2]=w+1;w=b+16+(((c[e>>2]|0)+w&1)*40|0)|0;Wx(w);Ux(w,z);Wx(z)}while((c[o>>2]|0)>>>0<=1);e=c[e>>2]&1}if(sp(c[b+16+((e^1)*40|0)+20>>2]|0)|0){x=b+100|0;Ux(g,b+16+(e*40|0)|0);w=b+16+((c[x>>2]&1)*40|0)|0;Wx(w);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[x>>2]=c[x>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;Wx(g);c[z>>2]=0;if((Fp(b,z)|0)==1){e=c[z>>2]|0;c[z>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);aa=A;return 1}if((Gp(b,d)|0)==1){e=c[z>>2]|0;c[z>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);aa=A;return 1}c[r+8>>2]=117440512;a[r>>0]=a[308353]|0;a[r+1>>0]=a[308354]|0;a[r+2>>0]=a[308355]|0;a[r+3>>0]=a[308356]|0;a[r+4>>0]=a[308357]|0;a[r+5>>0]=a[308358]|0;a[r+6>>0]=a[308359]|0;a[r+7>>0]=0;f=y+4|0;g=FA(12)|0;c[y>>2]=g;e=g+12|0;c[y+8>>2]=e;LA(g,r);c[f>>2]=e;e=(yp(b,y)|0)==1;if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);c[f>>2]=g;HA(g);g=c[z>>2]|0;c[z>>2]=0;if(e){if(g|0)ma[c[(c[g>>2]|0)+4>>2]&255](g);aa=A;return 1}f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[g+8>>2]=e;e=e+4|0}c[e>>2]=g;c[f>>2]=g;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;b=vp(b,34)|0;b=(b|0)==1;b=b&1;aa=A;return b|0}pp(r,b);if((c[o>>2]|0)>>>0>1)e=b+100|0;else{e=b+100|0;do{tt(z,c[b>>2]|0,b);w=c[o>>2]|0;c[o>>2]=w+1;w=b+16+(((c[e>>2]|0)+w&1)*40|0)|0;Wx(w);Ux(w,z);Wx(z)}while((c[o>>2]|0)>>>0<=1)}e=c[e>>2]&1;a:do switch(c[b+16+((e^1)*40|0)+20>>2]|0){case 50:{g=b+100|0;Ux(i,b+16+(e*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;Wx(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;Wx(i);Ux(j,b+16+((c[g>>2]&1)*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;Wx(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;Wx(j);g=FA(144)|0;c[g+4>>2]=0;h=g+8|0;c[h>>2]=0;e=g+12|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[e+16>>2]=c[r+16>>2];c[g+32>>2]=7;c[g>>2]=288152;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;vl(g+52|0,-1,z);f=g+88|0;i=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));Hp(b,e);if((Ip(b,g+48|0)|0)!=1?(Jp(b,g+112|0)|0)!=1:0){pp(z,b);f=g+124|0;c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[f+16>>2]=c[z+16>>2];f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=e+4|0}c[e>>2]=g;e=f;x=122;break a}ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break}case 68:{g=b+100|0;Ux(k,b+16+(e*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;Wx(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;Wx(k);Ux(l,b+16+((c[g>>2]&1)*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;Wx(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;Wx(l);g=FA(144)|0;c[g+4>>2]=0;h=g+8|0;c[h>>2]=0;e=g+12|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[e+16>>2]=c[r+16>>2];c[g+32>>2]=25;c[g>>2]=287896;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;vl(g+52|0,-1,z);f=g+88|0;i=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));Hp(b,e);if((Ip(b,g+48|0)|0)!=1?(Jp(b,g+112|0)|0)!=1:0){pp(z,b);f=g+124|0;c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[f+16>>2]=c[z+16>>2];f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=e+4|0}c[e>>2]=g;e=f;x=122;break a}ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break}case 66:{g=b+100|0;Ux(m,b+16+(e*40|0)|0);w=b+16+((c[g>>2]&1)*40|0)|0;Wx(w);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;Wx(m);Ux(n,b+16+((c[g>>2]&1)*40|0)|0);w=b+16+((c[g>>2]&1)*40|0)|0;Wx(w);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;Wx(n);g=FA(176)|0;c[g+4>>2]=0;w=g+8|0;c[w>>2]=0;e=g+12|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[e+16>>2]=c[r+16>>2];c[g+32>>2]=20;c[g>>2]=287976;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;vl(g+52|0,-1,z);f=g+88|0;i=f+88|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));Hp(b,e);b:do if((Ip(b,g+48|0)|0)!=1){qp(z,b);c:do if((c[z>>2]|0)==24){e=c[z+4>>2]|0;if(!(sp(e)|0))switch(e|0){case 98:case 66:case 68:case 50:break;default:{x=52;break c}}c[z>>2]=0;t=z+4|0;c[t>>2]=0;v=z+8|0;c[v>>2]=0;if((Ep(b,z)|0)!=1){h=c[z>>2]|0;f=h;if(!h){e=f;f=0}else{s=d+4|0;u=d+8|0;r=c[s>>2]|0;e=f;k=f;n=c[t>>2]|0;q=c[v>>2]|0;p=c[u>>2]|0;while(1){o=r;r=h;h=c[r+4>>2]|0;do if((k|0)!=(n|0)){f=r+8|0;m=c[f>>2]|0;i=r+4|0;l=m;if(!m){j=h;c[z>>2]=h;e=j;k=j}else{c[m+4>>2]=h;j=c[i>>2]|0}if(!j){c[t>>2]=l;j=m;break}else{c[j+8>>2]=l;j=n;break}}else{c[t>>2]=0;c[z>>2]=0;e=0;k=0;j=0;i=r+4|0;f=r+8|0}while(0);c[f>>2]=0;c[i>>2]=0;q=q+-1|0;if(!o)f=d;else{c[r+8>>2]=o;f=o+4|0}c[f>>2]=r;p=p+1|0;if(!h)break;else n=j}c[v>>2]=q;c[s>>2]=r;c[u>>2]=p;f=0}}else{e=c[z>>2]|0;f=1}if(e|0)do{v=e;e=c[e+4>>2]|0;ma[c[(c[v>>2]|0)+4>>2]&255](v)}while((e|0)!=0);if(f|0)break b}else x=52;while(0);d:do if(up(b,38)|0){if((Dp(b,g+112|0)|0)==1)break b;pp(z,b);y=g+124|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];if((vp(b,34)|0)==1)break b;e:do if(up(b,62)|0){if((Dp(b,g+144|0)|0)==1)break b;if((vp(b,34)|0)==1)break b}else{qp(z,b);f:do if((c[z>>2]|0)==24){e=c[z+4>>2]|0;if(!(sp(e)|0))switch(e|0){case 98:case 66:case 68:case 50:break;default:break f}if((Ep(b,g+144|0)|0)==1)break b;else break e}while(0)}while(0);pp(z,b);y=g+156|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2]}else{qp(z,b);g:do if((c[z>>2]|0)==24){e=c[z+4>>2]|0;if(!(sp(e)|0))switch(e|0){case 98:case 66:case 68:case 50:break;default:break g}if((Ep(b,g+112|0)|0)==1)break b;pp(z,b);y=g+124|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];qp(z,b);h:do if((c[z>>2]|0)==24){e=c[z+4>>2]|0;if(!(sp(e)|0))switch(e|0){case 98:case 66:case 68:case 50:break;default:break h}if((Ep(b,g+144|0)|0)==1)break b;pp(z,b);y=g+156|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];break d}while(0);break d}while(0);tp(b,24)|0;a[y+11>>0]=10;f=y;e=308361;i=f+10|0;do{a[f>>0]=a[e>>0]|0;f=f+1|0;e=e+1|0}while((f|0)<(i|0));a[y+10>>0]=0;e=z+4|0;f=FA(12)|0;c[z>>2]=f;d=f+12|0;c[z+8>>2]=d;LA(f,y);c[e>>2]=d;xp(b,z,308372);if((a[f+11>>0]|0)<0)HA(c[f>>2]|0);c[e>>2]=f;HA(f);break b}while(0);f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[w>>2]=e;e=e+4|0}c[e>>2]=g;e=f;x=122;break a}while(0);ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break}case 98:{x=b+100|0;Ux(h,b+16+(e*40|0)|0);e=b+16+((c[x>>2]&1)*40|0)|0;Wx(e);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[x>>2]=c[x>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;Wx(h);Ux(p,b+16+((c[x>>2]&1)*40|0)|0);e=b+16+((c[x>>2]&1)*40|0)|0;Wx(e);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[x>>2]=c[x>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;e=c[p+24>>2]|0;if(!(am(e,c[b+12>>2]|0)|0)){c[y>>2]=c[p>>2];c[y+4>>2]=c[p+4>>2];c[y+8>>2]=c[p+8>>2];c[y+12>>2]=c[p+12>>2];c[y+16>>2]=c[p+16>>2];Zl(z,e);c[q>>2]=c[z>>2];c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];c[z+12>>2]=c[y+12>>2];c[z+16>>2]=c[y+16>>2];np(b,z,308208,q)}Wx(p);g=FA(156)|0;c[g+4>>2]=0;h=g+8|0;c[h>>2]=0;e=g+12|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[e+16>>2]=c[r+16>>2];c[g+32>>2]=52;c[g>>2]=287512;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;vl(g+52|0,-1,z);f=g+88|0;i=f+68|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));Hp(b,e);if((Ip(b,g+48|0)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}if((Jp(b,g+112|0)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}pp(z,b);y=g+124|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];if((vp(b,24)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}if((vp(b,57)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}if((Dp(b,g+144|0)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}if((vp(b,34)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=e+4|0}c[e>>2]=g;e=f;x=122;break}default:x=121}while(0);if((x|0)==121){aa=A;return 1}else if((x|0)==122){c[e>>2]=g;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;b=vp(b,34)|0;b=(b|0)==1;b=b&1;aa=A;return b|0}return 0} -function DA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(a>>>0<212){a=EA(282784,282976,a)|0;a=c[a>>2]|0}else{i=(a>>>0)/210|0;h=i*210|0;b=h;f=0;h=(EA(282976,283168,a-h|0)|0)-282976>>2;while(1){a=(c[282976+(h<<2)>>2]|0)+b|0;e=5;while(1){if(e>>>0>=47){j=6;break}b=c[282784+(e<<2)>>2]|0;d=(a>>>0)/(b>>>0)|0;if(d>>>0<b>>>0)break a;if((a|0)==(v(d,b)|0)){a=f;break}else e=e+1|0}b:do if((j|0)==6){j=0;g=211;d=f;c:while(1){b=(a>>>0)/(g>>>0)|0;do if(b>>>0>=g>>>0)if((a|0)!=(v(b,g)|0)){e=g+10|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+12|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+16|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+18|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+22|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+28|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)==(v(b,e)|0)){f=9;b=e}else{e=g+30|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+36|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+40|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+42|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+46|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+52|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+58|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+60|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+66|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+70|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+72|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+78|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+82|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+88|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+96|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+100|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+102|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+106|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+108|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+112|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+120|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+126|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+130|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+136|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+138|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+142|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+148|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+150|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+156|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+162|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+166|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+168|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+172|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+178|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+180|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+186|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+190|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+192|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+196|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+198|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}b=g+208|0;k=(a>>>0)/(b>>>0)|0;e=k>>>0<b>>>0;k=(a|0)==(v(k,b)|0);f=e?1:k?9:0;b=e|k?b:g+210|0;d=e?a:d}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=g}else{f=1;b=g;d=a}while(0);switch(f&15){case 9:{a=d;break b}case 0:{g=b;break}default:break c}}if(!f)a=d;else{a=d;break a}}while(0);k=h+1|0;g=(k|0)==48;b=i+(g&1)|0;i=b;b=b*210|0;f=a;h=g?0:k}}while(0);return a|0}function EA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a;a=b-a>>2;while(1){if(!a)break;b=(a|0)/2|0;g=e+(b<<2)|0;f=(c[g>>2]|0)>>>0<d>>>0;e=f?g+4|0:e;a=f?a+-1-b|0:b}return e|0}function FA(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=zA(b)|0;if(a|0)break;a=NB()|0;if(!a){a=0;break}la[a&15]()}return a|0}function GA(a){a=a|0;return FA(a)|0}function HA(a){a=a|0;AA(a);return}function IA(a){a=a|0;HA(a);return}function JA(){U()}function KA(){U()}function LA(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)MA(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function MA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)JA();if(e>>>0<11)a[b+11>>0]=e;else{g=e+16&-16;f=FA(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;b=f}NA(b,d,e)|0;OA(b+e|0,0);return}function NA(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)_B(a|0,b|0,c|0)|0;return a|0}function OA(b,c){b=b|0;c=c|0;a[b>>0]=c;return}function PA(a){a=a|0;return Az(a)|0}function QA(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)aC(a|0,(RA(c)|0)&255|0,b|0)|0;return a|0}function RA(a){a=a|0;return a&255|0}function SA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,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<e>>>0)KA();else{g=g-e|0;MA(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function TA(b){b=b|0;if((a[b+11>>0]|0)<0)HA(c[b>>2]|0);return}function UA(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d+11>>0]|0;f=e<<24>>24<0;VA(b,f?c[d>>2]|0:d,f?c[d+4>>2]|0:e&255)|0}return b|0}function VA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+11|0;f=a[h>>0]|0;g=f<<24>>24<0;if(g)i=(c[b+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;WA(f,d,e)|0;OA(f+e|0,0);if((a[h>>0]|0)<0){c[b+4>>2]=e;break}else{a[h>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;XA(b,i,e-i|0,f,0,f,e,d)}while(0);return b|0}function WA(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)$B(a|0,b|0,c|0)|0;return a|0}function XA(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;if((-18-d|0)>>>0<e>>>0)JA();if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){l=e+d|0;k=d<<1;l=l>>>0<k>>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=FA(l)|0;if(g|0)NA(k,m,g)|0;if(i|0)NA(k+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)NA(k+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)HA(m);c[b>>2]=k;c[b+8>>2]=l|-2147483648;m=e+i|0;c[b+4>>2]=m;OA(k+m|0,0);return}function YA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b+11|0;f=a[i>>0]|0;g=f<<24>>24<0;if(g){k=c[b+4>>2]|0;e=(c[b+8>>2]&2147483647)+-1|0}else{k=f&255;e=10}d=k>>>0<11;j=d?10:(k+16&-16)+-1|0;do if((j|0)!=(e|0)){do if(d){d=c[b>>2]|0;if(g){f=b;g=0;h=11}else{NA(b,d,(f&255)+1|0)|0;HA(d);h=14}}else{d=j+1|0;e=FA(d)|0;if(g){f=e;g=1;d=c[b>>2]|0;h=11;break}else{NA(e,b,(f&255)+1|0)|0;f=e;e=b+4|0;h=13;break}}while(0);if((h|0)==11){e=b+4|0;NA(f,d,(c[e>>2]|0)+1|0)|0;HA(d);if(g){d=j+1|0;h=13}else h=14}if((h|0)==13){c[b+8>>2]=d|-2147483648;c[e>>2]=k;c[b>>2]=f;break}else if((h|0)==14){a[i>>0]=k;break}}while(0);return}function ZA(a,b){a=a|0;b=b|0;return VA(a,b,PA(b)|0)|0}function _A(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+11|0;e=a[f>>0]|0;g=e<<24>>24<0;if(g)e=c[b+4>>2]|0;else e=e&255;do if(e>>>0>=d>>>0)if(g){OA((c[b>>2]|0)+d|0,0);c[b+4>>2]=d;break}else{OA(b+d|0,0);a[f>>0]=d;break}else $A(b,d-e|0,0)|0;while(0);return}function $A(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(d|0){i=b+11|0;f=a[i>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0<d>>>0){aB(b,g,h+d-g|0,h,h,0);f=a[i>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;QA(g+h|0,d,e)|0;f=h+d|0;if((a[i>>0]|0)<0)c[b+4>>2]=f;else a[i>>0]=f;OA(g+f|0,0)}return b|0}function aB(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;if((-17-d|0)>>>0<e>>>0)JA();if((a[b+11>>0]|0)<0)k=c[b>>2]|0;else k=b;if(d>>>0<2147483623){j=e+d|0;i=d<<1;j=j>>>0<i>>>0?i:j;j=j>>>0<11?11:j+16&-16}else j=-17;i=FA(j)|0;if(g|0)NA(i,k,g)|0;e=f-g|0;if(e|0)NA(i+g+h|0,k+g|0,e)|0;if((d|0)!=10)HA(k);c[b>>2]=i;c[b+8>>2]=j|-2147483648;return}function bB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+11|0;f=a[i>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;NA(g+h|0,d,e)|0;f=h+e|0;if((a[i>>0]|0)<0)c[b+4>>2]=f;else a[i>>0]=f;OA(g+f|0,0)}}else XA(b,f,h+e-f|0,h,h,0,e,d);return b|0}function cB(a,b){a=a|0;b=b|0;return bB(a,b,PA(b)|0)|0}function dB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=b+11|0;e=a[h>>0]|0;g=e<<24>>24<0;if(g){f=(c[b+8>>2]&2147483647)+-1|0;i=c[b+4>>2]|0}else{f=10;i=e&255}if((i|0)==(f|0)){aB(b,f,1,f,f,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(g)e=8;else e=7;if((e|0)==7)a[h>>0]=i+1;else if((e|0)==8){h=c[b>>2]|0;c[b+4>>2]=i+1;b=h}i=b+i|0;OA(i,d);OA(i+1|0,0);return}function eB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b+11|0;e=a[j>>0]|0;h=e<<24>>24<0;if(h){f=c[b>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0;i=c[b+4>>2]|0}else{f=b;g=10;i=e&255}d=d-f|0;if((g|0)!=(i|0)){if(h)f=c[b>>2]|0;else f=b;e=i-d|0;if(e){h=f+d|0;WA(h+1|0,h,e)|0}}else{aB(b,i,1,i,d,1);f=c[b>>2]|0}OA(f+d|0,95);e=i+1|0;OA(f+e|0,0);if((a[j>>0]|0)<0)c[b+4>>2]=e;else a[j>>0]=e;return}function fB(a,b){a=a|0;b=b|0;var c=0,d=0;c=aa;aa=aa+16|0;d=c;gB(d);hB(a,d,b);TA(d);aa=c;return}function gB(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}if((a[b+11>>0]|0)<0)d=(c[b+8>>2]&2147483647)+-1|0;else d=10;_A(b,d);return}function hB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;h=d+11|0;f=a[h>>0]|0;if(f<<24>>24<0)g=c[d+4>>2]|0;else g=f&255;while(1){if(f<<24>>24<0)f=c[d>>2]|0;else f=d;c[i>>2]=e;f=yz(f,g+1|0,329250,i)|0;if((f|0)>-1)if(f>>>0>g>>>0)g=f;else break;else g=g<<1|1;_A(d,g);f=a[h>>0]|0}_A(d,f);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];f=0;while(1){if((f|0)==3)break;c[d+(f<<2)>>2]=0;f=f+1|0}aa=j;return}function iB(a,b){a=a|0;b=b|0;var c=0,d=0;c=aa;aa=aa+16|0;d=c;jB(d);kB(a,d,b);TA(d);aa=c;return}function jB(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}if((a[b+11>>0]|0)<0)d=(c[b+8>>2]&2147483647)+-1|0;else d=10;_A(b,d);return}function kB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;h=d+11|0;f=a[h>>0]|0;if(f<<24>>24<0)g=c[d+4>>2]|0;else g=f&255;while(1){if(f<<24>>24<0)f=c[d>>2]|0;else f=d;c[i>>2]=e;f=yz(f,g+1|0,329253,i)|0;if((f|0)>-1)if(f>>>0>g>>>0)g=f;else break;else g=g<<1|1;_A(d,g);f=a[h>>0]|0}_A(d,f);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];f=0;while(1){if((f|0)==3)break;c[d+(f<<2)>>2]=0;f=f+1|0}aa=j;return}function lB(a,b){a=a|0;b=b|0;var c=0,d=0;c=aa;aa=aa+16|0;d=c;mB(d);nB(a,d,b);TA(d);aa=c;return}function mB(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}if((a[b+11>>0]|0)<0)d=(c[b+8>>2]&2147483647)+-1|0;else d=10;_A(b,d);return}function nB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;h=d+11|0;f=a[h>>0]|0;if(f<<24>>24<0)g=c[d+4>>2]|0;else g=f&255;while(1){if(f<<24>>24<0)f=c[d>>2]|0;else f=d;c[i>>2]=e;f=yz(f,g+1|0,329256,i)|0;if((f|0)>-1)if(f>>>0>g>>>0)g=f;else break;else g=g<<1|1;_A(d,g);f=a[h>>0]|0}_A(d,f);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];f=0;while(1){if((f|0)==3)break;c[d+(f<<2)>>2]=0;f=f+1|0}aa=j;return}function oB(){U()}function pB(a){a=a|0;return}function qB(a){a=a|0;HA(a);return}function rB(a){a=a|0;return}function sB(a){a=a|0;return}function tB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+64|0;g=h;if(!(xB(a,b)|0))if((b|0)!=0?(f=BB(b)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;pa[c[(c[f>>2]|0)+28>>2]&15](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;aa=h;return b|0}function uB(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(xB(a,c[b+8>>2]|0)|0)AB(b,d,e,f);return}function vB(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(!(xB(b,c[d+8>>2]|0)|0)){if(xB(b,c[d>>2]|0)|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 zB(d,e,f);while(0);return}function wB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(xB(a,c[b+8>>2]|0)|0)yB(b,d,e);return}function xB(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function yB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=b+16|0;f=c[g>>2]|0;do if(f){if((f|0)!=(d|0)){e=b+36|0;c[e>>2]=(c[e>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}f=b+24|0;if((c[f>>2]|0)==2)c[f>>2]=e}else{c[g>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function zB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+4>>2]|0)==(b|0)?(e=a+28|0,(c[e>>2]|0)!=1):0)c[e>>2]=d;return}function AB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;g=b+16|0;e=c[g>>2]|0;if(!e){c[g>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){f=b+36|0;c[f>>2]=(c[f>>2]|0)+1;a[b+54>>0]=1;break}g=b+24|0;e=c[g>>2]|0;if((e|0)==2){c[g>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function BB(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;q=aa;aa=aa+64|0;p=q;n=c[d>>2]|0;o=d+(c[n+-8>>2]|0)|0;n=c[n+-4>>2]|0;c[p>>2]=286240;c[p+4>>2]=d;c[p+8>>2]=286256;k=p+12|0;e=p+16|0;f=p+20|0;h=p+24|0;j=p+28|0;i=p+32|0;g=p+40|0;d=xB(n,286240)|0;l=k;m=l+40|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));b[k+40>>1]=0;a[k+42>>0]=0;a:do if(d){c[p+48>>2]=1;ra[c[(c[n>>2]|0)+20>>2]&15](n,p,o,o,1,0);d=(c[h>>2]|0)==1?o:0}else{qa[c[(c[n>>2]|0)+24>>2]&15](n,p,o,1,0);switch(c[p+36>>2]|0){case 0:{d=(c[g>>2]|0)==1&(c[j>>2]|0)==1&(c[i>>2]|0)==1?c[f>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[h>>2]|0)!=1?!((c[g>>2]|0)==0&(c[j>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[e>>2]|0}while(0);aa=q;return d|0}function CB(a){a=a|0;HA(a);return}function DB(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(xB(a,c[b+8>>2]|0)|0)AB(b,d,e,f);else{a=c[a+8>>2]|0;ra[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function EB(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(!(xB(b,c[d+8>>2]|0)|0)){if(!(xB(b,c[d>>2]|0)|0)){i=c[b+8>>2]|0;qa[c[(c[i>>2]|0)+24>>2]&15](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;ra[c[(c[b>>2]|0)+20>>2]&15](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 zB(d,e,f);while(0);return}function FB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(xB(a,c[b+8>>2]|0)|0)yB(b,d,e);else{a=c[a+8>>2]|0;pa[c[(c[a>>2]|0)+28>>2]&15](a,b,d,e)}return}function GB(a){a=a|0;HA(a);return}function HB(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(xB(b,c[d+8>>2]|0)|0)AB(d,e,f,g);else{n=d+52|0;i=a[n>>0]|0;m=d+53|0;j=a[m>>0]|0;p=c[b+12>>2]|0;l=b+16+(p<<3)|0;a[n>>0]=0;a[m>>0]=0;LB(b+16|0,d,e,f,g,h);a:do if((p|0)>1){o=d+24|0;k=b+8|0;p=d+54|0;b=b+24|0;do{if(a[p>>0]|0)break a;if(!(a[n>>0]|0)){if(a[m>>0]|0?(c[k>>2]&1|0)==0:0)break a}else{if((c[o>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[n>>0]=0;a[m>>0]=0;LB(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[n>>0]=i;a[m>>0]=j}return}function IB(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(!(xB(b,c[d+8>>2]|0)|0)){if(!(xB(b,c[d>>2]|0)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;MB(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;MB(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;MB(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;MB(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;l=d+52|0;f=d+53|0;o=d+54|0;j=b+8|0;n=d+24|0;m=0;h=0;i=b+16|0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[l>>0]=0;a[f>>0]=0;LB(i,d,e,e,1,g);if(a[o>>0]|0){b=18;break}do if(a[f>>0]|0){if(!(a[l>>0]|0))if(!(c[j>>2]&1)){h=1;b=18;break b}else{b=m;h=1;break}if((c[n>>2]|0)==1){b=23;break b}if(!(c[j>>2]&2)){b=23;break b}else{b=1;h=1}}else b=m;while(0);m=b;i=i+8|0}do if((b|0)==18){if((!m?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[n>>2]|0)==2:0){a[o>>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 zB(d,e,f);while(0);return}function JB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(xB(b,c[d+8>>2]|0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;KB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{KB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else yB(d,e,f);while(0);return}function KB(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;pa[c[(c[a>>2]|0)+28>>2]&15](a,b,d+f|0,(g&2|0)==0?2:e);return}function LB(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;ra[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function MB(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;qa[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function NB(){var a=0;a=c[82498]|0;c[82498]=a+0;return a|0}function OB(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 PB(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=OB(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 QB(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<a>>>0|0)>>>0|0),c|0)|0}function RB(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 SB(a){a=a|0;return (a?31-(w(a^a-1)|0)|0:32)|0}function TB(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (y(n|0),f)|0}c[f>>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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|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=SB(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>>>((SB(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<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (y(o|0),p)|0}c[f>>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=QB(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;RB(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=RB(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 UB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return TB(a,b,c,d,0)|0}function VB(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)-1)<<32-c}y(((b|0)<0?-1:0)|0);return b>>c-32|0}function WB(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)-1)<<32-c}y(0);return b>>>c-32|0}function XB(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}y(a<<c-32|0);return 0}function YB(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function ZB(a,b,c){a=a|0;b=b|0;c=c|0;b=w(b)|0;if((b|0)==32)b=b+(w(a)|0)|0;y(0);return b|0}function _B(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){W(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 $B(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 _B(b,c,d)|0;return b|0}function aC(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 bC(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Z(b|0)|0;P(12);return -1}if((b|0)>(V()|0)){if(!(X(b|0)|0)){P(12);return -1}}else c[i>>2]=b;return d|0}function cC(a,b){a=a|0;b=b|0;return ea[a&127](b|0)|0}function dC(a){a=a|0;return A(0,a|0)|0}function eC(a){a=a|0;return A(1,a|0)|0}function fC(a){a=a|0;return A(2,a|0)|0}function gC(a){a=a|0;return A(3,a|0)|0}function hC(a){a=a|0;return A(4,a|0)|0}function iC(a){a=a|0;return A(5,a|0)|0}function jC(a){a=a|0;return A(6,a|0)|0}function kC(a){a=a|0;return A(7,a|0)|0}function lC(a){a=a|0;return A(8,a|0)|0}function mC(a){a=a|0;return A(9,a|0)|0}function nC(a,b,c){a=a|0;b=b|0;c=c|0;return fa[a&511](b|0,c|0)|0}function oC(a,b){a=a|0;b=b|0;return B(0,a|0,b|0)|0}function pC(a,b){a=a|0;b=b|0;return B(1,a|0,b|0)|0}function qC(a,b){a=a|0;b=b|0;return B(2,a|0,b|0)|0}function rC(a,b){a=a|0;b=b|0;return B(3,a|0,b|0)|0}function sC(a,b){a=a|0;b=b|0;return B(4,a|0,b|0)|0}function tC(a,b){a=a|0;b=b|0;return B(5,a|0,b|0)|0}function uC(a,b){a=a|0;b=b|0;return B(6,a|0,b|0)|0}function vC(a,b){a=a|0;b=b|0;return B(7,a|0,b|0)|0}function wC(a,b){a=a|0;b=b|0;return B(8,a|0,b|0)|0}function xC(a,b){a=a|0;b=b|0;return B(9,a|0,b|0)|0}function yC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ga[a&127](b|0,c|0,d|0)|0}function zC(a,b,c){a=a|0;b=b|0;c=c|0;return C(0,a|0,b|0,c|0)|0}function AC(a,b,c){a=a|0;b=b|0;c=c|0;return C(1,a|0,b|0,c|0)|0}function BC(a,b,c){a=a|0;b=b|0;c=c|0;return C(2,a|0,b|0,c|0)|0}function CC(a,b,c){a=a|0;b=b|0;c=c|0;return C(3,a|0,b|0,c|0)|0}function DC(a,b,c){a=a|0;b=b|0;c=c|0;return C(4,a|0,b|0,c|0)|0}function EC(a,b,c){a=a|0;b=b|0;c=c|0;return C(5,a|0,b|0,c|0)|0}function FC(a,b,c){a=a|0;b=b|0;c=c|0;return C(6,a|0,b|0,c|0)|0}function GC(a,b,c){a=a|0;b=b|0;c=c|0;return C(7,a|0,b|0,c|0)|0}function HC(a,b,c){a=a|0;b=b|0;c=c|0;return C(8,a|0,b|0,c|0)|0}function IC(a,b,c){a=a|0;b=b|0;c=c|0;return C(9,a|0,b|0,c|0)|0}function JC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha[a&63](b|0,c|0,d|0,e|0)|0}function KC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(0,a|0,b|0,c|0,d|0)|0}function LC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(1,a|0,b|0,c|0,d|0)|0}function MC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(2,a|0,b|0,c|0,d|0)|0}function NC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(3,a|0,b|0,c|0,d|0)|0}function OC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(4,a|0,b|0,c|0,d|0)|0}function PC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(5,a|0,b|0,c|0,d|0)|0}function QC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(6,a|0,b|0,c|0,d|0)|0}function RC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(7,a|0,b|0,c|0,d|0)|0}function SC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(8,a|0,b|0,c|0,d|0)|0}function TC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(9,a|0,b|0,c|0,d|0)|0}function UC(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 ia[a&31](b|0,c|0,d|0,e|0,f|0)|0}function VC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(0,a|0,b|0,c|0,d|0,e|0)|0}function WC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(1,a|0,b|0,c|0,d|0,e|0)|0}function XC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(2,a|0,b|0,c|0,d|0,e|0)|0}function YC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(3,a|0,b|0,c|0,d|0,e|0)|0}function ZC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(4,a|0,b|0,c|0,d|0,e|0)|0}function _C(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(5,a|0,b|0,c|0,d|0,e|0)|0}function $C(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(6,a|0,b|0,c|0,d|0,e|0)|0}function aD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(7,a|0,b|0,c|0,d|0,e|0)|0}function bD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(8,a|0,b|0,c|0,d|0,e|0)|0}function cD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(9,a|0,b|0,c|0,d|0,e|0)|0}function dD(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 ja[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function eD(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 F(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fD(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 F(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gD(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 F(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hD(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 F(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return F(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jD(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 F(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kD(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 F(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lD(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 F(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mD(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 F(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nD(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 F(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oD(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 ka[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function pD(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 G(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function qD(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 G(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function rD(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 G(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function sD(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 G(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function tD(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 G(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function uD(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 G(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function vD(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 G(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function wD(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 G(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function xD(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 G(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function yD(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 G(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function zD(a){a=a|0;la[a&15]()}function AD(){H(0)}function BD(){H(1)}function CD(){H(2)}function DD(){H(3)}function ED(){H(4)}function FD(){H(5)}function GD(){H(6)}function HD(){H(7)}function ID(){H(8)}function JD(){H(9)}function KD(a,b){a=a|0;b=b|0;ma[a&255](b|0)}function LD(a){a=a|0;I(0,a|0)}function MD(a){a=a|0;I(1,a|0)}function ND(a){a=a|0;I(2,a|0)}function OD(a){a=a|0;I(3,a|0)}function PD(a){a=a|0;I(4,a|0)}function QD(a){a=a|0;I(5,a|0)}function RD(a){a=a|0;I(6,a|0)}function SD(a){a=a|0;I(7,a|0)}function TD(a){a=a|0;I(8,a|0)}function UD(a){a=a|0;I(9,a|0)}function VD(a,b,c){a=a|0;b=b|0;c=c|0;na[a&31](b|0,c|0)}function WD(a,b){a=a|0;b=b|0;J(0,a|0,b|0)}function XD(a,b){a=a|0;b=b|0;J(1,a|0,b|0)}function YD(a,b){a=a|0;b=b|0;J(2,a|0,b|0)}function ZD(a,b){a=a|0;b=b|0;J(3,a|0,b|0)}function _D(a,b){a=a|0;b=b|0;J(4,a|0,b|0)}function $D(a,b){a=a|0;b=b|0;J(5,a|0,b|0)}function aE(a,b){a=a|0;b=b|0;J(6,a|0,b|0)}function bE(a,b){a=a|0;b=b|0;J(7,a|0,b|0)}function cE(a,b){a=a|0;b=b|0;J(8,a|0,b|0)}function dE(a,b){a=a|0;b=b|0;J(9,a|0,b|0)}function eE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oa[a&15](b|0,c|0,d|0)}function fE(a,b,c){a=a|0;b=b|0;c=c|0;K(0,a|0,b|0,c|0)}function gE(a,b,c){a=a|0;b=b|0;c=c|0;K(1,a|0,b|0,c|0)}function hE(a,b,c){a=a|0;b=b|0;c=c|0;K(2,a|0,b|0,c|0)}function iE(a,b,c){a=a|0;b=b|0;c=c|0;K(3,a|0,b|0,c|0)}function jE(a,b,c){a=a|0;b=b|0;c=c|0;K(4,a|0,b|0,c|0)}function kE(a,b,c){a=a|0;b=b|0;c=c|0;K(5,a|0,b|0,c|0)}function lE(a,b,c){a=a|0;b=b|0;c=c|0;K(6,a|0,b|0,c|0)}function mE(a,b,c){a=a|0;b=b|0;c=c|0;K(7,a|0,b|0,c|0)}function nE(a,b,c){a=a|0;b=b|0;c=c|0;K(8,a|0,b|0,c|0)}function oE(a,b,c){a=a|0;b=b|0;c=c|0;K(9,a|0,b|0,c|0)}function pE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;pa[a&15](b|0,c|0,d|0,e|0)}function qE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(0,a|0,b|0,c|0,d|0)}function rE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(1,a|0,b|0,c|0,d|0)}function sE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(2,a|0,b|0,c|0,d|0)}function tE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(3,a|0,b|0,c|0,d|0)}function uE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(4,a|0,b|0,c|0,d|0)}function vE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(5,a|0,b|0,c|0,d|0)}function wE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(6,a|0,b|0,c|0,d|0)}function xE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(7,a|0,b|0,c|0,d|0)}function yE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(8,a|0,b|0,c|0,d|0)}function zE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(9,a|0,b|0,c|0,d|0)}function AE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa[a&15](b|0,c|0,d|0,e|0,f|0)}function BE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(0,a|0,b|0,c|0,d|0,e|0)}function CE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(1,a|0,b|0,c|0,d|0,e|0)}function DE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(2,a|0,b|0,c|0,d|0,e|0)}function EE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(3,a|0,b|0,c|0,d|0,e|0)}function FE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(4,a|0,b|0,c|0,d|0,e|0)}function GE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(5,a|0,b|0,c|0,d|0,e|0)}function HE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(6,a|0,b|0,c|0,d|0,e|0)}function IE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(7,a|0,b|0,c|0,d|0,e|0)}function JE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(8,a|0,b|0,c|0,d|0,e|0)}function KE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(9,a|0,b|0,c|0,d|0,e|0)}function LE(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;ra[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function ME(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(0,a|0,b|0,c|0,d|0,e|0,f|0)}function NE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(1,a|0,b|0,c|0,d|0,e|0,f|0)}function OE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(2,a|0,b|0,c|0,d|0,e|0,f|0)}function PE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(3,a|0,b|0,c|0,d|0,e|0,f|0)}function QE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(4,a|0,b|0,c|0,d|0,e|0,f|0)}function RE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(5,a|0,b|0,c|0,d|0,e|0,f|0)}function SE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(6,a|0,b|0,c|0,d|0,e|0,f|0)}function TE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(7,a|0,b|0,c|0,d|0,e|0,f|0)}function UE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(8,a|0,b|0,c|0,d|0,e|0,f|0)}function VE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(9,a|0,b|0,c|0,d|0,e|0,f|0)}function WE(a){a=a|0;x(0);return 0}function XE(a,b){a=a|0;b=b|0;x(1);return 0}function YE(a,b,c){a=a|0;b=b|0;c=c|0;x(2);return 0}function ZE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x(3);return 0}function _E(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;x(4);return 0}function $E(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(5);return 0}function aF(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(6);return 0}function bF(){x(7)}function cF(a){a=a|0;x(8)}function dF(a,b){a=a|0;b=b|0;x(9)}function eF(a,b,c){a=a|0;b=b|0;c=c|0;x(10)}function fF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x(11)}function gF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;x(12)}function hF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;x(13)} -function vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;Zl(e,c[f>>2]|0);a=c[e>>2]|0;e=Az(a)|0;Nr(d);nn(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;Yr(d,310635,g)}a=c[b+40>>2]|0;if(!(_l(c[f>>2]|0,a)|0)){c[h>>2]=a;Yr(d,310645,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}Nr(d);c[e>>2]=2;aa=i;return 0}function ws(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,22);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function xs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,23);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function ys(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,24);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function zs(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;Zl(e,3);lt(a,2,b+36|0,c[e>>2]|0);aa=d;return 0}function As(a,b){a=a|0;b=b|0;kt(c[a+4>>2]|0);return 0}function Bs(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,199);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Cs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,198);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ds(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,200);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Es(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,51);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Fs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,197);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Gs(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,50);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Hs(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,203);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Is(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,202);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Js(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,201);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ks(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,204);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ls(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,205);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ms(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,206);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ns(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,207);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Os(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,208);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Ps(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,209);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Qs(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,1);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,15);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Ss(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,18);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ts(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=aa;aa=aa+48|0;f=g;h=g+4|0;e=b+4|0;b=c[e>>2]|0;Zl(h,19);h=c[h>>2]|0;i=Az(h)|0;Nr(b);nn(c[b+12>>2]|0,h,i,0,0);c[b+24>>2]=1;b=c[e>>2]|0;Nr(b);i=b+12|0;nn(c[i>>2]|0,328e3,1,0,0);h=b+24|0;c[h>>2]=0;Nr(b);nn(c[i>>2]|0,328089,4,0,0);c[h>>2]=1;b=b+20|0;c[b>>2]=(c[b>>2]|0)+2;b=c[e>>2]|0;if(!(c[d+60>>2]|0)){c[f>>2]=c[d+64>>2];Yr(b,329253,f);c[b+24>>2]=1}else{f=d+64|0;i=a[f+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[f>>2]|0:f,h?c[d+68>>2]|0:i&255,1)}b=c[e>>2]|0;e=b+24|0;if((c[e>>2]|0)==3){i=b+20|0;h=c[i>>2]|0;h=h+-2|0;c[i>>2]=h;Nr(b);i=b+12|0;i=c[i>>2]|0;nn(i,328063,1,0,0);c[e>>2]=2;aa=g;return 0}c[e>>2]=0;i=b+20|0;h=c[i>>2]|0;h=h+-2|0;c[i>>2]=h;Nr(b);i=b+12|0;i=c[i>>2]|0;nn(i,328063,1,0,0);c[e>>2]=2;aa=g;return 0}function Us(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,21);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;Zl(e,c[f>>2]|0);a=c[e>>2]|0;e=Az(a)|0;Nr(d);nn(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;Yr(d,310635,g)}a=c[b+40>>2]|0;if(!(_l(c[f>>2]|0,a)|0)){c[h>>2]=a;Yr(d,310645,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}Nr(d);c[e>>2]=2;aa=i;return 0}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;Zl(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function Xs(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,0);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Ys(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;Zl(e,6);lt(a,5,b+36|0,c[e>>2]|0);aa=d;return 0}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aa;aa=aa+48|0;f=d;b=a+4|0;a=c[b>>2]|0;e=a+20|0;c[e>>2]=(c[e>>2]|0)+-2;Zl(f,7);f=c[f>>2]|0;e=Az(f)|0;Nr(a);nn(c[a+12>>2]|0,f,e,0,0);c[a+24>>2]=1;b=c[b>>2]|0;a=b+20|0;c[a>>2]=(c[a>>2]|0)+2;c[(c[b+32>>2]|0)+-28>>2]=6;a=b+24|0;if((c[a>>2]|0)!=3){c[a>>2]=3;aa=d;return 0}Nr(b);c[a>>2]=3;aa=d;return 0}function _s(a,b){a=a|0;b=b|0;kt(c[a+4>>2]|0);return 0}function $s(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;Zl(i,8);i=c[i>>2]|0;h=Az(i)|0;Nr(g);nn(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];Yr(b,329253,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;Or(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function at(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;Zl(e,9);e=c[e>>2]|0;d=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=1;aa=b;return 0}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;Zl(e,c[f>>2]|0);a=c[e>>2]|0;e=Az(a)|0;Nr(d);nn(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;Yr(d,310635,g)}a=c[b+40>>2]|0;if(!(_l(c[f>>2]|0,a)|0)){c[h>>2]=a;Yr(d,310645,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}Nr(d);c[e>>2]=2;aa=i;return 0}function ct(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;Zl(e,c[f>>2]|0);a=c[e>>2]|0;e=Az(a)|0;Nr(d);nn(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;Yr(d,310635,g)}a=c[b+40>>2]|0;if(!(_l(c[f>>2]|0,a)|0)){c[h>>2]=a;Yr(d,310645,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}Nr(d);c[e>>2]=2;aa=i;return 0}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;Zl(e,c[f>>2]|0);a=c[e>>2]|0;e=Az(a)|0;Nr(d);nn(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;Yr(d,310635,g)}a=c[b+40>>2]|0;if(!(_l(c[f>>2]|0,a)|0)){c[h>>2]=a;Yr(d,310645,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}Nr(d);c[e>>2]=2;aa=i;return 0}function et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;Zl(e,c[f>>2]|0);a=c[e>>2]|0;e=Az(a)|0;Nr(d);nn(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;Yr(d,310635,g)}a=c[b+40>>2]|0;if(!(_l(c[f>>2]|0,a)|0)){c[h>>2]=a;Yr(d,310645,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}Nr(d);c[e>>2]=2;aa=i;return 0}function ft(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;Zl(e,c[f>>2]|0);a=c[e>>2]|0;e=Az(a)|0;Nr(d);nn(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;Yr(d,310635,g)}a=c[b+40>>2]|0;if(!(_l(c[f>>2]|0,a)|0)){c[h>>2]=a;Yr(d,310645,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}Nr(d);c[e>>2]=2;aa=i;return 0}function gt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;Zl(e,c[f>>2]|0);a=c[e>>2]|0;e=Az(a)|0;Nr(d);nn(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;Yr(d,310635,g)}a=c[b+40>>2]|0;if(!(_l(c[f>>2]|0,a)|0)){c[h>>2]=a;Yr(d,310645,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}Nr(d);c[e>>2]=2;aa=i;return 0}function ht(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;Zl(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Az(e)|0;Nr(a);nn(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function it(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=aa;aa=aa+48|0;e=d;g=d+8|0;a=a+4|0;f=c[a>>2]|0;Zl(g,c[b+36>>2]|0);g=c[g>>2]|0;h=Az(g)|0;Nr(f);nn(c[f+12>>2]|0,g,h,0,0);c[f+24>>2]=1;f=c[a>>2]|0;h=b+40|0;g=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=g;Yr(f,310601,e);a=c[a>>2]|0;Nr(a);nn(c[a+12>>2]|0,329996,0,0,0);c[a+24>>2]=2;aa=d;return 0}function jt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=aa;aa=aa+64|0;e=d;h=d+16|0;a=a+4|0;f=c[a>>2]|0;Zl(h,c[b+36>>2]|0);h=c[h>>2]|0;i=Az(h)|0;Nr(f);nn(c[f+12>>2]|0,h,i,0,0);c[f+24>>2]=1;f=c[a>>2]|0;i=c[b+44>>2]|0;h=c[b+48>>2]|0;g=c[b+52>>2]|0;c[e>>2]=c[b+40>>2];c[e+4>>2]=i;c[e+8>>2]=h;c[e+12>>2]=g;Yr(f,310606,e);a=c[a>>2]|0;Nr(a);nn(c[a+12>>2]|0,329996,0,0,0);c[a+24>>2]=2;aa=d;return 0}function kt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i;f=b+20|0;c[f>>2]=(c[f>>2]|0)+-2;f=b+32|0;e=c[f>>2]|0;g=e+-40|0;d=c[e+-12>>2]|0;if(d|0){c[e+-8>>2]=d;HA(d)}d=c[e+-24>>2]|0;if(d|0){c[e+-20>>2]=d;HA(d)}if((a[g+11>>0]|0)<0)HA(c[g>>2]|0);c[f>>2]=g;Zl(h,11);g=c[h>>2]|0;h=Az(g)|0;Nr(b);nn(c[b+12>>2]|0,g,h,0,0);c[b+24>>2]=2;aa=i;return}function lt(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,r=0,s=0,t=0,u=0;u=aa;aa=aa+16|0;j=u;i=Az(f)|0;Nr(b);g=b+12|0;nn(c[g>>2]|0,f,i,0,0);i=b+24|0;c[i>>2]=1;h=a[e+11>>0]|0;f=h<<24>>24<0;h=((f?c[e+4>>2]|0:h&255)|0)==0;if(!h){s=f?c[e>>2]|0:e;t=Az(s)|0;Nr(b);nn(c[g>>2]|0,s,t,0,0);c[i>>2]=1}n=e+52|0;Rr(b,n,328027);s=e+64|0;Rr(b,s,328056);if(h){c[j>>2]=((c[b+32>>2]|0)-(c[b+28>>2]|0)|0)/40|0;Yr(b,310654,j)}if((c[i>>2]|0)==3)Nr(b);c[i>>2]=3;r=b+28|0;t=b+32|0;l=c[t>>2]|0;q=b+36|0;p=c[q>>2]|0;g=p;if(l>>>0<p>>>0){LA(l,e);c[l+12>>2]=d;h=l+16|0;c[h>>2]=0;k=l+20|0;c[k>>2]=0;g=l+24|0;c[g>>2]=0;j=e+56|0;f=(c[j>>2]|0)-(c[n>>2]|0)|0;i=f>>2;if(f|0){if(i>>>0>1073741823)oB();d=FA(f)|0;c[k>>2]=d;c[h>>2]=d;c[g>>2]=d+(i<<2);g=c[n>>2]|0;f=(c[j>>2]|0)-g|0;if((f|0)>0){_B(d|0,g|0,f|0)|0;c[k>>2]=d+(f>>>2<<2)}}d=l+28|0;c[d>>2]=0;k=l+32|0;c[k>>2]=0;i=l+36|0;c[i>>2]=0;h=e+68|0;f=(c[h>>2]|0)-(c[s>>2]|0)|0;g=f>>2;if(f|0){if(g>>>0>1073741823)oB();j=FA(f)|0;c[k>>2]=j;c[d>>2]=j;c[i>>2]=j+(g<<2);g=c[s>>2]|0;f=(c[h>>2]|0)-g|0;if((f|0)>0){_B(j|0,g|0,f|0)|0;c[k>>2]=j+(f>>>2<<2)}}c[t>>2]=(c[t>>2]|0)+40;b=b+20|0;t=c[b>>2]|0;t=t+2|0;c[b>>2]=t;aa=u;return}h=c[r>>2]|0;m=(l-h|0)/40|0;f=m+1|0;if(f>>>0>107374182)oB();l=(g-h|0)/40|0;p=l<<1;f=l>>>0<53687091?(p>>>0<f>>>0?f:p):107374182;do if(f)if(f>>>0>107374182)U();else{o=FA(f*40|0)|0;break}else o=0;while(0);g=o+(m*40|0)|0;p=o+(f*40|0)|0;LA(g,e);c[o+(m*40|0)+12>>2]=d;l=o+(m*40|0)+16|0;c[l>>2]=0;d=o+(m*40|0)+20|0;c[d>>2]=0;k=o+(m*40|0)+24|0;c[k>>2]=0;f=c[n>>2]|0;j=(c[e+56>>2]|0)-f|0;i=j>>2;if(j|0){if(i>>>0>1073741823)oB();h=FA(j)|0;c[d>>2]=h;c[l>>2]=h;c[k>>2]=h+(i<<2);if((j|0)>0){_B(h|0,f|0,j|0)|0;c[d>>2]=h+(j>>>2<<2)}}l=o+(m*40|0)+28|0;c[l>>2]=0;k=o+(m*40|0)+32|0;c[k>>2]=0;d=o+(m*40|0)+36|0;c[d>>2]=0;j=c[s>>2]|0;i=(c[e+68>>2]|0)-j|0;h=i>>2;if(i|0){if(h>>>0>1073741823)oB();f=FA(i)|0;c[k>>2]=f;c[l>>2]=f;c[d>>2]=f+(h<<2);if((i|0)>0){_B(f|0,j|0,i|0)|0;c[k>>2]=f+(i>>>2<<2)}}i=g+40|0;h=c[r>>2]|0;f=c[t>>2]|0;if((f|0)==(h|0)){f=g;j=h;g=h}else{do{n=g;g=g+-40|0;o=f;f=f+-40|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[n+-28>>2]=c[o+-28>>2];s=n+-24|0;e=o+-24|0;c[s>>2]=0;m=n+-20|0;c[m>>2]=0;l=n+-16|0;c[l>>2]=0;c[s>>2]=c[e>>2];s=o+-20|0;c[m>>2]=c[s>>2];m=o+-16|0;c[l>>2]=c[m>>2];c[m>>2]=0;c[s>>2]=0;c[e>>2]=0;e=n+-12|0;s=o+-12|0;c[e>>2]=0;m=n+-8|0;c[m>>2]=0;n=n+-4|0;c[n>>2]=0;c[e>>2]=c[s>>2];e=o+-8|0;c[m>>2]=c[e>>2];o=o+-4|0;c[n>>2]=c[o>>2];c[o>>2]=0;c[e>>2]=0;c[s>>2]=0}while((f|0)!=(h|0));f=g;j=c[r>>2]|0;g=c[t>>2]|0}c[r>>2]=f;c[t>>2]=i;c[q>>2]=p;h=j;if((g|0)!=(h|0))do{f=c[g+-12>>2]|0;if(f|0){c[g+-8>>2]=f;HA(f)}f=c[g+-24>>2]|0;if(f|0){c[g+-20>>2]=f;HA(f)}g=g+-40|0;if((a[g+11>>0]|0)<0)HA(c[g>>2]|0)}while((g|0)!=(h|0));if(!j){b=b+20|0;t=c[b>>2]|0;t=t+2|0;c[b>>2]=t;aa=u;return}HA(j);b=b+20|0;t=c[b>>2]|0;t=t+2|0;c[b>>2]=t;aa=u;return}function mt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i+8|0;g=i;if(c[d+20>>2]|0){g=d+24|0;g=(a[g+11>>0]|0)<0?c[g>>2]|0:g;h=Az(g)|0;Nr(b);nn(c[b+12>>2]|0,g,h,0,0);h=b+24|0;c[h>>2]=e;aa=i;return}d=c[d+24>>2]|0;f=((c[b+32>>2]|0)-(c[b+28>>2]|0)|0)/40|0;if(f>>>0>d>>>0){c[g>>2]=d;c[g+4>>2]=f+~d;Yr(b,310715,g);h=b+24|0;c[h>>2]=e;aa=i;return}else{c[h>>2]=d;Yr(b,310726,h);h=b+24|0;c[h>>2]=e;aa=i;return}}function nt(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;c[a>>2]=c[b>>2];g=a+4|0;h=b+4|0;c[g>>2]=0;k=a+8|0;c[k>>2]=0;f=a+12|0;c[f>>2]=0;j=b+8|0;d=(c[j>>2]|0)-(c[h>>2]|0)|0;i=(d|0)/20|0;if(!d){a=a+16|0;k=b+16|0;k=c[k>>2]|0;c[a>>2]=k;return}if(i>>>0>214748364)oB();e=FA(d)|0;c[k>>2]=e;c[g>>2]=e;c[f>>2]=e+(i*20|0);d=c[h>>2]|0;f=c[j>>2]|0;if((d|0)==(f|0)){a=a+16|0;k=b+16|0;k=c[k>>2]|0;c[a>>2]=k;return}do{nt(e,d);d=d+20|0;e=(c[k>>2]|0)+20|0;c[k>>2]=e}while((d|0)!=(f|0));a=a+16|0;k=b+16|0;k=c[k>>2]|0;c[a>>2]=k;return}function ot(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;A=aa;aa=aa+32|0;y=A+20|0;z=A;w=a+40|0;x=a+44|0;m=c[x>>2]|0;i=m;k=(d|0)!=0;a:do if(k?(h=c[w>>2]|0,(m|0)!=(h|0)):0){g=0;j=m;while(1){u=j;j=j+-20|0;g=(c[u+-4>>2]|0)+g|0;if((g|0)==(d|0))break;if(g>>>0>d>>>0|(j|0)==(h|0)){u=g;g=i;break a}}u=d;g=j}else{u=0;g=i}while(0);c[z>>2]=b;c[z+4>>2]=0;q=z+8|0;c[q>>2]=0;r=z+12|0;c[r>>2]=0;s=z+16|0;c[s>>2]=e;do if(k&(u|0)==(d|0)?(o=z+4|0,f=g,(m|0)!=(f|0)):0){g=0;i=0;h=f;while(1){j=i;if(g>>>0>=i>>>0){i=c[o>>2]|0;b=(g-i|0)/20|0;g=b+1|0;if(g>>>0>214748364){g=13;break}l=(j-i|0)/20|0;n=l<<1;g=l>>>0<107374182?(n>>>0<g>>>0?g:n):214748364;if(!g)i=0;else{if(g>>>0>214748364){g=16;break}i=FA(g*20|0)|0}j=i+(b*20|0)|0;n=i+(g*20|0)|0;c[j>>2]=c[h>>2];g=h+4|0;c[i+(b*20|0)+4>>2]=c[g>>2];k=h+8|0;c[i+(b*20|0)+8>>2]=c[k>>2];l=h+12|0;c[i+(b*20|0)+12>>2]=c[l>>2];c[l>>2]=0;c[k>>2]=0;c[g>>2]=0;c[i+(b*20|0)+16>>2]=c[h+16>>2];g=j+20|0;k=g;b=c[o>>2]|0;i=c[q>>2]|0;if((i|0)==(b|0)){l=b;i=b}else{do{l=j;j=j+-20|0;B=i;i=i+-20|0;c[j>>2]=c[i>>2];D=l+-16|0;C=B+-16|0;c[D>>2]=0;E=l+-12|0;c[E>>2]=0;F=l+-8|0;c[F>>2]=0;c[D>>2]=c[C>>2];D=B+-12|0;c[E>>2]=c[D>>2];E=B+-8|0;c[F>>2]=c[E>>2];c[E>>2]=0;c[D>>2]=0;c[C>>2]=0;c[l+-4>>2]=c[B+-4>>2]}while((i|0)!=(b|0));l=c[o>>2]|0;i=c[q>>2]|0}c[o>>2]=j;c[q>>2]=k;c[r>>2]=n;k=l;if((i|0)!=(k|0))do{j=i+-16|0;i=i+-20|0;b=c[j>>2]|0;if(b|0){Ur(j,b);HA(c[j>>2]|0)}}while((i|0)!=(k|0));if(l)HA(l)}else{c[g>>2]=c[h>>2];E=g+4|0;F=h+4|0;c[E>>2]=0;D=g+8|0;c[D>>2]=0;C=g+12|0;c[C>>2]=0;c[E>>2]=c[F>>2];E=h+8|0;c[D>>2]=c[E>>2];D=h+12|0;c[C>>2]=c[D>>2];c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[g+16>>2]=c[h+16>>2];g=(c[q>>2]|0)+20|0;c[q>>2]=g}h=h+20|0;if((h|0)==(m|0)){g=32;break}i=c[r>>2]|0}if((g|0)==13)oB();else if((g|0)==16)U();else if((g|0)==32){n=c[x>>2]|0;if((n|0)!=(m|0))do{c[f>>2]=c[m>>2];k=f+4|0;l=m+4|0;b=c[k>>2]|0;if(!b){g=f+8|0;h=f+12|0}else{g=f+8|0;h=c[g>>2]|0;if((h|0)==(b|0))h=b;else{do{i=h+-16|0;h=h+-20|0;j=c[i>>2]|0;if(j|0){Ur(i,j);HA(c[i>>2]|0)}}while((h|0)!=(b|0));h=c[k>>2]|0}c[g>>2]=b;HA(h);h=f+12|0;c[h>>2]=0;c[g>>2]=0;c[k>>2]=0}c[k>>2]=c[l>>2];F=m+8|0;c[g>>2]=c[F>>2];E=m+12|0;c[h>>2]=c[E>>2];c[E>>2]=0;c[F>>2]=0;c[l>>2]=0;c[f+16>>2]=c[m+16>>2];m=m+20|0;f=f+20|0}while((m|0)!=(n|0));Ur(w,f);p=c[x>>2]|0;break}}else p=m;while(0);k=a+48|0;F=c[k>>2]|0;g=F;if(p>>>0>=F>>>0){f=c[w>>2]|0;i=(p-f|0)/20|0;h=i+1|0;j=f;if(h>>>0>214748364)oB();F=(g-f|0)/20|0;g=F<<1;g=F>>>0<107374182?(g>>>0<h>>>0?h:g):214748364;do if(g)if(g>>>0>214748364)U();else{t=FA(g*20|0)|0;break}else t=0;while(0);h=t+(i*20|0)|0;b=t+(g*20|0)|0;c[h>>2]=c[z>>2];F=z+4|0;c[t+(i*20|0)+4>>2]=c[F>>2];c[t+(i*20|0)+8>>2]=c[q>>2];c[t+(i*20|0)+12>>2]=c[r>>2];c[r>>2]=0;c[q>>2]=0;c[F>>2]=0;c[t+(i*20|0)+16>>2]=c[s>>2];i=h+20|0;if((p|0)!=(j|0)){f=p;do{F=h;h=h+-20|0;E=f;f=f+-20|0;c[h>>2]=c[f>>2];C=F+-16|0;D=E+-16|0;c[C>>2]=0;B=F+-12|0;c[B>>2]=0;t=F+-8|0;c[t>>2]=0;c[C>>2]=c[D>>2];C=E+-12|0;c[B>>2]=c[C>>2];B=E+-8|0;c[t>>2]=c[B>>2];c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;c[F+-4>>2]=c[E+-4>>2]}while((f|0)!=(j|0));f=c[w>>2]|0;g=c[x>>2]|0;j=f;c[w>>2]=h;c[x>>2]=i;c[k>>2]=b;if((g|0)!=(j|0))do{h=g+-16|0;g=g+-20|0;i=c[h>>2]|0;if(i|0){Ur(h,i);HA(c[h>>2]|0)}}while((g|0)!=(j|0))}else{c[w>>2]=h;c[x>>2]=i;c[k>>2]=b}if(f|0)HA(f)}else{c[p>>2]=c[z>>2];F=z+4|0;c[p+4>>2]=c[F>>2];c[p+8>>2]=c[q>>2];c[p+12>>2]=c[r>>2];c[r>>2]=0;c[q>>2]=0;c[F>>2]=0;c[p+16>>2]=c[s>>2];c[x>>2]=(c[x>>2]|0)+20}if((e|0)==0|u>>>0>d>>>0?(F=c[w>>2]|0,c[y>>2]=F,E=c[x>>2]|0,c[y+4>>2]=E,c[y+8>>2]=c[k>>2],v=F,c[w>>2]=0,c[w+4>>2]=0,c[w+8>>2]=0,Tr(a,v,E),F|0):0){Ur(y,v);HA(c[y>>2]|0)}f=z+4|0;g=c[f>>2]|0;if(!g){aa=A;return}Ur(f,g);HA(c[f>>2]|0);aa=A;return}function pt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((c[d+20>>2]|0)!=1){e=c[d+24>>2]|0;d=c[b+28>>2]|0;b=((c[b+32>>2]|0)-d|0)/40|0;if(b>>>0>e>>>0){b=d+((b+~e|0)*40|0)|0;k=17}else{k=0;return k|0}}else{j=c[b+28>>2]|0;b=(c[b+32>>2]|0)-j|0;if(!b){k=0;return k|0}e=(b|0)/40|0;h=d+24|0;i=a[h+11>>0]|0;g=i<<24>>24<0;i=g?c[d+28>>2]|0:i&255;h=g?c[h>>2]|0:h;if(!i){while(1){e=e+-1|0;b=j+(e*40|0)|0;i=a[b+11>>0]|0;if(!((i<<24>>24<0?c[j+(e*40|0)+4>>2]|0:i&255)|0))break a;if(!e){b=0;break}}return b|0}while(1){e=e+-1|0;b=j+(e*40|0)|0;f=a[b+11>>0]|0;g=f<<24>>24<0;f=f&255;do if(((g?c[j+(e*40|0)+4>>2]|0:f)|0)==(i|0)){d=c[b>>2]|0;if(g)if(!(zz(d,h,i)|0))break a;else break;if((a[h>>0]|0)==(d&255)<<24>>24){d=f;f=b;g=h;do{d=d+-1|0;f=f+1|0;if(!d){k=17;break a}g=g+1|0}while((a[f>>0]|0)==(a[g>>0]|0))}}while(0);if(!e){b=0;break}}return b|0}while(0);if((k|0)==17)if(!b){k=0;return k|0}if((c[b+12>>2]|0)==2){k=(c[b+20>>2]|0)-(c[b+16>>2]|0)>>2;return k|0}else{k=(c[b+32>>2]|0)-(c[b+28>>2]|0)>>2;return k|0}return 0}function qt(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(d|0)IA(d);d=b+4|0;if((a[d+11>>0]|0)<0)HA(c[d>>2]|0);d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function rt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=FA(16)|0;Dx(h,f,g);g=FA(60)|0;c[g>>2]=h;sn(g+4|0,d,e);c[g+16>>2]=1;d=g+20|0;e=g+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a[d+12>>0]=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[b>>2]=g;return}function st(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;q=b+32|0;if(a[q>>0]|0){q=1;return q|0}n=b+48|0;e=c[n>>2]|0;p=b+36|0;m=c[p>>2]|0;l=e;j=m;o=l-j|0;if(o>>>0<d>>>0){g=b+40|0;f=c[g>>2]|0;d=d+29|0;i=(f|0)==0?65536:f<<1;while(1){k=i-f+o|0;if(k>>>0<d>>>0)i=i<<1;else break}h=GA(i)|0;f=b+56|0;r=c[f>>2]|0;d=r;if(r>>>0>e>>>0)$B(h|0,e|0,d-l|0)|0;c[p>>2]=h;c[g>>2]=i;r=0-o|0;c[n>>2]=h;n=b+44|0;c[n>>2]=h+((c[n>>2]|0)-j)+r;n=b+52|0;c[n>>2]=h+((c[n>>2]|0)-j)+r;d=h+(d-j)+r|0;c[f>>2]=d;r=b+24|0;c[r>>2]=(c[r>>2]|0)+o;if(!m)e=k;else{IA(m);d=c[f>>2]|0;e=k}}else{f=b+56|0;d=c[f>>2]|0;if(d>>>0>e>>>0){$B(m|0,e|0,d-l|0)|0;e=c[n>>2]|0;d=c[f>>2]|0}g=0-o|0;c[n>>2]=e+g;e=b+44|0;c[e>>2]=(c[e>>2]|0)+g;e=b+52|0;c[e>>2]=(c[e>>2]|0)+g;d=d+g|0;c[f>>2]=d;g=b+24|0;c[g>>2]=(c[g>>2]|0)+o;g=b+40|0;e=o}r=c[b>>2]|0;d=ga[c[(c[r>>2]|0)+16>>2]&127](r,d,e)|0;d=(c[f>>2]|0)+d|0;c[f>>2]=d;if(d>>>0>=((c[p>>2]|0)+(c[g>>2]|0)+-29|0)>>>0){r=0;return r|0}a[q>>0]=1;e=d+29|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(e|0));c[f>>2]=(c[f>>2]|0)+29;r=0;return r|0} +function Cp(b,f){b=b|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=aa;aa=aa+80|0;t=u+60|0;p=u;r=u+40|0;s=u+20|0;q=f+36|0;h=c[f+24>>2]|0;j=c[q>>2]|0;a:while(1){i=j>>>0<h>>>0;if(i)g=a[j>>0]|0;else g=-1;while(1){if(!(a[15408+(g+1)>>0]&1))break a;if(i)break;else g=-1}n=j+1|0;c[q>>2]=n;j=n}n=f+32|0;k=c[n>>2]|0;j=j-k|0;if((a[351376]|0)==0?XB()|0:0){c[82636]=351956;c[82639]=351956;c[82642]=351956;c[82645]=351956;c[82648]=351956;c[82651]=351956;c[82654]=351956;c[82657]=351956;c[82660]=351956;c[82663]=351956;c[82666]=351956;c[82669]=351956;c[82672]=351956;c[82675]=351956;c[82678]=351956;c[82681]=351956;c[82684]=351956;c[82687]=351956;c[82690]=351956;c[82693]=330073;c[82694]=69;c[82695]=4;c[82696]=351956;c[82699]=351956;c[82702]=351956;c[82705]=351956;c[82708]=329746;c[82709]=109;c[82710]=-4;c[82711]=329101;c[82712]=24;c[82714]=329750;c[82715]=109;c[82716]=-3;c[82717]=329754;c[82718]=109;c[82719]=-2;c[82720]=351956;c[82723]=329758;c[82724]=109;c[82725]=-1;c[82726]=351956;c[82729]=351956;c[82732]=351956;c[82735]=351956;c[82738]=351956;c[82741]=351956;c[82744]=351956;c[82747]=329345;c[82748]=65;c[82749]=5;c[82750]=329032;c[82751]=11;c[82753]=351956;c[82756]=351956;c[82759]=351956;c[82762]=303502;c[82763]=61;c[82764]=86;c[82765]=303509;c[82766]=61;c[82767]=80;c[82768]=351956;c[82771]=351956;c[82774]=351956;c[82777]=329041;c[82778]=13;c[82780]=329350;c[82781]=66;c[82782]=11;c[82783]=351956;c[82786]=329169;c[82787]=35;c[82789]=351956;c[82792]=351956;c[82795]=351956;c[82798]=303516;c[82799]=61;c[82800]=88;c[82801]=303523;c[82802]=61;c[82803]=82;c[82804]=329163;c[82805]=34;c[82807]=329027;c[82808]=10;c[82810]=329157;c[82811]=33;c[82813]=351956;c[82816]=351956;c[82819]=351956;c[82822]=303530;c[82823]=61;c[82824]=70;c[82825]=303539;c[82826]=61;c[82827]=59;c[82828]=329094;c[82829]=23;c[82831]=351956;c[82834]=303548;c[82835]=61;c[82836]=71;c[82837]=303557;c[82838]=61;c[82839]=60;c[82840]=303566;c[82841]=61;c[82842]=74;c[82843]=303575;c[82844]=61;c[82845]=63;c[82846]=329834;c[82847]=54;c[82848]=12;c[82849]=351956;c[82852]=303584;c[82853]=61;c[82854]=75;c[82855]=303593;c[82856]=61;c[82857]=64;c[82858]=329733;c[82859]=109;c[82860]=-16;c[82861]=351956;c[82864]=303602;c[82865]=52;c[82866]=116;c[82867]=303612;c[82868]=52;c[82869]=98;c[82870]=351956;c[82873]=329141;c[82874]=30;c[82876]=303622;c[82877]=52;c[82878]=117;c[82879]=303632;c[82880]=52;c[82881]=99;c[82882]=329150;c[82883]=32;c[82885]=303642;c[82886]=102;c[82887]=140;c[82888]=303650;c[82889]=102;c[82890]=126;c[82891]=303658;c[82892]=52;c[82893]=148;c[82894]=303666;c[82895]=52;c[82896]=134;c[82897]=329105;c[82898]=25;c[82900]=303674;c[82901]=52;c[82902]=112;c[82903]=303682;c[82904]=52;c[82905]=94;c[82906]=351956;c[82909]=330201;c[82910]=92;c[82911]=21;c[82912]=330147;c[82913]=82;c[82914]=205;c[82915]=303690;c[82916]=52;c[82917]=147;c[82918]=303698;c[82919]=52;c[82920]=133;c[82921]=351956;c[82924]=303706;c[82925]=52;c[82926]=111;c[82927]=303714;c[82928]=52;c[82929]=93;c[82930]=351956;c[82933]=303722;c[82934]=61;c[82935]=85;c[82936]=303729;c[82937]=61;c[82938]=79;c[82939]=351956;c[82942]=303736;c[82943]=61;c[82944]=69;c[82945]=303743;c[82946]=61;c[82947]=58;c[82948]=351956;c[82951]=351956;c[82954]=303750;c[82955]=52;c[82956]=118;c[82957]=303758;c[82958]=52;c[82959]=100;c[82960]=351956;c[82963]=303766;c[82964]=52;c[82965]=151;c[82966]=303774;c[82967]=52;c[82968]=137;c[82969]=329728;c[82970]=15;c[82972]=329471;c[82973]=80;c[82974]=201;c[82975]=351956;c[82978]=351956;c[82981]=351956;c[82984]=330194;c[82985]=89;c[82986]=15;c[82987]=351956;c[82990]=351956;c[82993]=351956;c[82996]=351956;c[82999]=351956;c[83002]=351956;c[83005]=351956;c[83008]=351956;c[83011]=351956;c[83014]=351956;c[83017]=329209;c[83018]=42;c[83020]=351956;c[83023]=351956;c[83026]=329197;c[83027]=40;c[83029]=351956;c[83032]=330180;c[83033]=88;c[83034]=9;c[83035]=329482;c[83036]=84;c[83037]=207;c[83038]=351956;c[83041]=303782;c[83042]=102;c[83043]=109;c[83044]=303790;c[83045]=102;c[83046]=91;c[83047]=329828;c[83048]=53;c[83049]=2;c[83050]=351956;c[83053]=303798;c[83054]=62;c[83055]=55;c[83056]=303808;c[83057]=62;c[83058]=54;c[83059]=351956;c[83062]=303818;c[83063]=62;c[83064]=53;c[83065]=303828;c[83066]=62;c[83067]=52;c[83068]=351956;c[83071]=303838;c[83072]=70;c[83073]=30;c[83074]=303847;c[83075]=70;c[83076]=29;c[83077]=351956;c[83080]=303856;c[83081]=70;c[83082]=28;c[83083]=303865;c[83084]=70;c[83085]=27;c[83086]=351956;c[83089]=351956;c[83092]=303874;c[83093]=52;c[83094]=149;c[83095]=303882;c[83096]=52;c[83097]=135;c[83098]=351956;c[83101]=303890;c[83102]=52;c[83103]=113;c[83104]=303898;c[83105]=52;c[83106]=95;c[83107]=303906;c[83108]=102;c[83109]=142;c[83110]=303915;c[83111]=102;c[83112]=128;c[83113]=351956;c[83116]=303924;c[83117]=97;c[83118]=44;c[83119]=303934;c[83120]=97;c[83121]=43;c[83122]=329907;c[83123]=57;c[83124]=14;c[83125]=303944;c[83126]=97;c[83127]=42;c[83128]=303954;c[83129]=97;c[83130]=41;c[83131]=351956;c[83134]=351956;c[83137]=351956;c[83140]=303964;c[83141]=97;c[83142]=49;c[83143]=351956;c[83146]=351956;c[83149]=351956;c[83152]=351956;c[83155]=351956;c[83158]=329977;c[83159]=58;c[83160]=16;c[83161]=351956;c[83164]=303976;c[83165]=102;c[83166]=108;c[83167]=303984;c[83168]=102;c[83169]=90;c[83170]=351956;c[83173]=351956;c[83176]=303992;c[83177]=52;c[83178]=125;c[83179]=304001;c[83180]=52;c[83181]=107;c[83182]=351956;c[83185]=329079;c[83186]=20;c[83188]=330117;c[83189]=94;c[83190]=23;c[83191]=304010;c[83192]=61;c[83193]=271;c[83194]=304019;c[83195]=52;c[83196]=114;c[83197]=304029;c[83198]=52;c[83199]=96;c[83200]=304039;c[83201]=52;c[83202]=124;c[83203]=304048;c[83204]=52;c[83205]=106;c[83206]=304057;c[83207]=52;c[83208]=115;c[83209]=304067;c[83210]=52;c[83211]=97;c[83212]=304077;c[83213]=102;c[83214]=145;c[83215]=304089;c[83216]=102;c[83217]=131;c[83218]=351956;c[83221]=304101;c[83222]=61;c[83223]=272;c[83224]=330127;c[83225]=98;c[83226]=24;c[83227]=351956;c[83230]=304110;c[83231]=52;c[83232]=337;c[83233]=304120;c[83234]=50;c[83235]=352;c[83236]=304136;c[83237]=50;c[83238]=351;c[83239]=304152;c[83240]=52;c[83241]=323;c[83242]=304162;c[83243]=102;c[83244]=333;c[83245]=351956;c[83248]=304172;c[83249]=52;c[83250]=340;c[83251]=329072;c[83252]=19;c[83254]=351956;c[83257]=304182;c[83258]=61;c[83259]=274;c[83260]=351956;c[83263]=351956;c[83266]=351956;c[83269]=351956;c[83272]=304191;c[83273]=52;c[83274]=336;c[83275]=351956;c[83278]=351956;c[83281]=304201;c[83282]=52;c[83283]=322;c[83284]=351956;c[83287]=351956;c[83290]=351956;c[83293]=351956;c[83296]=351956;c[83299]=351956;c[83302]=351956;c[83305]=351956;c[83308]=351956;c[83311]=351956;c[83314]=351956;c[83317]=351956;c[83320]=351956;c[83323]=328890;c[83324]=2;c[83326]=330168;c[83327]=86;c[83328]=209;c[83329]=351956;c[83332]=351956;c[83335]=351956;c[83338]=328922;c[83339]=4;c[83341]=351956;c[83344]=351956;c[83347]=351956;c[83350]=351956;c[83353]=304211;c[83354]=49;c[83355]=361;c[83356]=304228;c[83357]=49;c[83358]=360;c[83359]=351956;c[83362]=351956;c[83365]=351956;c[83368]=351956;c[83371]=351956;c[83374]=351956;c[83377]=304245;c[83378]=52;c[83379]=338;c[83380]=351956;c[83383]=351956;c[83386]=351956;c[83389]=304255;c[83390]=49;c[83391]=366;c[83392]=329005;c[83393]=8;c[83395]=329054;c[83396]=16;c[83398]=351956;c[83401]=351956;c[83404]=351956;c[83407]=328905;c[83408]=3;c[83410]=304274;c[83411]=70;c[83412]=39;c[83413]=304287;c[83414]=102;c[83415]=144;c[83416]=304297;c[83417]=102;c[83418]=130;c[83419]=351956;c[83422]=304307;c[83423]=70;c[83424]=40;c[83425]=351956;c[83428]=304320;c[83429]=52;c[83430]=277;c[83431]=329493;c[83432]=85;c[83433]=208;c[83434]=351956;c[83437]=351956;c[83440]=351956;c[83443]=304329;c[83444]=102;c[83445]=276;c[83446]=304338;c[83447]=47;c[83448]=378;c[83449]=304360;c[83450]=47;c[83451]=376;c[83452]=351956;c[83455]=351956;c[83458]=304382;c[83459]=52;c[83460]=150;c[83461]=304390;c[83462]=52;c[83463]=136;c[83464]=351956;c[83467]=351956;c[83470]=351956;c[83473]=351956;c[83476]=329837;c[83477]=55;c[83478]=13;c[83479]=351956;c[83482]=304398;c[83483]=47;c[83484]=368;c[83485]=304417;c[83486]=47;c[83487]=367;c[83488]=304436;c[83489]=94;c[83490]=23;c[83491]=351956;c[83494]=304446;c[83495]=47;c[83496]=371;c[83497]=304468;c[83498]=47;c[83499]=369;c[83500]=351956;c[83503]=304490;c[83504]=47;c[83505]=380;c[83506]=304513;c[83507]=98;c[83508]=24;c[83509]=351956;c[83512]=304523;c[83513]=46;c[83514]=354;c[83515]=304539;c[83516]=46;c[83517]=353;c[83518]=351956;c[83521]=351956;c[83524]=304555;c[83525]=47;c[83526]=385;c[83527]=304577;c[83528]=47;c[83529]=383;c[83530]=351956;c[83533]=351956;c[83536]=351956;c[83539]=351956;c[83542]=304599;c[83543]=97;c[83544]=211;c[83545]=329996;c[83546]=90;c[83547]=18;c[83548]=351956;c[83551]=351956;c[83554]=351956;c[83557]=351956;c[83560]=304610;c[83561]=70;c[83562]=37;c[83563]=304623;c[83564]=70;c[83565]=33;c[83566]=304636;c[83567]=47;c[83568]=389;c[83569]=304654;c[83570]=47;c[83571]=388;c[83572]=304672;c[83573]=70;c[83574]=38;c[83575]=304685;c[83576]=70;c[83577]=34;c[83578]=351956;c[83581]=304698;c[83582]=63;c[83583]=169;c[83584]=304713;c[83585]=52;c[83586]=278;c[83587]=351956;c[83590]=351956;c[83593]=304721;c[83594]=47;c[83595]=373;c[83596]=351956;c[83599]=330137;c[83600]=81;c[83601]=204;c[83602]=304744;c[83603]=47;c[83604]=382;c[83605]=304763;c[83606]=47;c[83607]=381;c[83608]=304782;c[83609]=63;c[83610]=161;c[83611]=304798;c[83612]=63;c[83613]=155;c[83614]=304814;c[83615]=63;c[83616]=162;c[83617]=304830;c[83618]=63;c[83619]=156;c[83620]=351956;c[83623]=304846;c[83624]=47;c[83625]=387;c[83626]=351956;c[83629]=351956;c[83632]=351956;c[83635]=351956;c[83638]=329982;c[83639]=59;c[83640]=17;c[83641]=351956;c[83644]=351956;c[83647]=351956;c[83650]=351956;c[83653]=351956;c[83656]=304869;c[83657]=70;c[83658]=210;c[83659]=351956;c[83662]=351956;c[83665]=351956;c[83668]=351956;c[83671]=304879;c[83672]=62;c[83673]=212;c[83674]=351956;c[83677]=351956;c[83680]=351956;c[83683]=351956;c[83686]=351956;c[83689]=351956;c[83692]=304890;c[83693]=63;c[83694]=169;c[83695]=351956;c[83698]=304905;c[83699]=102;c[83700]=318;c[83701]=351956;c[83704]=351956;c[83707]=351956;c[83710]=351956;c[83713]=304920;c[83714]=48;c[83715]=415;c[83716]=351956;c[83719]=304947;c[83720]=63;c[83721]=161;c[83722]=304963;c[83723]=63;c[83724]=155;c[83725]=304979;c[83726]=63;c[83727]=162;c[83728]=304995;c[83729]=63;c[83730]=156;c[83731]=351956;c[83734]=351956;c[83737]=351956;c[83740]=351956;c[83743]=305011;c[83744]=47;c[83745]=394;c[83746]=351956;c[83749]=329203;c[83750]=41;c[83752]=351956;c[83755]=351956;c[83758]=329191;c[83759]=39;c[83761]=351956;c[83764]=351956;c[83767]=305033;c[83768]=47;c[83769]=375;c[83770]=305052;c[83771]=47;c[83772]=374;c[83773]=305071;c[83774]=99;c[83775]=280;c[83776]=351956;c[83779]=351956;c[83782]=351956;c[83785]=305086;c[83786]=61;c[83787]=273;c[83788]=351956;c[83791]=351956;c[83794]=305095;c[83795]=63;c[83796]=163;c[83797]=305111;c[83798]=63;c[83799]=157;c[83800]=305127;c[83801]=63;c[83802]=164;c[83803]=305143;c[83804]=63;c[83805]=158;c[83806]=305159;c[83807]=52;c[83808]=339;c[83809]=351956;c[83812]=351956;c[83815]=351956;c[83818]=351956;c[83821]=305169;c[83822]=61;c[83823]=275;c[83824]=351956;c[83827]=351956;c[83830]=351956;c[83833]=330157;c[83834]=83;c[83835]=206;c[83836]=351956;c[83839]=305178;c[83840]=63;c[83841]=170;c[83842]=305196;c[83843]=63;c[83844]=165;c[83845]=329132;c[83846]=29;c[83848]=351956;c[83851]=351956;c[83854]=351956;c[83857]=351956;c[83860]=351956;c[83863]=330106;c[83864]=93;c[83865]=26;c[83866]=351956;c[83869]=351956;c[83872]=351956;c[83875]=329365;c[83876]=68;c[83877]=22;c[83878]=351956;c[83881]=329058;c[83882]=17;c[83884]=351956;c[83887]=351956;c[83890]=328965;c[83891]=6;c[83893]=330008;c[83894]=91;c[83895]=19;c[83896]=351956;c[83899]=351956;c[83902]=351956;c[83905]=305214;c[83906]=63;c[83907]=163;c[83908]=305230;c[83909]=63;c[83910]=157;c[83911]=305246;c[83912]=63;c[83913]=164;c[83914]=305262;c[83915]=63;c[83916]=158;c[83917]=351956;c[83920]=351956;c[83923]=351956;c[83926]=305278;c[83927]=61;c[83928]=265;c[83929]=351956;c[83932]=351956;c[83935]=305287;c[83936]=61;c[83937]=255;c[83938]=351956;c[83941]=330188;c[83942]=100;c[83943]=8;c[83944]=351956;c[83947]=351956;c[83950]=351956;c[83953]=351956;c[83956]=305296;c[83957]=61;c[83958]=266;c[83959]=351956;c[83962]=351956;c[83965]=305305;c[83966]=52;c[83967]=328;c[83968]=305315;c[83969]=47;c[83970]=379;c[83971]=305338;c[83972]=47;c[83973]=377;c[83974]=305361;c[83975]=52;c[83976]=314;c[83977]=305371;c[83978]=102;c[83979]=324;c[83980]=351956;c[83983]=305381;c[83984]=52;c[83985]=331;c[83986]=351956;c[83989]=351956;c[83992]=305391;c[83993]=61;c[83994]=268;c[83995]=305400;c[83996]=61;c[83997]=256;c[83998]=351956;c[84001]=305411;c[84002]=61;c[84003]=257;c[84004]=351956;c[84007]=305422;c[84008]=52;c[84009]=327;c[84010]=351956;c[84013]=305432;c[84014]=61;c[84015]=260;c[84016]=305443;c[84017]=52;c[84018]=313;c[84019]=305453;c[84020]=61;c[84021]=261;c[84022]=351956;c[84025]=351956;c[84028]=305464;c[84029]=63;c[84030]=172;c[84031]=305482;c[84032]=63;c[84033]=167;c[84034]=351956;c[84037]=351956;c[84040]=351956;c[84043]=351956;c[84046]=351956;c[84049]=351956;c[84052]=305500;c[84053]=63;c[84054]=193;c[84055]=305520;c[84056]=63;c[84057]=189;c[84058]=305540;c[84059]=47;c[84060]=372;c[84061]=305563;c[84062]=47;c[84063]=370;c[84064]=305586;c[84065]=63;c[84066]=194;c[84067]=305606;c[84068]=63;c[84069]=190;c[84070]=305626;c[84071]=97;c[84072]=48;c[84073]=305638;c[84074]=97;c[84075]=46;c[84076]=351956;c[84079]=351956;c[84082]=351956;c[84085]=351956;c[84088]=305650;c[84089]=47;c[84090]=386;c[84091]=305673;c[84092]=47;c[84093]=384;c[84094]=351956;c[84097]=351956;c[84100]=351956;c[84103]=351956;c[84106]=351956;c[84109]=329174;c[84110]=36;c[84112]=305696;c[84113]=52;c[84114]=329;c[84115]=351956;c[84118]=351956;c[84121]=305706;c[84122]=52;c[84123]=315;c[84124]=329741;c[84125]=109;c[84126]=-5;c[84127]=351956;c[84130]=351956;c[84133]=351956;c[84136]=351956;c[84139]=305716;c[84140]=102;c[84141]=143;c[84142]=305726;c[84143]=102;c[84144]=129;c[84145]=351956;c[84148]=329065;c[84149]=18;c[84151]=351956;c[84154]=305736;c[84155]=46;c[84156]=359;c[84157]=329047;c[84158]=14;c[84160]=351956;c[84163]=351956;c[84166]=351956;c[84169]=305756;c[84170]=63;c[84171]=171;c[84172]=305774;c[84173]=63;c[84174]=166;c[84175]=305792;c[84176]=68;c[84177]=22;c[84178]=305802;c[84179]=48;c[84180]=414;c[84181]=305829;c[84182]=48;c[84183]=412;c[84184]=329701;c[84185]=109;c[84186]=-17;c[84187]=351956;c[84190]=305856;c[84191]=70;c[84192]=35;c[84193]=305868;c[84194]=70;c[84195]=31;c[84196]=305880;c[84197]=97;c[84198]=47;c[84199]=305891;c[84200]=97;c[84201]=45;c[84202]=305902;c[84203]=70;c[84204]=36;c[84205]=305914;c[84206]=70;c[84207]=32;c[84208]=305926;c[84209]=47;c[84210]=393;c[84211]=305948;c[84212]=47;c[84213]=391;c[84214]=351956;c[84217]=351956;c[84220]=351956;c[84223]=305970;c[84224]=63;c[84225]=170;c[84226]=305988;c[84227]=63;c[84228]=165;c[84229]=306006;c[84230]=63;c[84231]=171;c[84232]=306024;c[84233]=63;c[84234]=166;c[84235]=351956;c[84238]=351956;c[84241]=351956;c[84244]=351956;c[84247]=351956;c[84250]=351956;c[84253]=329843;c[84254]=56;c[84255]=10;c[84256]=330039;c[84257]=64;c[84258]=20;c[84259]=351956;c[84262]=351956;c[84265]=351956;c[84268]=306042;c[84269]=63;c[84270]=159;c[84271]=351956;c[84274]=306059;c[84275]=63;c[84276]=160;c[84277]=329438;c[84278]=77;c[84279]=50;c[84280]=351956;c[84283]=351956;c[84286]=329112;c[84287]=26;c[84289]=351956;c[84292]=351956;c[84295]=351956;c[84298]=329426;c[84299]=76;c[84300]=197;c[84301]=351956;c[84304]=351956;c[84307]=351956;c[84310]=351956;c[84313]=306076;c[84314]=102;c[84315]=141;c[84316]=306084;c[84317]=102;c[84318]=127;c[84319]=351956;c[84322]=306092;c[84323]=49;c[84324]=365;c[84325]=306111;c[84326]=49;c[84327]=363;c[84328]=351956;c[84331]=351956;c[84334]=351956;c[84337]=351956;c[84340]=351956;c[84343]=351956;c[84346]=351956;c[84349]=351956;c[84352]=330068;c[84353]=71;c[84354]=3;c[84355]=351956;c[84358]=306130;c[84359]=63;c[84360]=173;c[84361]=306148;c[84362]=63;c[84363]=168;c[84364]=351956;c[84367]=351956;c[84370]=306166;c[84371]=52;c[84372]=119;c[84373]=306173;c[84374]=52;c[84375]=101;c[84376]=351956;c[84379]=351956;c[84382]=351956;c[84385]=351956;c[84388]=351956;c[84391]=351956;c[84394]=306180;c[84395]=102;c[84396]=183;c[84397]=351956;c[84400]=306195;c[84401]=61;c[84402]=87;c[84403]=306202;c[84404]=61;c[84405]=81;c[84406]=351956;c[84409]=351956;c[84412]=351956;c[84415]=351956;c[84418]=351956;c[84421]=351956;c[84424]=351956;c[84427]=351956;c[84430]=306209;c[84431]=63;c[84432]=159;c[84433]=306226;c[84434]=102;c[84435]=309;c[84436]=306241;c[84437]=61;c[84438]=89;c[84439]=306248;c[84440]=61;c[84441]=83;c[84442]=306255;c[84443]=63;c[84444]=160;c[84445]=351956;c[84448]=351956;c[84451]=351956;c[84454]=351956;c[84457]=351956;c[84460]=306272;c[84461]=61;c[84462]=72;c[84463]=306281;c[84464]=61;c[84465]=61;c[84466]=351956;c[84469]=351956;c[84472]=306290;c[84473]=61;c[84474]=73;c[84475]=306299;c[84476]=61;c[84477]=62;c[84478]=306308;c[84479]=61;c[84480]=76;c[84481]=306317;c[84482]=61;c[84483]=65;c[84484]=351956;c[84487]=329402;c[84488]=74;c[84489]=200;c[84490]=306326;c[84491]=61;c[84492]=77;c[84493]=306335;c[84494]=61;c[84495]=66;c[84496]=351956;c[84499]=351956;c[84502]=351956;c[84505]=329126;c[84506]=28;c[84508]=306344;c[84509]=52;c[84510]=120;c[84511]=306352;c[84512]=52;c[84513]=102;c[84514]=351956;c[84517]=351956;c[84520]=306360;c[84521]=61;c[84522]=267;c[84523]=351956;c[84526]=351956;c[84529]=351956;c[84532]=306369;c[84533]=102;c[84534]=146;c[84535]=306378;c[84536]=102;c[84537]=132;c[84538]=351956;c[84541]=306387;c[84542]=52;c[84543]=330;c[84544]=351956;c[84547]=351956;c[84550]=329354;c[84551]=67;c[84552]=25;c[84553]=351956;c[84556]=306397;c[84557]=61;c[84558]=269;c[84559]=306406;c[84560]=61;c[84561]=258;c[84562]=351956;c[84565]=306417;c[84566]=61;c[84567]=259;c[84568]=329118;c[84569]=27;c[84571]=306428;c[84572]=102;c[84573]=334;c[84574]=328872;c[84575]=1;c[84577]=306438;c[84578]=61;c[84579]=262;c[84580]=306449;c[84581]=102;c[84582]=316;c[84583]=306459;c[84584]=61;c[84585]=263;c[84586]=329317;c[84587]=60;c[84588]=7;c[84589]=351956;c[84592]=351956;c[84595]=306470;c[84596]=52;c[84597]=122;c[84598]=306480;c[84599]=52;c[84600]=104;c[84601]=351956;c[84604]=351956;c[84607]=306490;c[84608]=52;c[84609]=123;c[84610]=306500;c[84611]=52;c[84612]=105;c[84613]=351956;c[84616]=306510;c[84617]=63;c[84618]=193;c[84619]=306530;c[84620]=63;c[84621]=189;c[84622]=306550;c[84623]=63;c[84624]=194;c[84625]=306570;c[84626]=63;c[84627]=190;c[84628]=306590;c[84629]=63;c[84630]=67;c[84631]=306598;c[84632]=63;c[84633]=56;c[84634]=351956;c[84637]=351956;c[84640]=351956;c[84643]=351956;c[84646]=351956;c[84649]=351956;c[84652]=306606;c[84653]=102;c[84654]=231;c[84655]=306618;c[84656]=61;c[84657]=235;c[84658]=351956;c[84661]=306627;c[84662]=102;c[84663]=225;c[84664]=306639;c[84665]=46;c[84666]=358;c[84667]=306659;c[84668]=46;c[84669]=356;c[84670]=351956;c[84673]=351956;c[84676]=351956;c[84679]=306679;c[84680]=52;c[84681]=121;c[84682]=306687;c[84683]=52;c[84684]=103;c[84685]=351956;c[84688]=306695;c[84689]=61;c[84690]=245;c[84691]=351956;c[84694]=306704;c[84695]=52;c[84696]=290;c[84697]=351956;c[84700]=351956;c[84703]=306714;c[84704]=52;c[84705]=279;c[84706]=351956;c[84709]=351956;c[84712]=351956;c[84715]=306723;c[84716]=61;c[84717]=236;c[84718]=351956;c[84721]=306734;c[84722]=61;c[84723]=237;c[84724]=351956;c[84727]=306745;c[84728]=52;c[84729]=303;c[84730]=306755;c[84731]=47;c[84732]=401;c[84733]=306778;c[84734]=61;c[84735]=240;c[84736]=306789;c[84737]=52;c[84738]=287;c[84739]=306799;c[84740]=61;c[84741]=241;c[84742]=306810;c[84743]=46;c[84744]=357;c[84745]=306829;c[84746]=46;c[84747]=355;c[84748]=306848;c[84749]=61;c[84750]=246;c[84751]=351956;c[84754]=306859;c[84755]=61;c[84756]=247;c[84757]=351956;c[84760]=351956;c[84763]=351956;c[84766]=306870;c[84767]=61;c[84768]=250;c[84769]=306881;c[84770]=52;c[84771]=300;c[84772]=306891;c[84773]=61;c[84774]=251;c[84775]=351956;c[84778]=351956;c[84781]=351956;c[84784]=351956;c[84787]=351956;c[84790]=351956;c[84793]=351956;c[84796]=306902;c[84797]=47;c[84798]=408;c[84799]=306926;c[84800]=63;c[84801]=195;c[84802]=306946;c[84803]=63;c[84804]=191;c[84805]=306966;c[84806]=63;c[84807]=196;c[84808]=306986;c[84809]=63;c[84810]=192;c[84811]=307006;c[84812]=48;c[84813]=413;c[84814]=307032;c[84815]=48;c[84816]=411;c[84817]=351956;c[84820]=351956;c[84823]=351956;c[84826]=351956;c[84829]=351956;c[84832]=351956;c[84835]=351956;c[84838]=351956;c[84841]=307058;c[84842]=52;c[84843]=293;c[84844]=351956;c[84847]=351956;c[84850]=307068;c[84851]=102;c[84852]=335;c[84853]=351956;c[84856]=351956;c[84859]=351956;c[84862]=351956;c[84865]=307079;c[84866]=102;c[84867]=317;c[84868]=351956;c[84871]=351956;c[84874]=307094;c[84875]=52;c[84876]=306;c[84877]=351956;c[84880]=307104;c[84881]=47;c[84882]=392;c[84883]=307125;c[84884]=47;c[84885]=390;c[84886]=351956;c[84889]=307146;c[84890]=102;c[84891]=344;c[84892]=351956;c[84895]=307170;c[84896]=102;c[84897]=345;c[84898]=351956;c[84901]=351956;c[84904]=351956;c[84907]=351956;c[84910]=307194;c[84911]=52;c[84912]=320;c[84913]=351956;c[84916]=351956;c[84919]=351956;c[84922]=307206;c[84923]=52;c[84924]=321;c[84925]=307218;c[84926]=95;c[84927]=232;c[84928]=351956;c[84931]=351956;c[84934]=307237;c[84935]=95;c[84936]=226;c[84937]=351956;c[84940]=351956;c[84943]=351956;c[84946]=329179;c[84947]=37;c[84949]=351956;c[84952]=351956;c[84955]=351956;c[84958]=351956;c[84961]=351956;c[84964]=351956;c[84967]=351956;c[84970]=351956;c[84973]=307256;c[84974]=63;c[84975]=195;c[84976]=307276;c[84977]=63;c[84978]=191;c[84979]=307296;c[84980]=93;c[84981]=26;c[84982]=351956;c[84985]=307307;c[84986]=63;c[84987]=196;c[84988]=307327;c[84989]=63;c[84990]=192;c[84991]=307347;c[84992]=109;c[84993]=-16;c[84994]=307355;c[84995]=47;c[84996]=399;c[84997]=307377;c[84998]=47;c[84999]=397;c[85e3]=351956;c[85003]=351956;c[85006]=351956;c[85009]=307399;c[85010]=102;c[85011]=182;c[85012]=307414;c[85013]=102;c[85014]=180;c[85015]=307429;c[85016]=52;c[85017]=291;c[85018]=307450;c[85019]=52;c[85020]=319;c[85021]=307460;c[85022]=52;c[85023]=292;c[85024]=329551;c[85025]=103;c[85026]=0;c[85027]=351956;c[85030]=329414;c[85031]=75;c[85032]=51;c[85033]=351956;c[85036]=351956;c[85039]=351956;c[85042]=351956;c[85045]=351956;c[85048]=307481;c[85049]=52;c[85050]=304;c[85051]=351956;c[85054]=307502;c[85055]=52;c[85056]=305;c[85057]=351956;c[85060]=351956;c[85063]=351956;c[85066]=351956;c[85069]=307523;c[85070]=63;c[85071]=177;c[85072]=351956;c[85075]=351956;c[85078]=351956;c[85081]=307543;c[85082]=52;c[85083]=288;c[85084]=351956;c[85087]=307564;c[85088]=52;c[85089]=289;c[85090]=351956;c[85093]=351956;c[85096]=351956;c[85099]=307585;c[85100]=52;c[85101]=152;c[85102]=307593;c[85103]=52;c[85104]=138;c[85105]=351956;c[85108]=351956;c[85111]=351956;c[85114]=307601;c[85115]=52;c[85116]=301;c[85117]=351956;c[85120]=307622;c[85121]=52;c[85122]=302;c[85123]=351956;c[85126]=351956;c[85129]=351956;c[85132]=351956;c[85135]=351956;c[85138]=351956;c[85141]=307643;c[85142]=63;c[85143]=172;c[85144]=307661;c[85145]=63;c[85146]=167;c[85147]=307679;c[85148]=63;c[85149]=173;c[85150]=307697;c[85151]=63;c[85152]=168;c[85153]=307715;c[85154]=102;c[85155]=283;c[85156]=351956;c[85159]=351956;c[85162]=351956;c[85165]=351956;c[85168]=351956;c[85171]=351956;c[85174]=307730;c[85175]=102;c[85176]=181;c[85177]=307744;c[85178]=102;c[85179]=179;c[85180]=307758;c[85181]=63;c[85182]=177;c[85183]=351956;c[85186]=307778;c[85187]=102;c[85188]=296;c[85189]=351956;c[85192]=351956;c[85195]=307793;c[85196]=47;c[85197]=400;c[85198]=307816;c[85199]=47;c[85200]=398;c[85201]=351956;c[85204]=351956;c[85207]=351956;c[85210]=351956;c[85213]=351956;c[85216]=351956;c[85219]=351956;c[85222]=351956;c[85225]=351956;c[85228]=351956;c[85231]=351956;c[85234]=351956;c[85237]=351956;c[85240]=307839;c[85241]=63;c[85242]=174;c[85243]=351956;c[85246]=351956;c[85249]=307855;c[85250]=63;c[85251]=178;c[85252]=351956;c[85255]=351956;c[85258]=351956;c[85261]=307875;c[85262]=47;c[85263]=407;c[85264]=307899;c[85265]=47;c[85266]=405;c[85267]=351956;c[85270]=351956;c[85273]=351956;c[85276]=351956;c[85279]=307923;c[85280]=61;c[85281]=238;c[85282]=351956;c[85285]=307934;c[85286]=61;c[85287]=239;c[85288]=328936;c[85289]=5;c[85291]=351956;c[85294]=351956;c[85297]=307945;c[85298]=61;c[85299]=242;c[85300]=351956;c[85303]=307956;c[85304]=61;c[85305]=243;c[85306]=307967;c[85307]=102;c[85308]=325;c[85309]=351956;c[85312]=307977;c[85313]=61;c[85314]=248;c[85315]=307988;c[85316]=102;c[85317]=307;c[85318]=307998;c[85319]=61;c[85320]=249;c[85321]=351956;c[85324]=351956;c[85327]=351956;c[85330]=308009;c[85331]=61;c[85332]=252;c[85333]=351956;c[85336]=308020;c[85337]=61;c[85338]=253;c[85339]=308031;c[85340]=95;c[85341]=233;c[85342]=351956;c[85345]=351956;c[85348]=308050;c[85349]=95;c[85350]=227;c[85351]=308069;c[85352]=63;c[85353]=174;c[85354]=351956;c[85357]=351956;c[85360]=308085;c[85361]=63;c[85362]=178;c[85363]=351956;c[85366]=351956;c[85369]=351956;c[85372]=351956;c[85375]=351956;c[85378]=351956;c[85381]=351956;c[85384]=308105;c[85385]=52;c[85386]=341;c[85387]=308115;c[85388]=102;c[85389]=228;c[85390]=351956;c[85393]=351956;c[85396]=308127;c[85397]=102;c[85398]=222;c[85399]=351956;c[85402]=351956;c[85405]=351956;c[85408]=351956;c[85411]=351956;c[85414]=351956;c[85417]=351956;c[85420]=330092;c[85421]=101;c[85422]=6;c[85423]=351956;c[85426]=351956;c[85429]=351956;c[85432]=351956;c[85435]=351956;c[85438]=308139;c[85439]=102;c[85440]=342;c[85441]=351956;c[85444]=308163;c[85445]=102;c[85446]=343;c[85447]=351956;c[85450]=351956;c[85453]=351956;c[85456]=351956;c[85459]=351956;c[85462]=351956;c[85465]=351956;c[85468]=351956;c[85471]=351956;c[85474]=351956;c[85477]=329087;c[85478]=22;c[85480]=351956;c[85483]=351956;c[85486]=351956;c[85489]=351956;c[85492]=351956;c[85495]=351956;c[85498]=351956;c[85501]=351956;c[85504]=351956;c[85507]=351956;c[85510]=351956;c[85513]=351956;c[85516]=351956;c[85519]=351956;c[85522]=351956;c[85525]=329502;c[85526]=87;c[85527]=1;c[85528]=351956;c[85531]=351956;c[85534]=351956;c[85537]=351956;c[85540]=351956;c[85543]=351956;c[85546]=351956;c[85549]=351956;c[85552]=351956;c[85555]=351956;c[85558]=351956;c[85561]=351956;c[85564]=351956;c[85567]=351956;c[85570]=351956;c[85573]=351956;c[85576]=351956;c[85579]=308187;c[85580]=9;c[85582]=351956;c[85585]=308194;c[85586]=102;c[85587]=326;c[85588]=351956;c[85591]=351956;c[85594]=351956;c[85597]=329185;c[85598]=38;c[85600]=308205;c[85601]=102;c[85602]=308;c[85603]=351956;c[85606]=351956;c[85609]=351956;c[85612]=351956;c[85615]=351956;c[85618]=351956;c[85621]=351956;c[85624]=351956;c[85627]=351956;c[85630]=351956;c[85633]=351956;c[85636]=351956;c[85639]=351956;c[85642]=351956;c[85645]=308220;c[85646]=52;c[85647]=311;c[85648]=351956;c[85651]=351956;c[85654]=351956;c[85657]=308232;c[85658]=52;c[85659]=312;c[85660]=308244;c[85661]=95;c[85662]=229;c[85663]=351956;c[85666]=308263;c[85667]=67;c[85668]=25;c[85669]=308274;c[85670]=95;c[85671]=223;c[85672]=351956;c[85675]=351956;c[85678]=351956;c[85681]=351956;c[85684]=351956;c[85687]=351956;c[85690]=351956;c[85693]=351956;c[85696]=351956;c[85699]=351956;c[85702]=351956;c[85705]=351956;c[85708]=351956;c[85711]=351956;c[85714]=351956;c[85717]=351956;c[85720]=308293;c[85721]=63;c[85722]=175;c[85723]=351956;c[85726]=351956;c[85729]=351956;c[85732]=351956;c[85735]=351956;c[85738]=351956;c[85741]=351956;c[85744]=308313;c[85745]=49;c[85746]=364;c[85747]=308331;c[85748]=49;c[85749]=362;c[85750]=351956;c[85753]=308349;c[85754]=52;c[85755]=310;c[85756]=351956;c[85759]=351956;c[85762]=351956;c[85765]=351956;c[85768]=351956;c[85771]=351956;c[85774]=351956;c[85777]=351956;c[85780]=351956;c[85783]=351956;c[85786]=351956;c[85789]=351956;c[85792]=351956;c[85795]=351956;c[85798]=351956;c[85801]=328993;c[85802]=7;c[85804]=351956;c[85807]=351956;c[85810]=351956;c[85813]=351956;c[85816]=351956;c[85819]=351956;c[85822]=351956;c[85825]=351956;c[85828]=351956;c[85831]=308359;c[85832]=63;c[85833]=175;c[85834]=351956;c[85837]=351956;c[85840]=351956;c[85843]=351956;c[85846]=351956;c[85849]=351956;c[85852]=351956;c[85855]=351956;c[85858]=351956;c[85861]=351956;c[85864]=351956;c[85867]=351956;c[85870]=351956;c[85873]=351956;c[85876]=351956;c[85879]=351956;c[85882]=351956;c[85885]=351956;c[85888]=351956;c[85891]=351956;c[85894]=351956;c[85897]=351956;c[85900]=308379;c[85901]=63;c[85902]=176;c[85903]=351956;c[85906]=351956;c[85909]=351956;c[85912]=351956;c[85915]=351956;c[85918]=351956;c[85921]=351956;c[85924]=351956;c[85927]=351956;c[85930]=351956;c[85933]=351956;c[85936]=351956;c[85939]=351956;c[85942]=351956;c[85945]=351956;c[85948]=351956;c[85951]=351956;c[85954]=351956;c[85957]=351956;c[85960]=351956;c[85963]=351956;c[85966]=351956;c[85969]=351956;c[85972]=329450;c[85973]=78;c[85974]=203;c[85975]=351956;c[85978]=351956;c[85981]=351956;c[85984]=351956;c[85987]=308399;c[85988]=61;c[85989]=84;c[85990]=308406;c[85991]=61;c[85992]=78;c[85993]=351956;c[85996]=308413;c[85997]=61;c[85998]=68;c[85999]=308420;c[86e3]=61;c[86001]=57;c[86002]=351956;c[86005]=351956;c[86008]=329392;c[86009]=73;c[86010]=198;c[86011]=308427;c[86012]=63;c[86013]=176;c[86014]=351956;c[86017]=329461;c[86018]=79;c[86019]=202;c[86020]=308447;c[86021]=63;c[86022]=154;c[86023]=351956;c[86026]=351956;c[86029]=351956;c[86032]=351956;c[86035]=308460;c[86036]=102;c[86037]=281;c[86038]=308470;c[86039]=47;c[86040]=396;c[86041]=308489;c[86042]=47;c[86043]=395;c[86044]=351956;c[86047]=351956;c[86050]=351956;c[86053]=351956;c[86056]=351956;c[86059]=351956;c[86062]=351956;c[86065]=351956;c[86068]=308508;c[86069]=102;c[86070]=294;c[86071]=351956;c[86074]=308518;c[86075]=95;c[86076]=230;c[86077]=351956;c[86080]=351956;c[86083]=308537;c[86084]=95;c[86085]=224;c[86086]=351956;c[86089]=351956;c[86092]=351956;c[86095]=351956;c[86098]=351956;c[86101]=351956;c[86104]=351956;c[86107]=351956;c[86110]=351956;c[86113]=351956;c[86116]=308556;c[86117]=102;c[86118]=214;c[86119]=308568;c[86120]=52;c[86121]=332;c[86122]=351956;c[86125]=351956;c[86128]=351956;c[86131]=308578;c[86132]=63;c[86133]=154;c[86134]=351956;c[86137]=351956;c[86140]=351956;c[86143]=351956;c[86146]=351956;c[86149]=308591;c[86150]=102;c[86151]=218;c[86152]=351956;c[86155]=351956;c[86158]=351956;c[86161]=351956;c[86164]=351956;c[86167]=351956;c[86170]=351956;c[86173]=351956;c[86176]=351956;c[86179]=351956;c[86182]=351956;c[86185]=351956;c[86188]=351956;c[86191]=351956;c[86194]=351956;c[86197]=351956;c[86200]=351956;c[86203]=351956;c[86206]=351956;c[86209]=351956;c[86212]=351956;c[86215]=351956;c[86218]=351956;c[86221]=351956;c[86224]=351956;c[86227]=351956;c[86230]=351956;c[86233]=308603;c[86234]=102;c[86235]=110;c[86236]=308614;c[86237]=102;c[86238]=92;c[86239]=351956;c[86242]=308625;c[86243]=102;c[86244]=346;c[86245]=351956;c[86248]=308647;c[86249]=102;c[86250]=347;c[86251]=351956;c[86254]=351956;c[86257]=351956;c[86260]=351956;c[86263]=351956;c[86266]=351956;c[86269]=308669;c[86270]=77;c[86271]=50;c[86272]=351956;c[86275]=351956;c[86278]=351956;c[86281]=351956;c[86284]=351956;c[86287]=308684;c[86288]=51;c[86289]=350;c[86290]=351956;c[86293]=351956;c[86296]=351956;c[86299]=351956;c[86302]=351956;c[86305]=351956;c[86308]=351956;c[86311]=351956;c[86314]=351956;c[86317]=351956;c[86320]=308698;c[86321]=102;c[86322]=282;c[86323]=351956;c[86326]=351956;c[86329]=351956;c[86332]=351956;c[86335]=351956;c[86338]=351956;c[86341]=351956;c[86344]=308713;c[86345]=61;c[86346]=270;c[86347]=351956;c[86350]=351956;c[86353]=308722;c[86354]=102;c[86355]=295;c[86356]=351956;c[86359]=351956;c[86362]=351956;c[86365]=308737;c[86366]=52;c[86367]=285;c[86368]=351956;c[86371]=351956;c[86374]=351956;c[86377]=308749;c[86378]=52;c[86379]=286;c[86380]=351956;c[86383]=351956;c[86386]=351956;c[86389]=351956;c[86392]=351956;c[86395]=351956;c[86398]=308761;c[86399]=52;c[86400]=298;c[86401]=308773;c[86402]=95;c[86403]=215;c[86404]=351956;c[86407]=308794;c[86408]=95;c[86409]=216;c[86410]=308815;c[86411]=52;c[86412]=299;c[86413]=351956;c[86416]=351956;c[86419]=351956;c[86422]=351956;c[86425]=351956;c[86428]=351956;c[86431]=308827;c[86432]=102;c[86433]=348;c[86434]=308849;c[86435]=95;c[86436]=219;c[86437]=308870;c[86438]=102;c[86439]=349;c[86440]=308892;c[86441]=95;c[86442]=220;c[86443]=351956;c[86446]=351956;c[86449]=351956;c[86452]=351956;c[86455]=351956;c[86458]=351956;c[86461]=351956;c[86464]=351956;c[86467]=351956;c[86470]=351956;c[86473]=308913;c[86474]=52;c[86475]=284;c[86476]=351956;c[86479]=351956;c[86482]=351956;c[86485]=351956;c[86488]=351956;c[86491]=351956;c[86494]=351956;c[86497]=351956;c[86500]=351956;c[86503]=351956;c[86506]=308923;c[86507]=52;c[86508]=297;c[86509]=351956;c[86512]=351956;c[86515]=351956;c[86518]=351956;c[86521]=351956;c[86524]=351956;c[86527]=351956;c[86530]=351956;c[86533]=351956;c[86536]=351956;c[86539]=351956;c[86542]=351956;c[86545]=351956;c[86548]=351956;c[86551]=351956;c[86554]=351956;c[86557]=351956;c[86560]=351956;c[86563]=351956;c[86566]=351956;c[86569]=351956;c[86572]=351956;c[86575]=351956;c[86578]=351956;c[86581]=351956;c[86584]=308933;c[86585]=52;c[86586]=153;c[86587]=308946;c[86588]=52;c[86589]=139;c[86590]=308959;c[86591]=47;c[86592]=406;c[86593]=308982;c[86594]=47;c[86595]=404;c[86596]=351956;c[86599]=351956;c[86602]=351956;c[86605]=351956;c[86608]=351956;c[86611]=351956;c[86614]=351956;c[86617]=351956;c[86620]=351956;c[86623]=351956;c[86626]=351956;c[86629]=351956;c[86632]=351956;c[86635]=351956;c[86638]=351956;c[86641]=351956;c[86644]=309005;c[86645]=75;c[86646]=51;c[86647]=351956;c[86650]=351956;c[86653]=351956;c[86656]=351956;c[86659]=351956;c[86662]=351956;c[86665]=351956;c[86668]=351956;c[86671]=351956;c[86674]=351956;c[86677]=351956;c[86680]=351956;c[86683]=351956;c[86686]=351956;c[86689]=351956;c[86692]=351956;c[86695]=351956;c[86698]=351956;c[86701]=351956;c[86704]=351956;c[86707]=351956;c[86710]=351956;c[86713]=351956;c[86716]=351956;c[86719]=351956;c[86722]=351956;c[86725]=351956;c[86728]=351956;c[86731]=351956;c[86734]=351956;c[86737]=351956;c[86740]=351956;c[86743]=351956;c[86746]=351956;c[86749]=351956;c[86752]=351956;c[86755]=351956;c[86758]=351956;c[86761]=351956;c[86764]=351956;c[86767]=351956;c[86770]=351956;c[86773]=351956;c[86776]=351956;c[86779]=351956;c[86782]=309017;c[86783]=96;c[86784]=213;c[86785]=351956;c[86788]=351956;c[86791]=351956;c[86794]=309031;c[86795]=48;c[86796]=410;c[86797]=309054;c[86798]=48;c[86799]=409;c[86800]=351956;c[86803]=309077;c[86804]=95;c[86805]=217;c[86806]=351956;c[86809]=351956;c[86812]=351956;c[86815]=351956;c[86818]=351956;c[86821]=351956;c[86824]=351956;c[86827]=351956;c[86830]=351956;c[86833]=351956;c[86836]=309096;c[86837]=95;c[86838]=221;c[86839]=351956;c[86842]=351956;c[86845]=351956;c[86848]=351956;c[86851]=351956;c[86854]=351956;c[86857]=351956;c[86860]=351956;c[86863]=351956;c[86866]=351956;c[86869]=351956;c[86872]=351956;c[86875]=351956;c[86878]=351956;c[86881]=351956;c[86884]=351956;c[86887]=351956;c[86890]=351956;c[86893]=351956;c[86896]=351956;c[86899]=351956;c[86902]=351956;c[86905]=351956;c[86908]=351956;c[86911]=351956;c[86914]=351956;c[86917]=351956;c[86920]=351956;c[86923]=351956;c[86926]=351956;c[86929]=351956;c[86932]=351956;c[86935]=351956;c[86938]=351956;c[86941]=351956;c[86944]=351956;c[86947]=351956;c[86950]=351956;c[86953]=351956;c[86956]=351956;c[86959]=351956;c[86962]=351956;c[86965]=351956;c[86968]=351956;c[86971]=351956;c[86974]=351956;c[86977]=351956;c[86980]=351956;c[86983]=351956;c[86986]=351956;c[86989]=351956;c[86992]=351956;c[86995]=351956;c[86998]=351956;c[87001]=351956;c[87004]=351956;c[87007]=351956;c[87010]=351956;c[87013]=351956;c[87016]=351956;c[87019]=351956;c[87022]=351956;c[87025]=351956;c[87028]=351956;c[87031]=351956;c[87034]=351956;c[87037]=351956;c[87040]=351956;c[87043]=351956;c[87046]=351956;c[87049]=351956;c[87052]=351956;c[87055]=351956;c[87058]=351956;c[87061]=351956;c[87064]=351956;c[87067]=351956;c[87070]=351956;c[87073]=351956;c[87076]=351956;c[87079]=309115;c[87080]=61;c[87081]=264;c[87082]=351956;c[87085]=351956;c[87088]=309124;c[87089]=61;c[87090]=254;c[87091]=351956;c[87094]=351956;c[87097]=351956;c[87100]=351956;c[87103]=351956;c[87106]=351956;c[87109]=351956;c[87112]=351956;c[87115]=351956;c[87118]=351956;c[87121]=351956;c[87124]=351956;c[87127]=351956;c[87130]=351956;c[87133]=351956;c[87136]=351956;c[87139]=351956;c[87142]=351956;c[87145]=351956;c[87148]=351956;c[87151]=351956;c[87154]=351956;c[87157]=351956;c[87160]=351956;c[87163]=351956;c[87166]=351956;c[87169]=351956;c[87172]=351956;c[87175]=351956;c[87178]=351956;c[87181]=351956;c[87184]=351956;c[87187]=351956;c[87190]=351956;c[87193]=351956;c[87196]=351956;c[87199]=351956;c[87202]=351956;c[87205]=351956;c[87208]=351956;c[87211]=351956;c[87214]=351956;c[87217]=351956;c[87220]=351956;c[87223]=351956;c[87226]=351956;c[87229]=351956;c[87232]=351956;c[87235]=351956;c[87238]=351956;c[87241]=351956;c[87244]=351956;c[87247]=351956;c[87250]=351956;c[87253]=351956;c[87256]=351956;c[87259]=351956;c[87262]=351956;c[87265]=351956;c[87268]=351956;c[87271]=351956;c[87274]=351956;c[87277]=351956;c[87280]=351956;c[87283]=329380;c[87284]=72;c[87285]=199;c[87286]=351956;c[87289]=351956;c[87292]=351956;c[87295]=351956;c[87298]=351956;c[87301]=351956;c[87304]=351956;c[87307]=351956;c[87310]=351956;c[87313]=351956;c[87316]=351956;c[87319]=351956;c[87322]=351956;c[87325]=351956;c[87328]=351956;c[87331]=351956;c[87334]=351956;c[87337]=351956;c[87340]=351956;c[87343]=351956;c[87346]=351956;c[87349]=351956;c[87352]=351956;c[87355]=351956;c[87358]=351956;c[87361]=351956;c[87364]=351956;c[87367]=351956;c[87370]=351956;c[87373]=351956;c[87376]=351956;c[87379]=351956;c[87382]=351956;c[87385]=351956;c[87388]=351956;c[87391]=351956;c[87394]=351956;c[87397]=351956;c[87400]=351956;c[87403]=351956;c[87406]=351956;c[87409]=351956;c[87412]=351956;c[87415]=351956;c[87418]=351956;c[87421]=351956;c[87424]=351956;c[87427]=351956;c[87430]=351956;c[87433]=351956;c[87436]=351956;c[87439]=351956;c[87442]=351956;c[87445]=351956;c[87448]=351956;c[87451]=351956;c[87454]=351956;c[87457]=351956;c[87460]=351956;c[87463]=351956;c[87466]=351956;c[87469]=351956;c[87472]=351956;c[87475]=351956;c[87478]=351956;c[87481]=351956;c[87484]=351956;c[87487]=351956;c[87490]=351956;c[87493]=351956;c[87496]=351956;c[87499]=351956;c[87502]=309133;c[87503]=47;c[87504]=403;c[87505]=309153;c[87506]=47;c[87507]=402;c[87508]=351956;c[87511]=351956;c[87514]=351956;c[87517]=351956;c[87520]=351956;c[87523]=351956;c[87526]=351956;c[87529]=351956;c[87532]=351956;c[87535]=351956;c[87538]=351956;c[87541]=351956;c[87544]=351956;c[87547]=351956;c[87550]=351956;c[87553]=351956;c[87556]=351956;c[87559]=351956;c[87562]=351956;c[87565]=351956;c[87568]=351956;c[87571]=351956;c[87574]=351956;c[87577]=351956;c[87580]=351956;c[87583]=351956;c[87586]=351956;c[87589]=351956;c[87592]=351956;c[87595]=351956;c[87598]=351956;c[87601]=351956;c[87604]=351956;c[87607]=351956;c[87610]=351956;c[87613]=351956;c[87616]=351956;c[87619]=351956;c[87622]=351956;c[87625]=351956;c[87628]=351956;c[87631]=351956;c[87634]=351956;c[87637]=351956;c[87640]=351956;c[87643]=351956;c[87646]=351956;c[87649]=351956;c[87652]=351956;c[87655]=351956;c[87658]=351956;c[87661]=351956;c[87664]=351956;c[87667]=351956;c[87670]=351956;c[87673]=351956;c[87676]=351956;c[87679]=351956;c[87682]=351956;c[87685]=351956;c[87688]=351956;c[87691]=351956;c[87694]=351956;c[87697]=351956;c[87700]=351956;c[87703]=351956;c[87706]=351956;c[87709]=351956;c[87712]=351956;c[87715]=351956;c[87718]=351956;c[87721]=351956;c[87724]=351956;c[87727]=351956;c[87730]=351956;c[87733]=351956;c[87736]=351956;c[87739]=351956;c[87742]=351956;c[87745]=351956;c[87748]=351956;c[87751]=351956;c[87754]=351956;c[87757]=351956;c[87760]=351956;c[87763]=351956;c[87766]=351956;c[87769]=351956;c[87772]=351956;c[87775]=351956;c[87778]=351956;c[87781]=351956;c[87784]=351956;c[87787]=351956;c[87790]=351956;c[87793]=351956;c[87796]=351956;c[87799]=351956;c[87802]=351956;c[87805]=351956;c[87808]=309173;c[87809]=61;c[87810]=234;c[87811]=351956;c[87814]=351956;c[87817]=351956;c[87820]=351956;c[87823]=351956;c[87826]=351956;c[87829]=351956;c[87832]=351956;c[87835]=351956;c[87838]=351956;c[87841]=309182;c[87842]=61;c[87843]=244}if((j+-2|0)>>>0<27){switch(j|0){case 18:{g=18;l=14;break}case 17:{g=17;l=15;break}case 16:{g=16;l=16;break}case 14:case 15:{g=j;l=17;break}case 13:{g=13;l=18;break}case 12:{g=12;l=19;break}case 11:{g=11;l=20;break}case 9:case 10:{g=j;l=21;break}case 8:{g=8;l=22;break}case 7:{g=7;l=23;break}case 6:{g=6;l=24;break}case 5:{g=5;l=25;break}case 3:case 4:{g=j;l=26;break}case 2:{h=2;break}default:{g=j+(e[15680+(d[k+18>>0]<<1)>>1]|0)|0;l=14}}if((l|0)==14){g=g+(e[15680+(d[k+17>>0]<<1)>>1]|0)|0;l=15}if((l|0)==15){g=g+(e[15680+(((a[k+16>>0]|0)+1&255)<<1)>>1]|0)|0;l=16}if((l|0)==16){g=g+(e[15680+(d[k+15>>0]<<1)>>1]|0)|0;l=17}if((l|0)==17){g=g+(e[15680+(d[k+13>>0]<<1)>>1]|0)|0;l=18}if((l|0)==18){g=g+(e[15680+(d[k+12>>0]<<1)>>1]|0)|0;l=19}if((l|0)==19){g=g+(e[15680+(d[k+11>>0]<<1)>>1]|0)|0;l=20}if((l|0)==20){g=g+(e[15680+(d[k+10>>0]<<1)>>1]|0)|0;l=21}if((l|0)==21){g=g+(e[15680+(d[k+8>>0]<<1)>>1]|0)|0;l=22}if((l|0)==22){g=g+(e[15680+(d[k+7>>0]<<1)>>1]|0)|0;l=23}if((l|0)==23){g=g+(e[15680+(d[k+6>>0]<<1)>>1]|0)|0;l=24}if((l|0)==24){g=g+(e[15680+(d[k+5>>0]<<1)>>1]|0)|0;l=25}if((l|0)==25){g=g+(e[15680+(((a[k+4>>0]|0)+1&255)<<1)>>1]|0)|0;l=26}if((l|0)==26)h=g+(e[15680+(d[k+2>>0]<<1)>>1]|0)|0;g=a[k>>0]|0;i=j+-1|0;m=h+(e[15680+((g&255)<<1)>>1]|0)+(e[15680+(d[k+i>>0]<<1)>>1]|0)|0;if(((m>>>0<1736?(o=c[330544+(m*12|0)>>2]|0,g<<24>>24==(a[o>>0]|0)):0)?(nA(k+1|0,o+1|0,i)|0)==0:0)?(a[o+j>>0]|0)==0:0){l=c[330544+(m*12|0)+4>>2]|0;if(l>>>0<43){k=f+4|0;m=a[k+11>>0]|0;j=m<<24>>24<0;m=j?c[f+8>>2]|0:m&255;o=c[f+16>>2]|0;s=c[f+28>>2]|0;r=(c[n>>2]|0)+1-s|0;s=1-s+(c[q>>2]|0)|0;c[p>>2]=j?c[k>>2]|0:k;c[p+4>>2]=m;c[p+8>>2]=o;c[p+12>>2]=r;c[p+16>>2]=s;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];_x(b,t,l);aa=u;return}g=f+4|0;k=a[g+11>>0]|0;p=k<<24>>24<0;k=p?c[f+8>>2]|0:k&255;j=c[f+16>>2]|0;h=c[f+28>>2]|0;i=(c[n>>2]|0)+1-h|0;h=1-h+(c[q>>2]|0)|0;g=p?c[g>>2]|0:g;if((l|0)==109){c[r>>2]=g;c[r+4>>2]=k;c[r+8>>2]=j;c[r+12>>2]=i;c[r+16>>2]=h;s=c[330544+(m*12|0)+8>>2]|0;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[t+16>>2]=c[r+16>>2];$x(b,t,109,s);aa=u;return}else{c[s>>2]=g;c[s+4>>2]=k;c[s+8>>2]=j;c[s+12>>2]=i;c[s+16>>2]=h;r=c[330544+(m*12|0)+8>>2]|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];c[t+16>>2]=c[s+16>>2];by(b,t,l,r);aa=u;return}}}Ap(b,f,106,0);aa=u;return}function Dp(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=d+36|0;j=c[d+24>>2]|0;f=c[k>>2]|0;while(1){g=f>>>0<j>>>0;if(g)h=(a[f>>0]|0)+1|0;else h=0;if(!(a[15408+h>>0]&4))break;if(g){f=f+1|0;c[k>>2]=f}h=f>>>0<j>>>0;do if(h){g=a[f>>0]|0;if(g<<24>>24==95){f=f+1|0;c[k>>2]=f;break}else{g=(g<<24>>24)+1|0;i=11;break}}else{g=0;i=11}while(0);if((i|0)==11){i=0;if(!(a[15408+g>>0]&4)){i=13;break}}}if((i|0)==13){a:do if(h?(a[f>>0]|0)==46:0){f=f+1|0;c[k>>2]=f;if(f>>>0<j>>>0)e=(a[f>>0]|0)+1|0;else e=0;if(!(a[15408+e>>0]&4))e=43;else{while(1){e=f>>>0<j>>>0;if(e)g=(a[f>>0]|0)+1|0;else g=0;if(!(a[15408+g>>0]&4))break;if(e){f=f+1|0;c[k>>2]=f}do if(f>>>0<j>>>0){e=a[f>>0]|0;if(e<<24>>24==95){f=f+1|0;c[k>>2]=f;break}else{e=(e<<24>>24)+1|0;i=29;break}}else{e=0;i=29}while(0);if((i|0)==29){i=0;if(!(a[15408+e>>0]&4)){e=43;break a}}}b:while(1){g=f>>>0<j>>>0;if(g)e=a[f>>0]|0;else e=-1;while(1){if(!(a[15408+(e+1)>>0]&1))break b;if(g)break;else e=-1}i=f+1|0;c[k>>2]=i;f=i}Ap(b,d,106,0);return}}while(0);c:do if(f>>>0<j>>>0){switch(a[f>>0]|0){case 80:case 112:break;default:break c}e=f+1|0;c[k>>2]=e;d:do if(e>>>0<j>>>0){switch(a[e>>0]|0){case 45:case 43:break;default:{f=e;break d}}f=f+2|0;c[k>>2]=f}else f=e;while(0);while(1){e=f>>>0<j>>>0;if(e)g=(a[f>>0]|0)+1|0;else g=0;if(!(a[15408+g>>0]&4))break;if(e){f=f+1|0;c[k>>2]=f}do if(f>>>0<j>>>0){e=a[f>>0]|0;if(e<<24>>24==95){f=f+1|0;c[k>>2]=f;break}else{e=(e<<24>>24)+1|0;i=54;break}}else{e=0;i=54}while(0);if((i|0)==54){i=0;if(!(a[15408+e>>0]&4)){e=43;break c}}}e:while(1){g=f>>>0<j>>>0;if(g)e=a[f>>0]|0;else e=-1;while(1){if(!(a[15408+(e+1)>>0]&1))break e;if(g)break;else e=-1}i=f+1|0;c[k>>2]=i;f=i}Ap(b,d,106,0);return}while(0);i=0;while(1){g=f>>>0<j>>>0;if(g)h=a[f>>0]|0;else h=-1;if(!(a[15408+(h+1)>>0]&1))break;if(g){f=f+1|0;c[k>>2]=f}i=i+1|0}if(!i)if((e|0)==43){Fp(b,d,43,2);return}else{Fp(b,d,e,0);return}}f:while(1){g=f>>>0<j>>>0;if(g)e=a[f>>0]|0;else e=-1;while(1){if(!(a[15408+(e+1)>>0]&1))break f;if(g)break;else e=-1}i=f+1|0;c[k>>2]=i;f=i}Ap(b,d,106,0);return}function Ep(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;p=aa;aa=aa+48|0;n=p+24|0;o=p;m=p+4|0;l=b+36|0;f=c[l>>2]|0;k=c[b+24>>2]|0;a:do if(f>>>0<k>>>0){e=b+16|0;g=b+28|0;h=1;b:while(1){i=f+1|0;c[l>>2]=i;j=i;switch(a[f>>0]|0){case -1:{f=j;break a}case 59:{if(i>>>0<k>>>0?(a[i>>0]|0)==41:0){i=f+2|0;c[l>>2]=i;h=h+-1|0;if(!h){e=1;break b}else f=i}else{f=i;i=j}break}case 40:{if(i>>>0<k>>>0?(a[i>>0]|0)==59:0){i=f+2|0;c[l>>2]=i;f=i;h=h+1|0}else{f=i;i=j}break}case 10:{c[e>>2]=(c[e>>2]|0)+1;c[g>>2]=j;f=i;i=j;break}default:{f=i;i=j}}if(f>>>0>=k>>>0){f=i;break a}}aa=p;return e|0}else{g=b+28|0;e=b+16|0}while(0);i=b+4|0;j=a[i+11>>0]|0;h=j<<24>>24<0;j=h?c[b+8>>2]|0:j&255;k=c[e>>2]|0;l=c[g>>2]|0;b=(c[b+32>>2]|0)+1-l|0;c[m>>2]=h?c[i>>2]|0:i;c[m+4>>2]=j;c[m+8>>2]=k;c[m+12>>2]=b;c[m+16>>2]=1-l+f;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];Gp(d,n,303481,o);o=0;aa=p;return o|0}function Fp(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,r=0;n=aa;aa=aa+80|0;k=n+48|0;j=n+12|0;l=n+32|0;m=n;q=d+4|0;p=a[q+11>>0]|0;r=p<<24>>24<0;p=r?c[d+8>>2]|0:p&255;o=c[d+16>>2]|0;h=c[d+32>>2]|0;g=c[d+28>>2]|0;d=c[d+36>>2]|0;c[j>>2]=r?c[q>>2]|0:q;c[j+4>>2]=p;c[j+8>>2]=o;c[j+12>>2]=h+1-g;c[j+16>>2]=1-g+d;g=h;h=d-h|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;if(h>>>0>4294967279)TA();if(h>>>0<11){a[m+11>>0]=h;if(!h)d=m;else{d=m;i=6}}else{i=h+16&-16;d=RA(i)|0;c[m>>2]=d;c[m+8>>2]=i|-2147483648;c[m+4>>2]=h;i=6}if((i|0)==6)jC(d|0,g|0,h|0)|0;a[d+h>>0]=0;c[l>>2]=f;d=l+4|0;VA(d,m);c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];c[k+16>>2]=c[j+16>>2];cy(b,k,e,l);if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);if((a[m+11>>0]|0)>=0){aa=n;return}SA(c[m>>2]|0);aa=n;return}function Gp(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=aa;aa=aa+176|0;k=j+144|0;f=j+128|0;g=j;h=j+164|0;i=j+160|0;c[k>>2]=e;c[f>>2]=c[k>>2];c[h>>2]=g;e=(Mz(g,128,d,k)|0)+1|0;if(e>>>0>128){g=aa;aa=aa+((1*e|0)+15&-16)|0;c[h>>2]=g;Mz(g,e,d,f)|0}e=c[a+8>>2]|0;c[i>>2]=1;d=e+4|0;f=c[d>>2]|0;if(f>>>0<(c[e+8>>2]|0)>>>0){k=Lz(g)|0;c[f>>2]=1;i=f+4|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[i+16>>2]=c[b+16>>2];An(f+24|0,g,k);c[d>>2]=(c[d>>2]|0)+36;aa=j;return}else{Hp(e,i,b,h);aa=j;return}}function Hp(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;o=aa;aa=aa+32|0;i=o;m=b+4|0;g=c[b>>2]|0;k=((c[m>>2]|0)-g|0)/36|0;h=k+1|0;if(h>>>0>119304647)yB();n=b+8|0;l=((c[n>>2]|0)-g|0)/36|0;g=l<<1;g=l>>>0<59652323?(g>>>0<h>>>0?h:g):119304647;do if(g)if(g>>>0>119304647)U();else{j=RA(g*36|0)|0;break}else j=0;while(0);h=j+(k*36|0)|0;l=j+(g*36|0)|0;g=c[d>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];d=c[f>>2]|0;f=Lz(d)|0;c[h>>2]=g;g=j+(k*36|0)+4|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];An(j+(k*36|0)+24|0,d,f);f=h+36|0;d=c[b>>2]|0;g=c[m>>2]|0;if((g|0)==(d|0)){e=d;g=d}else{do{j=h;h=h+-36|0;k=g;g=g+-36|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];j=j+-12|0;k=k+-12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}while((g|0)!=(d|0));e=c[b>>2]|0;g=c[m>>2]|0}c[b>>2]=h;c[m>>2]=f;c[n>>2]=l;d=e;if((g|0)!=(d|0))do{h=g+-12|0;g=g+-36|0;if((a[h+11>>0]|0)<0)SA(c[h>>2]|0)}while((g|0)!=(d|0));if(!e){aa=o;return}SA(e);aa=o;return}function Ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+80|0;d=g+40|0;f=g;e=b+96|0;if(!(c[e>>2]|0)){vp(d,c[b>>2]|0,b);h=c[e>>2]|0;c[e>>2]=h+1;e=b+100|0;h=b+16+(((c[e>>2]|0)+h&1)*40|0)|0;fy(h);dy(h,d);fy(d);d=e}else d=b+100|0;dy(f,b+16+((c[d>>2]&1)*40|0)|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];fy(f);aa=g;return}function Jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;f=h;g=b+96|0;d=c[g>>2]|0;if(!d){e=b+100|0;do{vp(f,c[b>>2]|0,b);d=c[g>>2]|0;c[g>>2]=d+1;d=b+16+(((c[e>>2]|0)+d&1)*40|0)|0;fy(d);dy(d,f);fy(f);d=c[g>>2]|0}while(!(d|0))}else e=b+100|0;e=c[e>>2]&1;c[a>>2]=c[b+16+(e*40|0)+20>>2];a=a+4|0;if(d>>>0>1){g=e;g=g^1;b=b+16+(g*40|0)+20|0;b=c[b>>2]|0;c[a>>2]=b;aa=h;return}d=b+100|0;do{vp(f,c[b>>2]|0,b);e=c[g>>2]|0;c[g>>2]=e+1;e=b+16+(((c[d>>2]|0)+e&1)*40|0)|0;fy(e);dy(e,f);fy(f)}while((c[g>>2]|0)>>>0<=1);g=c[d>>2]&1;g=g^1;b=b+16+(g*40|0)+20|0;b=c[b>>2]|0;c[a>>2]=b;aa=h;return}function Kp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;g=i;h=a+96|0;d=c[h>>2]|0;if(!d){e=a+100|0;do{vp(g,c[a>>2]|0,a);d=c[h>>2]|0;c[h>>2]=d+1;d=a+16+(((c[e>>2]|0)+d&1)*40|0)|0;fy(d);dy(d,g);fy(g);d=c[h>>2]|0}while(!(d|0));f=d;d=e}else{f=d;d=a+100|0}d=c[d>>2]&1;if((c[a+16+(d*40|0)+20>>2]|0)!=21){b=0;aa=i;return b|0}if(f>>>0<=1){d=a+100|0;do{vp(g,c[a>>2]|0,a);f=c[h>>2]|0;c[h>>2]=f+1;f=a+16+(((c[d>>2]|0)+f&1)*40|0)|0;fy(f);dy(f,g);fy(g)}while((c[h>>2]|0)>>>0<=1);d=c[d>>2]&1}b=(c[a+16+((d^1)*40|0)+20>>2]|0)==(b|0);aa=i;return b|0}function Lp(a){a=a|0;switch(a|0){case 96:case 95:case 99:case 50:case 51:case 48:case 47:case 49:case 46:case 86:case 85:case 88:case 100:case 84:case 83:case 82:case 81:case 80:case 79:case 78:case 77:case 76:case 75:case 74:case 73:case 72:case 63:case 61:case 52:case 102:case 62:case 97:case 70:case 93:case 67:case 98:case 94:case 68:case 59:case 58:case 91:case 90:case 89:case 57:case 56:case 55:case 54:case 92:case 64:case 87:case 103:{a=1;break}default:a=0}return a|0}function Mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+80|0;e=h+40|0;f=h;g=a+96|0;if(!(c[g>>2]|0)){d=a+100|0;do{vp(e,c[a>>2]|0,a);i=c[g>>2]|0;c[g>>2]=i+1;i=a+16+(((c[d>>2]|0)+i&1)*40|0)|0;fy(i);dy(i,e);fy(e)}while(!(c[g>>2]|0))}else d=a+100|0;d=c[d>>2]&1;if((c[a+16+(d*40|0)+20>>2]|0)!=(b|0)){i=0;aa=h;return i|0}i=a+100|0;dy(f,a+16+(d*40|0)|0);b=a+16+((c[i>>2]&1)*40|0)|0;fy(b);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[i>>2]=c[i>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;fy(f);i=1;aa=h;return i|0}function Np(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+80|0;d=f+40|0;e=f;if(!(Kp(a,b)|0)){b=0;aa=f;return b|0}g=a+100|0;dy(d,a+16+((c[g>>2]&1)*40|0)|0);b=a+16+((c[g>>2]&1)*40|0)|0;fy(b);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[g>>2]=c[g>>2]&1^1;b=a+96|0;c[b>>2]=(c[b>>2]|0)+-1;fy(d);dy(e,a+16+((c[g>>2]&1)*40|0)|0);a=a+16+((c[g>>2]&1)*40|0)|0;fy(a);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[g>>2]=c[g>>2]&1^1;c[b>>2]=(c[b>>2]|0)+-1;fy(e);b=1;aa=f;return b|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,l=0;j=aa;aa=aa+112|0;f=j+80|0;i=j;h=j+40|0;e=j+8|0;g=j+28|0;if(Mp(b,d)|0){i=0;aa=j;return i|0}k=b+100|0;dy(h,b+16+((c[k>>2]&1)*40|0)|0);l=b+16+((c[k>>2]&1)*40|0)|0;fy(l);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[k>>2]=c[k>>2]&1^1;k=b+96|0;c[k>>2]=(c[k>>2]|0)+-1;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];c[e+16>>2]=c[h+16>>2];hy(g,h);k=g+11|0;l=(a[k>>0]|0)<0?c[g>>2]|0:g;d=Zx(d)|0;c[i>>2]=l;c[i+4>>2]=d;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];Gp(b,f,309227,i);if((a[k>>0]|0)<0)SA(c[g>>2]|0);fy(h);l=1;aa=j;return l|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,l=0,m=0,n=0,o=0,p=0,q=0;p=aa;aa=aa+112|0;h=p+88|0;o=p;f=p+80|0;m=p+40|0;g=p+4|0;k=p+24|0;i=b+100|0;l=b+96|0;n=m+20|0;e=k+11|0;j=0;while(1){Jp(f,b);c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];if(ea[d&127](h)|0){e=0;f=8;break}dy(m,b+16+((c[i>>2]&1)*40|0)|0);q=b+16+((c[i>>2]&1)*40|0)|0;fy(q);c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[i>>2]=c[i>>2]&1^1;c[l>>2]=(c[l>>2]|0)+-1;if((c[n>>2]|0)==106?(c[g>>2]=c[m>>2],c[g+4>>2]=c[m+4>>2],c[g+8>>2]=c[m+8>>2],c[g+12>>2]=c[m+12>>2],c[g+16>>2]=c[m+16>>2],hy(k,m),c[o>>2]=(a[e>>0]|0)<0?c[k>>2]|0:k,c[h>>2]=c[g>>2],c[h+4>>2]=c[g+4>>2],c[h+8>>2]=c[g+8>>2],c[h+12>>2]=c[g+12>>2],c[h+16>>2]=c[g+16>>2],Gp(b,h,309261,o),(a[e>>0]|0)<0):0)SA(c[k>>2]|0);fy(m);j=j+1|0;if(j>>>0>=10){e=1;f=8;break}}if((f|0)==8){aa=p;return e|0}return 0}function Qp(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;o=aa;aa=aa+128|0;j=o+96|0;n=o;m=o+56|0;k=o+40|0;i=o+8|0;l=o+28|0;g=b+100|0;dy(m,b+16+((c[g>>2]&1)*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;fy(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;g=b+96|0;c[g>>2]=(c[g>>2]|0)+-1;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;g=d+4|0;if((c[d>>2]|0)!=(c[g>>2]|0)){hB(k,329656)|0;f=(c[g>>2]|0)-(c[d>>2]|0)|0;if(f|0){h=0;f=(f|0)/12|0;do{do if(h|0)if((h|0)==(f+-1|0)){mB(k,309305)|0;break}else{mB(k,329762)|0;break}while(0);p=c[d>>2]|0;r=p+(h*12|0)|0;f=a[r+11>>0]|0;q=f<<24>>24<0;lB(k,q?c[r>>2]|0:r,q?c[p+(h*12|0)+4>>2]|0:f&255)|0;h=h+1|0;f=((c[g>>2]|0)-(c[d>>2]|0)|0)/12|0}while(h>>>0<f>>>0)}if(e|0){mB(k,309310)|0;mB(k,e)|0;mB(k,329148)|0}};c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[i+16>>2]=c[m+16>>2];hy(l,m);r=l+11|0;f=k+11|0;q=(a[f>>0]|0)<0?c[k>>2]|0:k;c[n>>2]=(a[r>>0]|0)<0?c[l>>2]|0:l;c[n+4>>2]=q;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];Gp(b,j,309318,n);if((a[r>>0]|0)<0)SA(c[l>>2]|0);if((a[f>>0]|0)>=0){fy(m);aa=o;return}SA(c[k>>2]|0);fy(m);aa=o;return}function Rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+80|0;d=g+40|0;f=g;if(!(Mp(a,21)|0)){a=0;aa=g;return a|0}e=a+96|0;if(!(c[e>>2]|0)){vp(d,c[a>>2]|0,a);h=c[e>>2]|0;c[e>>2]=h+1;e=a+100|0;h=a+16+(((c[e>>2]|0)+h&1)*40|0)|0;fy(h);dy(h,d);fy(d);d=e}else d=a+100|0;dy(f,a+16+((c[d>>2]&1)*40|0)|0);fy(f);Qp(a,b,0);h=1;aa=g;return h|0}function Sp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;e=g;f=a+96|0;if(!(c[f>>2]|0)){d=a+100|0;do{vp(e,c[a>>2]|0,a);h=c[f>>2]|0;c[f>>2]=h+1;h=a+16+(((c[d>>2]|0)+h&1)*40|0)|0;fy(h);dy(h,e);fy(e)}while(!(c[f>>2]|0))}else d=a+100|0;d=c[d>>2]&1;if((c[a+16+(d*40|0)+20>>2]|0)!=108){aa=g;return}h=a+100|0;dy(e,a+16+(d*40|0)|0);a=a+16+((c[h>>2]&1)*40|0)|0;fy(a);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[h>>2]=c[h>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;cB(b,e+24|0)|0;fy(e);aa=g;return}function Tp(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;k=aa;aa=aa+96|0;j=k+56|0;h=k+8|0;i=k+16|0;g=k;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{vp(j,c[b>>2]|0,b);l=c[f>>2]|0;c[f>>2]=l+1;l=b+16+(((c[e>>2]|0)+l&1)*40|0)|0;fy(l);dy(l,j);fy(j)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;switch(c[b+16+(e*40|0)+20>>2]|0){case 45:{l=b+100|0;dy(i,b+16+(e*40|0)|0);e=b+16+((c[l>>2]&1)*40|0)|0;fy(e);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[l>>2]=c[l>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;f=i+28|0;e=a[f+11>>0]|0;l=e<<24>>24<0;f=l?c[f>>2]|0:f;e=l?c[i+32>>2]|0:e&255;l=g;c[l>>2]=-1;c[l+4>>2]=0;if((Ox(f,f+e|0,g)|0)==1){c[h>>2]=e;c[h+4>>2]=f;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];Gp(b,j,309343,h)}wl(j,c[g>>2]|0,i);yl(d,j)|0;Dl(j);fy(i);l=0;aa=k;return l|0}case 108:{h=b+100|0;dy(j,b+16+(e*40|0)|0);l=b+16+((c[h>>2]&1)*40|0)|0;fy(l);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[h>>2]=c[h>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;h=j+24|0;l=a[h+11>>0]|0;b=l<<24>>24<0;xl(i,b?c[h>>2]|0:h,b?c[j+28>>2]|0:l&255,j);yl(d,i)|0;Dl(i);fy(j);l=0;aa=k;return l|0}default:{d=RA(16)|0;c[i>>2]=d;c[i+8>>2]=-2147483632;c[i+4>>2]=15;e=d;f=309362;g=e+15|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[d+15>>0]=0;h=i+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a[h+11>>0]=6;a[h>>0]=a[309378]|0;a[h+1>>0]=a[309379]|0;a[h+2>>0]=a[309380]|0;a[h+3>>0]=a[309381]|0;a[h+4>>0]=a[309382]|0;a[h+5>>0]=a[309383]|0;a[h+6>>0]=0;f=j+4|0;g=RA(24)|0;c[j>>2]=g;l=g+24|0;c[j+8>>2]=l;VA(g,i);e=g+12|0;VA(e,h);c[f>>2]=l;Qp(b,j,309385);if((a[g+23>>0]|0)<0)SA(c[e>>2]|0);if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);c[f>>2]=g;SA(g);SA(d);l=1;aa=k;return l|0}}return 0}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+48|0;f=h;g=a+96|0;if(!(c[g>>2]|0)){e=a+100|0;do{vp(f,c[a>>2]|0,a);i=c[g>>2]|0;c[g>>2]=i+1;i=a+16+(((c[e>>2]|0)+i&1)*40|0)|0;fy(i);dy(i,f);fy(f)}while(!(c[g>>2]|0))}else e=a+100|0;switch(c[a+16+((c[e>>2]&1)*40|0)+20>>2]|0){case 108:case 45:{Tp(a,b)|0;i=1;aa=h;return i|0}default:{Al(b,d)|0;i=0;aa=h;return i|0}}return 0}function Vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+32|0;h=j+12|0;i=j;a:do if(Np(b,25)|0){if((Wp(b,d)|0)==1){b=1;aa=j;return b|0}if((Op(b,31)|0)==1){b=1;aa=j;return b|0}}else{Jp(h,b);b:do if((c[h>>2]|0)==21){e=c[h+4>>2]|0;if(!(Lp(e)|0))switch(e|0){case 101:case 69:case 71:case 53:break;default:break b}if((Xp(b,d)|0)==1)e=1;else break a;aa=j;return e|0}while(0);g=RA(16)|0;c[i>>2]=g;c[i+8>>2]=-2147483632;c[i+4>>2]=14;e=g;d=309396;f=e+14|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(f|0));a[g+14>>0]=0;e=h+4|0;d=RA(12)|0;c[h>>2]=d;f=d+12|0;c[h+8>>2]=f;VA(d,i);c[e>>2]=f;Qp(b,h,309411);if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);c[e>>2]=d;SA(d);SA(g);b=1;aa=j;return b|0}while(0);b=0;aa=j;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;h=aa;aa=aa+32|0;i=h+12|0;j=h;f=aq(b,d)|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;a[j+11>>0]=8;e=j;c[e>>2]=1763733089;c[e+4>>2]=1920234350;a[j+8>>0]=0;e=i+4|0;g=RA(12)|0;c[i>>2]=g;d=g+12|0;c[i+8>>2]=d;VA(g,j);c[e>>2]=d;d=(Rp(b,i)|0)==1;if((a[g+11>>0]|0)>=0){c[e>>2]=g;SA(g);j=d?1:f;aa=h;return j|0}SA(c[g>>2]|0);c[e>>2]=g;SA(g);j=d?1:f;aa=h;return j|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,l=0,m=0,n=0,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=aa;aa=aa+464|0;z=A+416|0;q=A;y=A+272|0;g=A+376|0;r=A+48|0;i=A+336|0;j=A+296|0;k=A+232|0;l=A+192|0;m=A+152|0;n=A+112|0;h=A+72|0;p=A+8|0;o=b+96|0;e=c[o>>2]|0;if(!e){f=b+100|0;do{vp(z,c[b>>2]|0,b);e=c[o>>2]|0;c[o>>2]=e+1;e=b+16+(((c[f>>2]|0)+e&1)*40|0)|0;fy(e);dy(e,z);fy(z);e=c[o>>2]|0}while(!(e|0))}else f=b+100|0;f=c[f>>2]&1;if((c[b+16+(f*40|0)+20>>2]|0)!=21){aa=A;return 1}if(e>>>0>1)e=f;else{e=b+100|0;do{vp(z,c[b>>2]|0,b);w=c[o>>2]|0;c[o>>2]=w+1;w=b+16+(((c[e>>2]|0)+w&1)*40|0)|0;fy(w);dy(w,z);fy(z)}while((c[o>>2]|0)>>>0<=1);e=c[e>>2]&1}if(Lp(c[b+16+((e^1)*40|0)+20>>2]|0)|0){x=b+100|0;dy(g,b+16+(e*40|0)|0);w=b+16+((c[x>>2]&1)*40|0)|0;fy(w);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[x>>2]=c[x>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;fy(g);c[z>>2]=0;if((Yp(b,z)|0)==1){e=c[z>>2]|0;c[z>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);aa=A;return 1}if((Zp(b,d)|0)==1){e=c[z>>2]|0;c[z>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);aa=A;return 1}c[r+8>>2]=117440512;a[r>>0]=a[309427]|0;a[r+1>>0]=a[309428]|0;a[r+2>>0]=a[309429]|0;a[r+3>>0]=a[309430]|0;a[r+4>>0]=a[309431]|0;a[r+5>>0]=a[309432]|0;a[r+6>>0]=a[309433]|0;a[r+7>>0]=0;f=y+4|0;g=RA(12)|0;c[y>>2]=g;e=g+12|0;c[y+8>>2]=e;VA(g,r);c[f>>2]=e;e=(Rp(b,y)|0)==1;if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);c[f>>2]=g;SA(g);g=c[z>>2]|0;c[z>>2]=0;if(e){if(g|0)ma[c[(c[g>>2]|0)+4>>2]&255](g);aa=A;return 1}f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[g+8>>2]=e;e=e+4|0}c[e>>2]=g;c[f>>2]=g;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;b=Op(b,31)|0;b=(b|0)==1;b=b&1;aa=A;return b|0}Ip(r,b);if((c[o>>2]|0)>>>0>1)e=b+100|0;else{e=b+100|0;do{vp(z,c[b>>2]|0,b);w=c[o>>2]|0;c[o>>2]=w+1;w=b+16+(((c[e>>2]|0)+w&1)*40|0)|0;fy(w);dy(w,z);fy(z)}while((c[o>>2]|0)>>>0<=1)}e=c[e>>2]&1;a:do switch(c[b+16+((e^1)*40|0)+20>>2]|0){case 53:{g=b+100|0;dy(i,b+16+(e*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;fy(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;fy(i);dy(j,b+16+((c[g>>2]&1)*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;fy(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;fy(j);g=RA(144)|0;c[g+4>>2]=0;h=g+8|0;c[h>>2]=0;e=g+12|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[e+16>>2]=c[r+16>>2];c[g+32>>2]=7;c[g>>2]=288452;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;wl(g+52|0,-1,z);f=g+88|0;i=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));_p(b,e);if(($p(b,g+48|0)|0)!=1?(aq(b,g+112|0)|0)!=1:0){Ip(z,b);f=g+124|0;c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[f+16>>2]=c[z+16>>2];f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=e+4|0}c[e>>2]=g;e=f;x=122;break a}ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break}case 71:{g=b+100|0;dy(k,b+16+(e*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;fy(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;fy(k);dy(l,b+16+((c[g>>2]&1)*40|0)|0);h=b+16+((c[g>>2]&1)*40|0)|0;fy(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;fy(l);g=RA(144)|0;c[g+4>>2]=0;h=g+8|0;c[h>>2]=0;e=g+12|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[e+16>>2]=c[r+16>>2];c[g+32>>2]=25;c[g>>2]=288196;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;wl(g+52|0,-1,z);f=g+88|0;i=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));_p(b,e);if(($p(b,g+48|0)|0)!=1?(aq(b,g+112|0)|0)!=1:0){Ip(z,b);f=g+124|0;c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[f+16>>2]=c[z+16>>2];f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=e+4|0}c[e>>2]=g;e=f;x=122;break a}ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break}case 69:{g=b+100|0;dy(m,b+16+(e*40|0)|0);w=b+16+((c[g>>2]&1)*40|0)|0;fy(w);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;fy(m);dy(n,b+16+((c[g>>2]&1)*40|0)|0);w=b+16+((c[g>>2]&1)*40|0)|0;fy(w);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;fy(n);g=RA(176)|0;c[g+4>>2]=0;w=g+8|0;c[w>>2]=0;e=g+12|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[e+16>>2]=c[r+16>>2];c[g+32>>2]=20;c[g>>2]=288276;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;wl(g+52|0,-1,z);f=g+88|0;i=f+88|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));_p(b,e);b:do if(($p(b,g+48|0)|0)!=1){Jp(z,b);c:do if((c[z>>2]|0)==21){e=c[z+4>>2]|0;if(!(Lp(e)|0))switch(e|0){case 101:case 69:case 71:case 53:break;default:{x=52;break c}}c[z>>2]=0;t=z+4|0;c[t>>2]=0;v=z+8|0;c[v>>2]=0;if((Xp(b,z)|0)!=1){h=c[z>>2]|0;f=h;if(!h){e=f;f=0}else{s=d+4|0;u=d+8|0;r=c[s>>2]|0;e=f;k=f;n=c[t>>2]|0;q=c[v>>2]|0;p=c[u>>2]|0;while(1){o=r;r=h;h=c[r+4>>2]|0;do if((k|0)!=(n|0)){f=r+8|0;m=c[f>>2]|0;i=r+4|0;l=m;if(!m){j=h;c[z>>2]=h;e=j;k=j}else{c[m+4>>2]=h;j=c[i>>2]|0}if(!j){c[t>>2]=l;j=m;break}else{c[j+8>>2]=l;j=n;break}}else{c[t>>2]=0;c[z>>2]=0;e=0;k=0;j=0;i=r+4|0;f=r+8|0}while(0);c[f>>2]=0;c[i>>2]=0;q=q+-1|0;if(!o)f=d;else{c[r+8>>2]=o;f=o+4|0}c[f>>2]=r;p=p+1|0;if(!h)break;else n=j}c[v>>2]=q;c[s>>2]=r;c[u>>2]=p;f=0}}else{e=c[z>>2]|0;f=1}if(e|0)do{v=e;e=c[e+4>>2]|0;ma[c[(c[v>>2]|0)+4>>2]&255](v)}while((e|0)!=0);if(f|0)break b}else x=52;while(0);d:do if(Np(b,35)|0){if((Wp(b,g+112|0)|0)==1)break b;Ip(z,b);y=g+124|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];if((Op(b,31)|0)==1)break b;e:do if(Np(b,65)|0){if((Wp(b,g+144|0)|0)==1)break b;if((Op(b,31)|0)==1)break b}else{Jp(z,b);f:do if((c[z>>2]|0)==21){e=c[z+4>>2]|0;if(!(Lp(e)|0))switch(e|0){case 101:case 69:case 71:case 53:break;default:break f}if((Xp(b,g+144|0)|0)==1)break b;else break e}while(0)}while(0);Ip(z,b);y=g+156|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2]}else{Jp(z,b);g:do if((c[z>>2]|0)==21){e=c[z+4>>2]|0;if(!(Lp(e)|0))switch(e|0){case 101:case 69:case 71:case 53:break;default:break g}if((Xp(b,g+112|0)|0)==1)break b;Ip(z,b);y=g+124|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];Jp(z,b);h:do if((c[z>>2]|0)==21){e=c[z+4>>2]|0;if(!(Lp(e)|0))switch(e|0){case 101:case 69:case 71:case 53:break;default:break h}if((Xp(b,g+144|0)|0)==1)break b;Ip(z,b);y=g+156|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];break d}while(0);break d}while(0);Mp(b,21)|0;a[y+11>>0]=10;f=y;e=309435;i=f+10|0;do{a[f>>0]=a[e>>0]|0;f=f+1|0;e=e+1|0}while((f|0)<(i|0));a[y+10>>0]=0;e=z+4|0;f=RA(12)|0;c[z>>2]=f;d=f+12|0;c[z+8>>2]=d;VA(f,y);c[e>>2]=d;Qp(b,z,309446);if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);c[e>>2]=f;SA(f);break b}while(0);f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[w>>2]=e;e=e+4|0}c[e>>2]=g;e=f;x=122;break a}while(0);ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break}case 101:{x=b+100|0;dy(h,b+16+(e*40|0)|0);e=b+16+((c[x>>2]&1)*40|0)|0;fy(e);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[x>>2]=c[x>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;fy(h);dy(p,b+16+((c[x>>2]&1)*40|0)|0);e=b+16+((c[x>>2]&1)*40|0)|0;fy(e);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[x>>2]=c[x>>2]&1^1;c[o>>2]=(c[o>>2]|0)+-1;e=c[p+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[y>>2]=c[p>>2];c[y+4>>2]=c[p+4>>2];c[y+8>>2]=c[p+8>>2];c[y+12>>2]=c[p+12>>2];c[y+16>>2]=c[p+16>>2];em(z,e);c[q>>2]=c[z>>2];c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];c[z+12>>2]=c[y+12>>2];c[z+16>>2]=c[y+16>>2];Gp(b,z,309282,q)}fy(p);g=RA(156)|0;c[g+4>>2]=0;h=g+8|0;c[h>>2]=0;e=g+12|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[e+16>>2]=c[r+16>>2];c[g+32>>2]=52;c[g>>2]=287812;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;wl(g+52|0,-1,z);f=g+88|0;i=f+68|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));_p(b,e);if(($p(b,g+48|0)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}if((aq(b,g+112|0)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}Ip(z,b);y=g+124|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];if((Op(b,21)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}if((Op(b,60)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}if((Wp(b,g+144|0)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}if((Op(b,31)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);x=121;break a}f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=e+4|0}c[e>>2]=g;e=f;x=122;break}default:x=121}while(0);if((x|0)==121){aa=A;return 1}else if((x|0)==122){c[e>>2]=g;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;b=Op(b,31)|0;b=(b|0)==1;b=b&1;aa=A;return b|0}return 0}function Yp(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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=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;Ba=aa;aa=aa+1728|0;Aa=Ba+320|0;va=Ba+312|0;ua=Ba+304|0;oa=Ba+296|0;na=Ba+288|0;la=Ba+280|0;ca=Ba+272|0;ba=Ba+264|0;$=Ba+256|0;_=Ba+248|0;Z=Ba+240|0;Y=Ba+232|0;X=Ba+224|0;W=Ba+216|0;V=Ba+208|0;U=Ba+200|0;T=Ba+192|0;S=Ba+184|0;R=Ba+176|0;Q=Ba+168|0;P=Ba+160|0;O=Ba+152|0;N=Ba+144|0;M=Ba+136|0;L=Ba+128|0;K=Ba+120|0;J=Ba+112|0;ka=Ba+104|0;ja=Ba+96|0;I=Ba+88|0;H=Ba+80|0;xa=Ba;za=Ba+40|0;ya=Ba+404|0;f=Ba+1688|0;r=Ba+1648|0;t=Ba+1608|0;g=Ba+1568|0;h=Ba+1528|0;j=Ba+1488|0;o=Ba+1448|0;s=Ba+1408|0;u=Ba+1368|0;v=Ba+1328|0;w=Ba+1288|0;pa=Ba+1252|0;qa=Ba+1216|0;i=Ba+1176|0;k=Ba+1136|0;l=Ba+1096|0;m=Ba+1056|0;n=Ba+1016|0;x=Ba+992|0;z=Ba+952|0;y=Ba+928|0;A=Ba+888|0;p=Ba+848|0;q=Ba+808|0;B=Ba+784|0;da=Ba+744|0;C=Ba+720|0;ea=Ba+680|0;D=Ba+656|0;fa=Ba+616|0;E=Ba+592|0;ga=Ba+552|0;F=Ba+528|0;ha=Ba+488|0;G=Ba+464|0;ia=Ba+424|0;ra=Ba+384|0;wa=Ba+368|0;ta=Ba+360|0;Ip(ya,b);sa=b+96|0;if(!(c[sa>>2]|0)){e=b+100|0;do{vp(Aa,c[b>>2]|0,b);Ca=c[sa>>2]|0;c[sa>>2]=Ca+1;Ca=b+16+(((c[e>>2]|0)+Ca&1)*40|0)|0;fy(Ca);dy(Ca,Aa);fy(Aa)}while(!(c[sa>>2]|0))}else e=b+100|0;e=c[e>>2]&1;do switch(c[b+16+(e*40|0)+20>>2]|0){case 103:{Ca=b+100|0;dy(f,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(f);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=54;c[Ca>>2]=287764;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 87:{Ca=b+100|0;dy(r,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(r);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=32;c[Ca>>2]=287940;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 64:{Ca=b+100|0;dy(t,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(t);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=17;c[Ca>>2]=288308;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 92:{Ca=b+100|0;dy(g,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(g);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=39;c[Ca>>2]=287860;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 54:{Ca=b+100|0;dy(h,b+16+(e*40|0)|0);wa=b+16+((c[Ca>>2]&1)*40|0)|0;fy(wa);c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;c[wa+12>>2]=0;c[wa+16>>2]=0;c[wa+20>>2]=0;c[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(h);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=8;c[Ca>>2]=288436;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 55:{Ca=b+100|0;dy(j,b+16+(e*40|0)|0);wa=b+16+((c[Ca>>2]&1)*40|0)|0;fy(wa);c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;c[wa+12>>2]=0;c[wa+16>>2]=0;c[wa+20>>2]=0;c[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(j);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=9;c[Ca>>2]=288420;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 56:{f=b+100|0;dy(o,b+16+(e*40|0)|0);Ca=b+16+((c[f>>2]&1)*40|0)|0;fy(Ca);c[Ca>>2]=0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;c[Ca+12>>2]=0;c[Ca+16>>2]=0;c[Ca+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(o);f=RA(108)|0;c[f+4>>2]=0;c[f+8>>2]=0;Ca=f+12|0;c[Ca>>2]=c[ya>>2];c[Ca+4>>2]=c[ya+4>>2];c[Ca+8>>2]=c[ya+8>>2];c[Ca+12>>2]=c[ya+12>>2];c[Ca+16>>2]=c[ya+16>>2];c[f+32>>2]=10;c[f>>2]=288404;Ca=f+36|0;c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;wl(Ca,-1,Aa);e=f+72|0;c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;wl(e,-1,Aa);if((Tp(b,Ca)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);Ca=1;aa=Ba;return Ca|0}if((Tp(b,e)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);Ca=1;aa=Ba;return Ca|0}e=c[d>>2]|0;c[d>>2]=f;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 57:{g=b+100|0;dy(s,b+16+(e*40|0)|0);Ca=b+16+((c[g>>2]&1)*40|0)|0;fy(Ca);c[Ca>>2]=0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;c[Ca+12>>2]=0;c[Ca+16>>2]=0;c[Ca+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(s);g=RA(84)|0;c[g+4>>2]=0;c[g+8>>2]=0;Ca=g+12|0;c[Ca>>2]=c[ya>>2];c[Ca+4>>2]=c[ya+4>>2];c[Ca+8>>2]=c[ya+8>>2];c[Ca+12>>2]=c[ya+12>>2];c[Ca+16>>2]=c[ya+16>>2];c[g+32>>2]=11;c[g>>2]=288388;Ca=g+36|0;c[Ca>>2]=0;e=g+40|0;c[e>>2]=0;c[g+44>>2]=0;f=g+48|0;c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;wl(f,-1,Aa);if(!(jq(b,Ca)|0)){ma[c[(c[g>>2]|0)+4>>2]&255](g);Ca=1;aa=Ba;return Ca|0}Al(f,(c[e>>2]|0)+-36|0)|0;Ca=(c[e>>2]|0)+-36|0;Dl(Ca);c[e>>2]=Ca;e=c[d>>2]|0;c[d>>2]=g;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 89:{Ca=b+100|0;dy(u,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(u);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=36;c[Ca>>2]=287908;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 58:{Ca=b+100|0;dy(v,b+16+(e*40|0)|0);wa=b+16+((c[Ca>>2]&1)*40|0)|0;fy(wa);c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;c[wa+12>>2]=0;c[wa+16>>2]=0;c[wa+20>>2]=0;c[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(v);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=12;c[Ca>>2]=288372;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 59:{i=b+100|0;dy(w,b+16+(e*40|0)|0);e=b+16+((c[i>>2]&1)*40|0)|0;fy(e);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[i>>2]=c[i>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(w);i=RA(136)|0;c[i+4>>2]=0;c[i+8>>2]=0;e=i+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[i+32>>2]=13;c[i>>2]=288356;e=i+36|0;a[e>>0]=0;h=i+40|0;c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;wl(h,-1,Aa);f=i+76|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;g=i+100|0;c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;wl(g,-1,Aa);do if(Np(b,36)|0){a[e>>0]=1;if((Tp(b,h)|0)!=1?(Op(b,31)|0)!=1:0)break;ma[c[(c[i>>2]|0)+4>>2]&255](i);Ca=1;aa=Ba;return Ca|0}else a[e>>0]=0;while(0);if((fq(b,f)|0)==1){ma[c[(c[i>>2]|0)+4>>2]&255](i);Ca=1;aa=Ba;return Ca|0};c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;wl(pa,0,Aa);Up(b,g,pa)|0;Dl(pa);e=c[d>>2]|0;c[d>>2]=i;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 90:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[H>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,H)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=37;c[Ca>>2]=287892;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 91:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[I>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,I)}fy(za);i=RA(136)|0;c[i+4>>2]=0;c[i+8>>2]=0;e=i+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[i+32>>2]=38;c[i>>2]=287876;e=i+36|0;a[e>>0]=0;h=i+40|0;c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;wl(h,-1,Aa);f=i+76|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;g=i+100|0;c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;wl(g,-1,Aa);do if(Np(b,36)|0){a[e>>0]=1;if((Tp(b,h)|0)!=1?(Op(b,31)|0)!=1:0)break;ma[c[(c[i>>2]|0)+4>>2]&255](i);Ca=1;aa=Ba;return Ca|0}else a[e>>0]=0;while(0);if((fq(b,f)|0)==1){ma[c[(c[i>>2]|0)+4>>2]&255](i);Ca=1;aa=Ba;return Ca|0};c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;wl(qa,0,Aa);Up(b,g,qa)|0;Dl(qa);e=c[d>>2]|0;c[d>>2]=i;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 68:{Ca=b+100|0;dy(i,b+16+(e*40|0)|0);wa=b+16+((c[Ca>>2]&1)*40|0)|0;fy(wa);c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;c[wa+12>>2]=0;c[wa+16>>2]=0;c[wa+20>>2]=0;c[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(i);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=22;c[Ca>>2]=288244;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 94:{Ca=b+100|0;dy(k,b+16+(e*40|0)|0);wa=b+16+((c[Ca>>2]&1)*40|0)|0;fy(wa);c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;c[wa+12>>2]=0;c[wa+16>>2]=0;c[wa+20>>2]=0;c[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(k);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=23;c[Ca>>2]=288228;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 98:{Ca=b+100|0;dy(l,b+16+(e*40|0)|0);wa=b+16+((c[Ca>>2]&1)*40|0)|0;fy(wa);c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;c[wa+12>>2]=0;c[wa+16>>2]=0;c[wa+20>>2]=0;c[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(l);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=24;c[Ca>>2]=288212;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 67:{Ca=b+100|0;dy(m,b+16+(e*40|0)|0);wa=b+16+((c[Ca>>2]&1)*40|0)|0;fy(wa);c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;c[wa+12>>2]=0;c[wa+16>>2]=0;c[wa+20>>2]=0;c[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(m);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=18;c[Ca>>2]=287668;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 93:{Ca=b+100|0;dy(n,b+16+(e*40|0)|0);wa=b+16+((c[Ca>>2]&1)*40|0)|0;fy(wa);c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;c[wa+12>>2]=0;c[wa+16>>2]=0;c[wa+20>>2]=0;c[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(n);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=19;c[Ca>>2]=288292;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 70:{c[x>>2]=c[ya>>2];c[x+4>>2]=c[ya+4>>2];c[x+8>>2]=c[ya+8>>2];c[x+12>>2]=c[ya+12>>2];c[x+16>>2]=c[ya+16>>2];za=b+100|0;dy(z,b+16+(e*40|0)|0);Ca=b+16+((c[za>>2]&1)*40|0)|0;fy(Ca);c[Ca>>2]=0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;c[Ca+12>>2]=0;c[Ca+16>>2]=0;c[Ca+20>>2]=0;c[za>>2]=c[za>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;za=c[z+24>>2]|0;kq(b,Aa);lq(b,xa);Ca=RA(48)|0;b=c[xa>>2]|0;e=c[Aa>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[x>>2];c[Aa+4>>2]=c[x+4>>2];c[Aa+8>>2]=c[x+8>>2];c[Aa+12>>2]=c[x+12>>2];c[Aa+16>>2]=c[x+16>>2];c[Ca+32>>2]=21;c[Ca>>2]=288260;c[Ca+36>>2]=za;c[Ca+40>>2]=b;c[Ca+44>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(z);Ca=0;aa=Ba;return Ca|0}case 97:{c[y>>2]=c[ya>>2];c[y+4>>2]=c[ya+4>>2];c[y+8>>2]=c[ya+8>>2];c[y+12>>2]=c[ya+12>>2];c[y+16>>2]=c[ya+16>>2];za=b+100|0;dy(A,b+16+(e*40|0)|0);Ca=b+16+((c[za>>2]&1)*40|0)|0;fy(Ca);c[Ca>>2]=0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;c[Ca+12>>2]=0;c[Ca+16>>2]=0;c[Ca+20>>2]=0;c[za>>2]=c[za>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;za=c[A+24>>2]|0;kq(b,Aa);lq(b,xa);Ca=RA(48)|0;b=c[xa>>2]|0;e=c[Aa>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[y>>2];c[Aa+4>>2]=c[y+4>>2];c[Aa+8>>2]=c[y+8>>2];c[Aa+12>>2]=c[y+12>>2];c[Aa+16>>2]=c[y+16>>2];c[Ca+32>>2]=42;c[Ca>>2]=287844;c[Ca+36>>2]=za;c[Ca+40>>2]=b;c[Ca+44>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(A);Ca=0;aa=Ba;return Ca|0}case 62:{c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=0;El(xa,0,Aa);if((mq(b,xa)|0)==1){Ca=1;aa=Ba;return Ca|0}f=RA(80)|0;c[f+4>>2]=0;c[f+8>>2]=0;i=f+12|0;c[i>>2]=c[ya>>2];c[i+4>>2]=c[ya+4>>2];c[i+8>>2]=c[ya+8>>2];c[i+12>>2]=c[ya+12>>2];c[i+16>>2]=c[ya+16>>2];c[f+32>>2]=15;c[f>>2]=287652;i=f+40|0;e=xa;h=i+40|0;do{c[i>>2]=c[e>>2];i=i+4|0;e=e+4|0}while((i|0)<(h|0));e=c[d>>2]|0;c[d>>2]=f;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 102:{f=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[f>>2]&1)*40|0)|0;fy(e);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[f>>2]=c[f>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=za+24|0;f=c[e>>2]|0;if(!(hm(f,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,f);c[ja>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,ja)}Ca=RA(40)|0;e=c[e>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[ya>>2];c[Aa+4>>2]=c[ya+4>>2];c[Aa+8>>2]=c[ya+8>>2];c[Aa+12>>2]=c[ya+12>>2];c[Aa+16>>2]=c[ya+16>>2];c[Ca+32>>2]=53;c[Ca>>2]=287796;c[Ca+36>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(za);Ca=0;aa=Ba;return Ca|0}case 52:{Ca=RA(40)|0;za=b+100|0;dy(Aa,b+16+(e*40|0)|0);e=b+16+((c[za>>2]&1)*40|0)|0;fy(e);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[za>>2]=c[za>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[Aa+24>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;b=Ca+12|0;c[b>>2]=c[ya>>2];c[b+4>>2]=c[ya+4>>2];c[b+8>>2]=c[ya+8>>2];c[b+12>>2]=c[ya+12>>2];c[b+16>>2]=c[ya+16>>2];c[Ca+32>>2]=6;c[Ca>>2]=288468;c[Ca+36>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(Aa);Ca=0;aa=Ba;return Ca|0}case 61:{Ca=RA(40)|0;za=b+100|0;dy(Aa,b+16+(e*40|0)|0);e=b+16+((c[za>>2]&1)*40|0)|0;fy(e);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[za>>2]=c[za>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[Aa+24>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;b=Ca+12|0;c[b>>2]=c[ya>>2];c[b+4>>2]=c[ya+4>>2];c[b+8>>2]=c[ya+8>>2];c[b+12>>2]=c[ya+12>>2];c[b+16>>2]=c[ya+16>>2];c[Ca+32>>2]=14;c[Ca>>2]=288340;c[Ca+36>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(Aa);Ca=0;aa=Ba;return Ca|0}case 63:{f=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[f>>2]&1)*40|0)|0;fy(e);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[f>>2]=c[f>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=za+24|0;f=c[e>>2]|0;if(!(hm(f,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,f);c[ka>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,ka)}Ca=RA(40)|0;e=c[e>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[ya>>2];c[Aa+4>>2]=c[ya+4>>2];c[Aa+8>>2]=c[ya+8>>2];c[Aa+12>>2]=c[ya+12>>2];c[Aa+16>>2]=c[ya+16>>2];c[Ca+32>>2]=16;c[Ca>>2]=288324;c[Ca+36>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(za);Ca=0;aa=Ba;return Ca|0}case 72:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[J>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,J)}fy(za);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=26;c[Ca>>2]=288180;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 74:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[K>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,K)}fy(za);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=28;c[Ca>>2]=288148;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 73:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[L>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,L)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=27;c[Ca>>2]=288164;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 76:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[M>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,M)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=30;c[Ca>>2]=288116;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 77:{Ca=b+100|0;dy(p,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(p);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=31;c[Ca>>2]=288100;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 75:{Ca=b+100|0;dy(q,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;fy(q);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=29;c[Ca>>2]=288132;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 78:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[N>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,N)}fy(za);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=43;c[Ca>>2]=288084;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 79:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[O>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,O)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=44;c[Ca>>2]=288068;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 80:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[P>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,P)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=45;c[Ca>>2]=288052;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 81:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[Q>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,Q)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=46;c[Ca>>2]=288036;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 82:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[R>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,R)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=49;c[Ca>>2]=288020;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 83:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[S>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,S)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=47;c[Ca>>2]=288004;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 84:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[T>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,T)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=48;c[Ca>>2]=287988;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 85:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[U>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,U)}fy(za);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=34;c[Ca>>2]=287972;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 86:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[V>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,V)}fy(za);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=33;c[Ca>>2]=287956;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 100:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[W>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,W)}fy(za);c[za>>2]=c[ya>>2];c[za+4>>2]=c[ya+4>>2];c[za+8>>2]=c[ya+8>>2];c[za+12>>2]=c[ya+12>>2];c[za+16>>2]=c[ya+16>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;c[xa+12>>2]=0;c[xa+16>>2]=0;wl(Aa,-1,xa);if((Tp(b,Aa)|0)==1){Dl(Aa);Ca=1;aa=Ba;return Ca|0}Ca=RA(72)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];c[e+8>>2]=c[za+8>>2];c[e+12>>2]=c[za+12>>2];c[e+16>>2]=c[za+16>>2];c[Ca+32>>2]=51;c[Ca>>2]=287828;zl(Ca+36|0,Aa);e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Dl(Aa);Ca=0;aa=Ba;return Ca|0}case 88:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[X>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,X)}fy(za);Ca=RA(36)|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;e=Ca+12|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];c[e+8>>2]=c[ya+8>>2];c[e+12>>2]=c[ya+12>>2];c[e+16>>2]=c[ya+16>>2];c[Ca+32>>2]=35;c[Ca>>2]=287924;e=c[d>>2]|0;c[d>>2]=Ca;if(!e){Ca=0;aa=Ba;return Ca|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);Ca=0;aa=Ba;return Ca|0}case 51:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[Y>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,Y)};c[B>>2]=c[ya>>2];c[B+4>>2]=c[ya+4>>2];c[B+8>>2]=c[ya+8>>2];c[B+12>>2]=c[ya+12>>2];c[B+16>>2]=c[ya+16>>2];dy(da,za);ya=c[da+24>>2]|0;kq(b,Aa);lq(b,xa);Ca=RA(48)|0;b=c[xa>>2]|0;e=c[Aa>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[B>>2];c[Aa+4>>2]=c[B+4>>2];c[Aa+8>>2]=c[B+8>>2];c[Aa+12>>2]=c[B+12>>2];c[Aa+16>>2]=c[B+16>>2];c[Ca+32>>2]=4;c[Ca>>2]=288484;c[Ca+36>>2]=ya;c[Ca+40>>2]=b;c[Ca+44>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(da);fy(za);Ca=0;aa=Ba;return Ca|0}case 50:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[Z>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,Z)};c[C>>2]=c[ya>>2];c[C+4>>2]=c[ya+4>>2];c[C+8>>2]=c[ya+8>>2];c[C+12>>2]=c[ya+12>>2];c[C+16>>2]=c[ya+16>>2];dy(ea,za);ya=c[ea+24>>2]|0;kq(b,Aa);lq(b,xa);Ca=RA(48)|0;b=c[xa>>2]|0;e=c[Aa>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[C>>2];c[Aa+4>>2]=c[C+4>>2];c[Aa+8>>2]=c[C+8>>2];c[Aa+12>>2]=c[C+12>>2];c[Aa+16>>2]=c[C+16>>2];c[Ca+32>>2]=5;c[Ca>>2]=288500;c[Ca+36>>2]=ya;c[Ca+40>>2]=b;c[Ca+44>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(ea);fy(za);Ca=0;aa=Ba;return Ca|0}case 46:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[_>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,_)};c[D>>2]=c[ya>>2];c[D+4>>2]=c[ya+4>>2];c[D+8>>2]=c[ya+8>>2];c[D+12>>2]=c[ya+12>>2];c[D+16>>2]=c[ya+16>>2];dy(fa,za);ya=c[fa+24>>2]|0;kq(b,Aa);lq(b,xa);Ca=RA(48)|0;b=c[xa>>2]|0;e=c[Aa>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[D>>2];c[Aa+4>>2]=c[D+4>>2];c[Aa+8>>2]=c[D+8>>2];c[Aa+12>>2]=c[D+12>>2];c[Aa+16>>2]=c[D+16>>2];c[Ca+32>>2]=0;c[Ca>>2]=288564;c[Ca+36>>2]=ya;c[Ca+40>>2]=b;c[Ca+44>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(fa);fy(za);Ca=0;aa=Ba;return Ca|0}case 49:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[$>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,$)};c[E>>2]=c[ya>>2];c[E+4>>2]=c[ya+4>>2];c[E+8>>2]=c[ya+8>>2];c[E+12>>2]=c[ya+12>>2];c[E+16>>2]=c[ya+16>>2];dy(ga,za);ya=c[ga+24>>2]|0;kq(b,Aa);lq(b,xa);Ca=RA(48)|0;b=c[xa>>2]|0;e=c[Aa>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[E>>2];c[Aa+4>>2]=c[E+4>>2];c[Aa+8>>2]=c[E+8>>2];c[Aa+12>>2]=c[E+12>>2];c[Aa+16>>2]=c[E+16>>2];c[Ca+32>>2]=3;c[Ca>>2]=288548;c[Ca+36>>2]=ya;c[Ca+40>>2]=b;c[Ca+44>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(ga);fy(za);Ca=0;aa=Ba;return Ca|0}case 47:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[ba>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,ba)};c[F>>2]=c[ya>>2];c[F+4>>2]=c[ya+4>>2];c[F+8>>2]=c[ya+8>>2];c[F+12>>2]=c[ya+12>>2];c[F+16>>2]=c[ya+16>>2];dy(ha,za);ya=c[ha+24>>2]|0;kq(b,Aa);lq(b,xa);Ca=RA(48)|0;b=c[xa>>2]|0;e=c[Aa>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[F>>2];c[Aa+4>>2]=c[F+4>>2];c[Aa+8>>2]=c[F+8>>2];c[Aa+12>>2]=c[F+12>>2];c[Aa+16>>2]=c[F+16>>2];c[Ca+32>>2]=1;c[Ca>>2]=288532;c[Ca+36>>2]=ya;c[Ca+40>>2]=b;c[Ca+44>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(ha);fy(za);Ca=0;aa=Ba;return Ca|0}case 48:{Ca=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[Ca>>2]&1)*40|0)|0;fy(e);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[Ca>>2]=c[Ca>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=c[za+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[ca>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,ca)};c[G>>2]=c[ya>>2];c[G+4>>2]=c[ya+4>>2];c[G+8>>2]=c[ya+8>>2];c[G+12>>2]=c[ya+12>>2];c[G+16>>2]=c[ya+16>>2];dy(ia,za);ya=c[ia+24>>2]|0;kq(b,Aa);lq(b,xa);Ca=RA(48)|0;b=c[xa>>2]|0;e=c[Aa>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[G>>2];c[Aa+4>>2]=c[G+4>>2];c[Aa+8>>2]=c[G+8>>2];c[Aa+12>>2]=c[G+12>>2];c[Aa+16>>2]=c[G+16>>2];c[Ca+32>>2]=2;c[Ca>>2]=288516;c[Ca+36>>2]=ya;c[Ca+40>>2]=b;c[Ca+44>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(ia);fy(za);Ca=0;aa=Ba;return Ca|0}case 99:{f=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[f>>2]&1)*40|0)|0;fy(e);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[f>>2]=c[f>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=za+24|0;f=c[e>>2]|0;if(!(hm(f,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,f);c[la>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,la)}Ca=RA(40)|0;e=c[e>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[ya>>2];c[Aa+4>>2]=c[ya+4>>2];c[Aa+8>>2]=c[ya+8>>2];c[Aa+12>>2]=c[ya+12>>2];c[Aa+16>>2]=c[ya+16>>2];c[Ca+32>>2]=50;c[Ca>>2]=287780;c[Ca+36>>2]=e;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(za);Ca=0;aa=Ba;return Ca|0}case 95:{f=b+100|0;dy(za,b+16+(e*40|0)|0);e=b+16+((c[f>>2]&1)*40|0)|0;fy(e);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[f>>2]=c[f>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;e=za+24|0;f=c[e>>2]|0;if(!(hm(f,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,f);c[na>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,na)}if((nq(b,Aa)|0)==1){fy(za);Ca=1;aa=Ba;return Ca|0}Ca=RA(48)|0;e=c[e>>2]|0;b=c[Aa>>2]|0;Aa=c[Aa+4>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;xa=Ca+12|0;c[xa>>2]=c[ya>>2];c[xa+4>>2]=c[ya+4>>2];c[xa+8>>2]=c[ya+8>>2];c[xa+12>>2]=c[ya+12>>2];c[xa+16>>2]=c[ya+16>>2];c[Ca+32>>2]=40;c[Ca>>2]=287748;c[Ca+36>>2]=e;e=Ca+40|0;c[e>>2]=b;c[e+4>>2]=Aa;e=c[d>>2]|0;c[d>>2]=Ca;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(za);Ca=0;aa=Ba;return Ca|0}case 96:{l=b+100|0;dy(za,b+16+(e*40|0)|0);m=b+16+((c[l>>2]&1)*40|0)|0;fy(m);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[l>>2]=c[l>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;m=za+24|0;e=c[m>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[xa>>2]=c[za>>2];c[xa+4>>2]=c[za+4>>2];c[xa+8>>2]=c[za+8>>2];c[xa+12>>2]=c[za+12>>2];c[xa+16>>2]=c[za+16>>2];em(Aa,e);c[oa>>2]=c[Aa>>2];c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=c[xa+4>>2];c[Aa+8>>2]=c[xa+8>>2];c[Aa+12>>2]=c[xa+12>>2];c[Aa+16>>2]=c[xa+16>>2];Gp(b,Aa,309282,oa)}k=Aa+24|0;i=wa+4|0;j=Aa+28|0;f=i+11|0;g=wa+8|0;h=0;while(1){Ip(ra,b);if(!(c[sa>>2]|0))do{vp(Aa,c[b>>2]|0,b);Ca=c[sa>>2]|0;c[sa>>2]=Ca+1;Ca=b+16+(((c[l>>2]|0)+Ca&1)*40|0)|0;fy(Ca);dy(Ca,Aa);fy(Aa)}while(!(c[sa>>2]|0));e=c[l>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=45){e=243;break}dy(Aa,b+16+(e*40|0)|0);Ca=b+16+((c[l>>2]&1)*40|0)|0;fy(Ca);c[Ca>>2]=0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;c[Ca+12>>2]=0;c[Ca+16>>2]=0;c[Ca+20>>2]=0;c[l>>2]=c[l>>2]&1^1;c[sa>>2]=(c[sa>>2]|0)+-1;c[wa>>2]=c[k>>2];VA(i,j);fy(Aa);Ca=a[f>>0]|0;pa=Ca<<24>>24<0;qa=pa?c[i>>2]|0:i;Ca=qa+(pa?c[g>>2]|0:Ca&255)|0;c[ta>>2]=0;do if((Sx(qa,Ca,ta,0)|0)!=1){e=c[ta>>2]|0;if(e>>>0>31){c[va>>2]=(a[f>>0]|0)<0?c[i>>2]|0:i;c[Aa>>2]=c[ra>>2];c[Aa+4>>2]=c[ra+4>>2];c[Aa+8>>2]=c[ra+8>>2];c[Aa+12>>2]=c[ra+12>>2];c[Aa+16>>2]=c[ra+16>>2];Gp(b,Aa,309565,va);e=1;break}else{a[xa+h>>0]=e;e=0;break}}else{c[ua>>2]=(a[f>>0]|0)<0?c[i>>2]|0:i;c[Aa>>2]=c[ra>>2];c[Aa+4>>2]=c[ra+4>>2];c[Aa+8>>2]=c[ra+8>>2];c[Aa+12>>2]=c[ra+12>>2];c[Aa+16>>2]=c[ra+16>>2];Gp(b,Aa,309544,ua);e=1}while(0);if((a[f>>0]|0)<0)SA(c[i>>2]|0);h=h+1|0;if(e|0){e=256;break}if(h>>>0>=16){e=254;break}}if((e|0)==243){g=RA(48)|0;c[wa>>2]=g;c[wa+8>>2]=-2147483600;c[wa+4>>2]=33;i=g;e=309510;h=i+33|0;do{a[i>>0]=a[e>>0]|0;i=i+1|0;e=e+1|0}while((i|0)<(h|0));a[g+33>>0]=0;e=Aa+4|0;f=RA(12)|0;c[Aa>>2]=f;Ca=f+12|0;c[Aa+8>>2]=Ca;VA(f,wa);c[e>>2]=Ca;Qp(b,Aa,0);if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);c[e>>2]=f;SA(f);SA(g);fy(za);Ca=1;aa=Ba;return Ca|0}else if((e|0)==254){Ca=RA(56)|0;e=c[m>>2]|0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Aa=Ca+12|0;c[Aa>>2]=c[ya>>2];c[Aa+4>>2]=c[ya+4>>2];c[Aa+8>>2]=c[ya+8>>2];c[Aa+12>>2]=c[ya+12>>2];c[Aa+16>>2]=c[ya+16>>2];c[Ca+32>>2]=41;c[Ca>>2]=287732;c[Ca+36>>2]=e;e=Ca+40|0;c[e>>2]=c[xa>>2];c[e+4>>2]=c[xa+4>>2];c[e+8>>2]=c[xa+8>>2];c[e+12>>2]=c[xa+12>>2];e=c[d>>2]|0;c[d>>2]=Ca;if(!e){fy(za);Ca=0;aa=Ba;return Ca|0}else{ma[c[(c[e>>2]|0)+4>>2]&255](e);fy(za);Ca=0;aa=Ba;return Ca|0}}else if((e|0)==256){fy(za);Ca=1;aa=Ba;return Ca|0}break}default:{Ca=1;aa=Ba;return Ca|0}}while(0);return 0}function Zp(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;x=aa;aa=aa+32|0;p=x+16|0;v=x;c[v>>2]=0;r=v+4|0;c[r>>2]=0;t=v+8|0;c[t>>2]=0;Jp(p,a);a:do if((c[p>>2]|0)==21){q=p+4|0;s=b+4|0;u=b+8|0;while(1){d=c[q>>2]|0;if(!(Lp(d)|0))switch(d|0){case 101:case 69:case 71:case 53:break;default:{w=22;break a}}if(!(Xp(a,v)|0)){d=c[v>>2]|0;if(d|0){n=c[s>>2]|0;f=d;o=c[t>>2]|0;j=c[r>>2]|0;l=d;m=c[u>>2]|0;while(1){k=n;n=l;l=c[n+4>>2]|0;do if((f|0)!=(j|0)){d=n+8|0;i=c[d>>2]|0;e=n+4|0;h=i;if(!i){g=l;c[v>>2]=l;f=g}else{c[i+4>>2]=l;g=c[e>>2]|0}if(!g){c[r>>2]=h;g=i;break}else{c[g+8>>2]=h;g=j;break}}else{c[r>>2]=0;c[v>>2]=0;f=0;g=0;e=n+4|0;d=n+8|0}while(0);c[d>>2]=0;c[e>>2]=0;o=o+-1|0;if(!k)d=b;else{c[n+8>>2]=k;d=k+4|0}c[d>>2]=n;m=m+1|0;if(!l)break;else j=g}c[t>>2]=o;c[s>>2]=n;c[u>>2]=m}}else if((Pp(a,99)|0)==1){e=1;break a}Jp(p,a);if((c[p>>2]|0)!=21){w=22;break}}}else w=22;while(0);if((w|0)==22)e=0;d=c[v>>2]|0;if(!d){aa=x;return e|0}do{w=d;d=c[d+4>>2]|0;ma[c[(c[w>>2]|0)+4>>2]&255](w)}while((d|0)!=0);aa=x;return e|0}function _p(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+48|0;f=h;g=b+96|0;if(!(c[g>>2]|0)){e=b+100|0;do{vp(f,c[b>>2]|0,b);i=c[g>>2]|0;c[g>>2]=i+1;i=b+16+(((c[e>>2]|0)+i&1)*40|0)|0;fy(i);dy(i,f);fy(f)}while(!(c[g>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)==108){i=b+100|0;dy(f,b+16+(e*40|0)|0);b=b+16+((c[i>>2]&1)*40|0)|0;fy(b);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[i>>2]=c[i>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;cB(d,f+24|0)|0;fy(f);aa=h;return}e=d+11|0;if((a[e>>0]|0)<0){a[c[d>>2]>>0]=0;c[d+4>>2]=0;aa=h;return}else{a[d>>0]=0;a[e>>0]=0;aa=h;return}}function $p(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+96|0;e=i+64|0;g=i;a[g>>0]=0;h=g+4|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;wl(h,-1,e);e=g+40|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;if(Np(b,36)|0){a[g>>0]=1;if((Tp(b,h)|0)!=1?(Op(b,31)|0)!=1:0)f=5;else e=1}else{a[g>>0]=0;f=5}if((f|0)==5)if((fq(b,e)|0)!=1){a[d>>0]=a[g>>0]|0;Al(d+4|0,h)|0;if((g|0)==(d|0))e=0;else{vg(d+40|0,c[e>>2]|0,c[g+44>>2]|0);vg(d+52|0,c[g+52>>2]|0,c[g+56>>2]|0);e=0}}else e=1;d=c[g+52>>2]|0;if(d|0){c[g+56>>2]=d;SA(d)}d=c[g+40>>2]|0;if(!d){Dl(h);aa=i;return e|0}c[g+44>>2]=d;SA(d);Dl(h);aa=i;return e|0}function aq(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;v=aa;aa=aa+32|0;u=v+8|0;p=v;c[u>>2]=0;q=u+4|0;c[q>>2]=0;s=u+8|0;c[s>>2]=0;r=b+4|0;t=b+8|0;a:while(1){Jp(p,a);d=c[p>>2]|0;b:do if(!(Lp(d)|0)){switch(d|0){case 101:case 69:case 71:case 53:break b;default:{}}o=p;d=c[o+4>>2]|0;if((c[o>>2]|0)!=21){e=0;break a}if(!(Lp(d)|0))switch(d|0){case 101:case 69:case 71:case 53:break;default:{e=0;break a}}}while(0);if(!(bq(a,u)|0)){d=c[u>>2]|0;if(d|0){n=c[r>>2]|0;f=d;j=c[q>>2]|0;o=c[s>>2]|0;l=d;m=c[t>>2]|0;while(1){k=n;n=l;l=c[n+4>>2]|0;do if((f|0)!=(j|0)){d=n+8|0;i=c[d>>2]|0;e=n+4|0;h=i;if(!i){g=l;c[u>>2]=l;f=g}else{c[i+4>>2]=l;g=c[e>>2]|0}if(!g){c[q>>2]=h;g=i;break}else{c[g+8>>2]=h;g=j;break}}else{c[q>>2]=0;c[u>>2]=0;f=0;g=0;e=n+4|0;d=n+8|0}while(0);c[d>>2]=0;c[e>>2]=0;o=o+-1|0;if(!k)d=b;else{c[n+8>>2]=k;d=k+4|0}c[d>>2]=n;m=m+1|0;if(!l)break;else j=g}c[s>>2]=o;c[r>>2]=n;c[t>>2]=m}}else if((Pp(a,100)|0)==1){e=1;break}}d=c[u>>2]|0;if(!d){aa=v;return e|0}do{u=d;d=c[d+4>>2]|0;ma[c[(c[u>>2]|0)+4>>2]&255](u)}while((d|0)!=0);aa=v;return e|0}function bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=a+96|0;if(!(c[e>>2]|0)){d=a+100|0;do{vp(f,c[a>>2]|0,a);h=c[e>>2]|0;c[e>>2]=h+1;h=a+16+(((c[d>>2]|0)+h&1)*40|0)|0;fy(h);dy(h,f);fy(f)}while(!(c[e>>2]|0))}else d=a+100|0;d=c[a+16+((c[d>>2]&1)*40|0)+20>>2]|0;if(Lp(d)|0){c[f>>2]=0;h=(Yp(a,f)|0)==1;e=c[f>>2]|0;c[f>>2]=0;if(h)if(!e)d=1;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);d=1}else{a=b+4|0;d=c[a>>2]|0;if(!d)d=b;else{c[e+8>>2]=d;d=d+4|0}c[d>>2]=e;c[a>>2]=e;d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;c[f>>2]=0;d=0}h=d;aa=g;return h|0}switch(d|0){case 101:case 69:case 71:case 53:break;default:{Jp(f,a);a:do if((c[f>>2]|0)==21){d=c[f+4>>2]|0;if(!(Lp(d)|0))switch(d|0){case 101:case 69:case 71:case 53:break;default:break a}h=Xp(a,b)|0;aa=g;return h|0}while(0);h=1;aa=g;return h|0}}c[f>>2]=0;h=(dq(a,f)|0)==1;e=c[f>>2]|0;c[f>>2]=0;if(h)if(!e)d=1;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);d=1}else{a=b+4|0;d=c[a>>2]|0;if(!d)d=b;else{c[e+8>>2]=d;d=d+4|0}c[d>>2]=e;c[a>>2]=e;d=b+8|0;c[d>>2]=(c[d>>2]|0)+1;c[f>>2]=0;d=0}h=d;aa=g;return h|0}function cq(a){a=a|0;var b=0;b=c[a>>2]|0;a:do if(!(Lp(b)|0)){switch(b|0){case 101:case 69:case 71:case 53:{b=1;break a}default:{}}b=c[a+4>>2]|0;if((c[a>>2]|0)==21)if(Lp(b)|0)b=1;else{switch(b|0){case 101:case 69:case 71:case 53:{b=1;break a}default:{}}b=0}else b=0}else b=1;while(0);return b|0}function dq(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;o=aa;aa=aa+256|0;n=o+208|0;l=o;j=o+68|0;m=o+48|0;f=o+168|0;g=o+128|0;h=o+88|0;k=o+8|0;Ip(m,b);i=b+96|0;if(!(c[i>>2]|0)){e=b+100|0;do{vp(n,c[b>>2]|0,b);p=c[i>>2]|0;c[i>>2]=p+1;p=b+16+(((c[e>>2]|0)+p&1)*40|0)|0;fy(p);dy(p,n);fy(n)}while(!(c[i>>2]|0))}else e=b+100|0;e=c[e>>2]&1;switch(c[b+16+(e*40|0)+20>>2]|0){case 53:{g=b+100|0;dy(f,b+16+(e*40|0)|0);e=b+16+((c[g>>2]&1)*40|0)|0;fy(e);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[g>>2]=c[g>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;fy(f);f=RA(144)|0;c[f+4>>2]=0;c[f+8>>2]=0;e=f+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[f+32>>2]=7;c[f>>2]=288452;e=f+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;wl(f+52|0,-1,n);g=f+88|0;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));_p(b,e);if(($p(b,f+48|0)|0)!=1?(aq(b,f+112|0)|0)!=1:0){Ip(n,b);p=f+124|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];if((Op(b,66)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}eq(b,e);e=c[d>>2]|0;c[d>>2]=f;if(!e){p=0;aa=o;return p|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);p=0;aa=o;return p|0}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}case 71:{f=b+100|0;dy(g,b+16+(e*40|0)|0);e=b+16+((c[f>>2]&1)*40|0)|0;fy(e);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[f>>2]=c[f>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;fy(g);f=RA(144)|0;c[f+4>>2]=0;c[f+8>>2]=0;e=f+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[f+32>>2]=25;c[f>>2]=288196;e=f+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;wl(f+52|0,-1,n);g=f+88|0;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));_p(b,e);if(($p(b,f+48|0)|0)!=1?(aq(b,f+112|0)|0)!=1:0){Ip(n,b);p=f+124|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];if((Op(b,66)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}eq(b,e);e=c[d>>2]|0;c[d>>2]=f;if(!e){p=0;aa=o;return p|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);p=0;aa=o;return p|0}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}case 69:{f=b+100|0;dy(h,b+16+(e*40|0)|0);e=b+16+((c[f>>2]&1)*40|0)|0;fy(e);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[f>>2]=c[f>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;fy(h);f=RA(176)|0;c[f+4>>2]=0;c[f+8>>2]=0;e=f+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[f+32>>2]=20;c[f>>2]=288276;e=f+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;wl(f+52|0,-1,n);g=f+88|0;h=g+88|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));_p(b,e);if(($p(b,f+48|0)|0)!=1?(aq(b,f+112|0)|0)!=1:0){Ip(n,b);p=f+124|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];do if(Mp(b,65)|0){eq(b,e);if((Wp(b,f+144|0)|0)!=1){Ip(n,b);p=f+156|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];break}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}while(0);if((Op(b,66)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}eq(b,e);e=c[d>>2]|0;c[d>>2]=f;if(!e){p=0;aa=o;return p|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);p=0;aa=o;return p|0}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}case 101:{p=b+100|0;dy(k,b+16+(e*40|0)|0);e=b+16+((c[p>>2]&1)*40|0)|0;fy(e);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[p>>2]=c[p>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;e=c[k+24>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];em(n,e);c[l>>2]=c[n>>2];c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];Gp(b,n,309282,l)}fy(k);f=RA(156)|0;c[f+4>>2]=0;c[f+8>>2]=0;e=f+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[f+32>>2]=52;c[f>>2]=287812;e=f+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;wl(f+52|0,-1,n);g=f+88|0;h=g+68|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));_p(b,e);if(($p(b,f+48|0)|0)!=1?(aq(b,f+112|0)|0)!=1:0){Ip(n,b);p=f+124|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];if((Op(b,60)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}eq(b,e);if((Wp(b,f+144|0)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}if((Op(b,66)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}eq(b,e);e=c[d>>2]|0;c[d>>2]=f;if(!e){p=0;aa=o;return p|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);p=0;aa=o;return p|0}ma[c[(c[f>>2]|0)+4>>2]&255](f);p=1;aa=o;return p|0}default:{p=1;aa=o;return p|0}}return 0}function eq(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;s=aa;aa=aa+96|0;o=s+68|0;r=s+8|0;g=s;k=s+48|0;p=s+16|0;n=s+28|0;Ip(k,b);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;_p(b,p);m=p+11|0;h=a[m>>0]|0;q=h<<24>>24<0;h=q?c[p+4>>2]|0:h&255;a:do if(h|0){f=a[d+11>>0]|0;l=f<<24>>24<0;f=f&255;e=l?c[d+4>>2]|0:f;if(!e){c[g>>2]=q?c[p>>2]|0:p;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];Gp(b,o,309457,g);break}do if((e|0)==(h|0)){e=c[d>>2]|0;i=q?c[p>>2]|0:p;if(l){if(!(Kz(e,i,h)|0))break a;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[n+16>>2]=c[k+16>>2];break}if((a[i>>0]|0)!=(e&255)<<24>>24){c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[n+16>>2]=c[k+16>>2];j=15;break}g=d;e=i;while(1){f=f+-1|0;g=g+1|0;if(!f)break a;e=e+1|0;if((a[g>>0]|0)!=(a[e>>0]|0)){j=13;break}}}else j=13;while(0);if((j|0)==13){c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[n+16>>2]=c[k+16>>2];if(l)e=c[d>>2]|0;else j=15}if((j|0)==15)e=d;q=q?c[p>>2]|0:p;c[r>>2]=e;c[r+4>>2]=q;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];Gp(b,o,309479,r)}while(0);if((a[m>>0]|0)>=0){aa=s;return}SA(c[p>>2]|0);aa=s;return}function fq(a,b){a=a|0;b=b|0;a:do if(Np(a,26)|0){while(1){gq(a,b);if((Op(a,31)|0)==1){b=1;break}if(!(Np(a,26)|0))break a}return b|0}while(0);b=b+12|0;if(!(Np(a,30)|0)){a=0;return a|0}while(1){gq(a,b);if((Op(a,31)|0)==1){b=1;a=9;break}if(!(Np(a,30)|0)){b=0;a=9;break}}if((a|0)==9)return b|0;return 0}function gq(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=aa;aa=aa+80|0;i=m+40|0;j=m;k=a+96|0;h=a+100|0;l=j+24|0;f=b+4|0;g=b+8|0;while(1){if(!(c[k>>2]|0))do{vp(i,c[a>>2]|0,a);e=c[k>>2]|0;c[k>>2]=e+1;e=a+16+(((c[h>>2]|0)+e&1)*40|0)|0;fy(e);dy(e,i);fy(i)}while(!(c[k>>2]|0));d=c[h>>2]&1;if((c[a+16+(d*40|0)+20>>2]|0)!=109)break;dy(j,a+16+(d*40|0)|0);d=a+16+((c[h>>2]&1)*40|0)|0;fy(d);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;c[h>>2]=c[h>>2]&1^1;c[k>>2]=(c[k>>2]|0)+-1;d=c[l>>2]|0;c[i>>2]=d;e=c[f>>2]|0;if(e>>>0<(c[g>>2]|0)>>>0){c[e>>2]=d;c[f>>2]=e+4}else hq(b,i);fy(j)}aa=m;return}function hq(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function iq(a){a=a|0;a:do if((c[a>>2]|0)==21){a=c[a+4>>2]|0;if(Lp(a)|0)a=1;else{switch(a|0){case 101:case 69:case 71:case 53:{a=1;break a}default:{}}a=0}}else a=0;while(0);return a|0}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;j=aa;aa=aa+96|0;i=j+56|0;h=j+36|0;g=j;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;wl(i,-1,h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;wl(g,-1,h);f=Up(a,i,g)|0;Dl(g);e=b+4|0;if(!f){h=c[b>>2]|0;a=c[e>>2]|0;a=(h|0)!=(a|0);Dl(i);aa=j;return a|0}f=b+8|0;do{d=c[e>>2]|0;if((d|0)==(c[f>>2]|0))pq(b,i);else{zl(d,i);c[e>>2]=(c[e>>2]|0)+36};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;wl(g,-1,h);d=Up(a,i,g)|0;Dl(g)}while(d);h=c[b>>2]|0;a=c[e>>2]|0;a=(h|0)!=(a|0);Dl(i);aa=j;return a|0} +function qu(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,q=0,r=0,s=0,t=0,u=0;s=aa;aa=aa+176|0;r=s+144|0;q=s+160|0;l=s+136|0;k=s+120|0;p=s;n=s+112|0;o=s+104|0;j=h;i=c[j>>2]|0;j=c[j+4>>2]|0;if(!(a[h+16>>0]|0)){k=l;c[k>>2]=i;c[k+4>>2]=j;Jz(p,100,327912,l)|0}else{t=h+8|0;u=c[t>>2]|0;t=c[t+4>>2]|0;l=k;c[l>>2]=i;c[l+4>>2]=j;l=k+8|0;c[l>>2]=u;c[l+4>>2]=t;Jz(p,100,327887,k)|0}k=b+16|0;j=c[k>>2]|0;if(j>>>0<=142){i=b+8|0;if(j)m=9}else{i=b+8|0;do{un(c[i>>2]|0,16864,142,0,0);j=j+-142|0}while(j>>>0>142);j=c[k>>2]|0;m=9}if((m|0)==9)un(c[i>>2]|0,16864,j,0,0);u=c[i>>2]|0;c[r>>2]=d;c[r+4>>2]=g;c[r+8>>2]=p;tn(u,328357,r);u=c[b+12>>2]|0;t=c[(c[u>>2]|0)+72>>2]|0;p=e;b=c[p+4>>2]|0;e=n;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=c[f+4>>2]|0;b=o;c[b>>2]=c[f>>2];c[b+4>>2]=e;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];u=ja[t&31](u,d,q,r,g,h)|0;aa=s;return u|0}function ru(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;q=aa;aa=aa+48|0;p=q+16|0;o=q+32|0;m=q+8|0;n=q;k=a+16|0;j=c[k>>2]|0;if(j>>>0<=142){i=a+8|0;if(j)l=6}else{i=a+8|0;do{un(c[i>>2]|0,16864,142,0,0);j=j+-142|0}while(j>>>0>142);j=c[k>>2]|0;l=6}if((l|0)==6)un(c[i>>2]|0,16864,j,0,0);i=c[i>>2]|0;do switch(g|0){case -1:{j=329758;break}case -2:{j=329754;break}case -3:{j=329750;break}case -4:{j=329746;break}case -5:{j=329741;break}case -16:{j=329733;break}case -32:{j=329728;break}case -24:{j=329717;break}case -64:{j=329712;break}case 0:{j=329708;break}case -17:{j=329701;break}default:j=329688}while(0);c[p>>2]=b;c[p+4>>2]=f;c[p+8>>2]=j;c[p+12>>2]=h?325037:325042;tn(i,328282,p);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+76>>2]|0;j=d;d=c[j+4>>2]|0;k=m;c[k>>2]=c[j>>2];c[k+4>>2]=d;k=e;e=c[k+4>>2]|0;d=n;c[d>>2]=c[k>>2];c[d+4>>2]=e;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];g=ka[l&31](a,b,o,p,f,g,h)|0;aa=q;return g|0}function su(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;p=aa;aa=aa+48|0;o=p+16|0;n=p+32|0;l=p+8|0;m=p;j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){h=a+8|0;if(i)k=6}else{h=a+8|0;do{un(c[h>>2]|0,16864,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)un(c[h>>2]|0,16864,i,0,0);k=c[h>>2]|0;c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=g;tn(k,328217,o);a=c[a+12>>2]|0;k=c[(c[a>>2]|0)+80>>2]|0;i=d;d=c[i+4>>2]|0;j=l;c[j>>2]=c[i>>2];c[j+4>>2]=d;j=e;e=c[j+4>>2]|0;d=m;c[d>>2]=c[j>>2];c[d+4>>2]=e;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];o=ja[k&31](a,b,n,o,f,g)|0;aa=p;return o|0}function tu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,328199,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+84>>2]&127](g)|0;aa=h;return g|0}function uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,328172,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+88>>2]&511](h,b)|0;aa=i;return h|0}function vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,328151,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+92>>2]&511](h,b)|0;aa=i;return h|0}function wu(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,328113,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+96>>2]&127](i,b,d)|0;aa=j;return i|0}function xu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,328093,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+100>>2]&127](g)|0;aa=h;return g|0}function yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,328069,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+104>>2]&511](h,b)|0;aa=i;return h|0}function zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,328051,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+108>>2]&511](h,b)|0;aa=i;return h|0}function Au(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;n=aa;aa=aa+144|0;m=n+128|0;j=n+120|0;i=n+104|0;l=n;h=f;g=c[h>>2]|0;h=c[h+4>>2]|0;if(!(a[f+16>>0]|0)){i=j;c[i>>2]=g;c[i+4>>2]=h;Jz(l,100,327912,j)|0}else{o=f+8|0;p=c[o>>2]|0;o=c[o+4>>2]|0;j=i;c[j>>2]=g;c[j+4>>2]=h;j=i+8|0;c[j>>2]=p;c[j+4>>2]=o;Jz(l,100,327887,i)|0}i=b+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=b+8|0;if(h)k=9}else{g=b+8|0;do{un(c[g>>2]|0,16864,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;k=9}if((k|0)==9)un(c[g>>2]|0,16864,h,0,0);g=c[g>>2]|0;do switch(e|0){case -1:{h=329758;break}case -2:{h=329754;break}case -3:{h=329750;break}case -4:{h=329746;break}case -5:{h=329741;break}case -16:{h=329733;break}case -32:{h=329728;break}case -24:{h=329717;break}case -64:{h=329712;break}case 0:{h=329708;break}case -17:{h=329701;break}default:h=329688}while(0);c[m>>2]=d;c[m+4>>2]=h;c[m+8>>2]=l;tn(g,328012,m);p=c[b+12>>2]|0;p=ha[c[(c[p>>2]|0)+112>>2]&63](p,d,e,f)|0;aa=n;return p|0}function Bu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,327995,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+116>>2]&127](g)|0;aa=h;return g|0}function Cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,327970,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+120>>2]&511](h,b)|0;aa=i;return h|0}function Du(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,327951,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+124>>2]&511](h,b)|0;aa=i;return h|0}function Eu(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;m=aa;aa=aa+144|0;l=m+128|0;i=m+120|0;h=m+104|0;k=m;g=e;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(a[e+16>>0]|0)){h=i;c[h>>2]=f;c[h+4>>2]=g;Jz(k,100,327912,i)|0}else{n=e+8|0;o=c[n>>2]|0;n=c[n+4>>2]|0;i=h;c[i>>2]=f;c[i+4>>2]=g;i=h+8|0;c[i>>2]=o;c[i+4>>2]=n;Jz(k,100,327887,h)|0}h=b+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=b+8|0;if(g)j=9}else{f=b+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;j=9}if((j|0)==9)un(c[f>>2]|0,16864,g,0,0);o=c[f>>2]|0;c[l>>2]=d;c[l+4>>2]=k;tn(o,327926,l);o=c[b+12>>2]|0;o=ga[c[(c[o>>2]|0)+128>>2]&127](o,d,e)|0;aa=m;return o|0}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,327869,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+132>>2]&127](g)|0;aa=h;return g|0}function Gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,327844,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+136>>2]&511](h,b)|0;aa=i;return h|0}function Hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,327825,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+140>>2]&511](h,b)|0;aa=i;return h|0}function Iu(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);f=c[f>>2]|0;do switch(d|0){case -1:{g=329758;break}case -2:{g=329754;break}case -3:{g=329750;break}case -4:{g=329746;break}case -5:{g=329741;break}case -16:{g=329733;break}case -32:{g=329728;break}case -24:{g=329717;break}case -64:{g=329712;break}case 0:{g=329708;break}case -17:{g=329701;break}default:g=329688}while(0);c[j>>2]=b;c[j+4>>2]=g;c[j+8>>2]=e?325037:325042;tn(f,327778,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+144>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,327753,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+148>>2]&511](h,b)|0;aa=i;return h|0}function Ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,327730,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+152>>2]&511](h,b)|0;aa=i;return h|0}function Lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,327715,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+156>>2]&511](h,b)|0;aa=i;return h|0}function Mu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,327697,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+160>>2]&127](g)|0;aa=h;return g|0}function Nu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,327672,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+164>>2]&511](h,b)|0;aa=i;return h|0}function Ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,327653,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+168>>2]&511](h,b)|0;aa=i;return h|0}function Pu(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=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{un(c[g>>2]|0,16864,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)un(c[g>>2]|0,16864,h,0,0);j=c[g>>2]|0;g=c[64+(d<<2)>>2]|0;i=c[f+4>>2]|0;h=c[f>>2]|0;c[l>>2]=b;c[l+4>>2]=g;c[l+8>>2]=e;c[l+12>>2]=i;c[l+16>>2]=h;tn(j,327592,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+172>>2]|0;h=f;i=c[h+4>>2]|0;f=k;c[f>>2]=c[h>>2];c[f+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,e,l)|0;aa=m;return l|0}function Qu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,327574,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+176>>2]&127](g)|0;aa=h;return g|0}function Ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,327550,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+180>>2]&511](h,b)|0;aa=i;return h|0}function Su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,327529,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+184>>2]&511](h,b)|0;aa=i;return h|0}function Tu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,327512,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+188>>2]&127](g)|0;aa=h;return g|0}function Uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,327489,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+192>>2]&511](h,b)|0;aa=i;return h|0}function Vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,327464,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+196>>2]&511](h,b)|0;aa=i;return h|0}function Wu(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,327431,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+200>>2]&127](i,b,d)|0;aa=j;return i|0}function Xu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,327409,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+204>>2]&511](h,b)|0;aa=i;return h|0}function Yu(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);f=c[f>>2]|0;do switch(e|0){case -1:{g=329758;break}case -2:{g=329754;break}case -3:{g=329750;break}case -4:{g=329746;break}case -5:{g=329741;break}case -16:{g=329733;break}case -32:{g=329728;break}case -24:{g=329717;break}case -64:{g=329712;break}case 0:{g=329708;break}case -17:{g=329701;break}default:g=329688}while(0);c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=g;tn(f,327364,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+208>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=aa;aa=aa+16|0;e=d+4|0;g=d;a=c[a+12>>2]|0;f=c[(c[a>>2]|0)+212>>2]|0;c[g>>2]=c[b>>2];c[e>>2]=c[g>>2];a=fa[f&511](a,e)|0;aa=d;return a|0}function _u(a){a=a|0;a=c[a+12>>2]|0;return ea[c[(c[a>>2]|0)+216>>2]&127](a)|0}function $u(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+220>>2]&511](a,b)|0}function av(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+224>>2]&511](a,b)|0}function bv(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+228>>2]&127](a,b,d)|0}function cv(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+232>>2]&127](a,b,d)|0}function dv(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+236>>2]&127](a,b,d)|0}function ev(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+240>>2]&511](a,b)|0}function fv(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+244>>2]&127](a,b,d)|0}function gv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aa;aa=aa+16|0;e=d;a=c[a+12>>2]|0;f=c[(c[a>>2]|0)+248>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=fa[f&511](a,e)|0;aa=d;return b|0}function hv(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+252>>2]&511](a,b)|0}function iv(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;em(l,b);h=c[l>>2]|0;em(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;tn(i,327299,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+256>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function jv(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;em(l,b);h=c[l>>2]|0;em(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;tn(i,327233,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+260>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function kv(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;em(l,b);h=c[l>>2]|0;em(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;tn(i,327169,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+264>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function lv(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;em(l,b);h=c[l>>2]|0;em(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;tn(i,327098,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+268>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function mv(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;em(l,b);h=c[l>>2]|0;em(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;tn(i,327033,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+272>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function nv(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;em(l,b);h=c[l>>2]|0;em(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;tn(i,326966,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+276>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function ov(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=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;em(j,b);f=c[j>>2]|0;em(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;tn(g,326941,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+280>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);tn(c[d>>2]|0,326923,h);Cx(c[d>>2]|0,b);tn(c[d>>2]|0,325669,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+284>>2]&511](i,b)|0;aa=j;return i|0}function qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326902,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+288>>2]&511](h,b)|0;aa=i;return h|0}function rv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326879,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+292>>2]&511](h,b)|0;aa=i;return h|0}function sv(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,326836,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+296>>2]&127](i,b,d)|0;aa=j;return i|0}function tv(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=aa;aa=aa+32|0;l=n+24|0;k=n+16|0;m=n+8|0;j=n;h=a+16|0;f=c[h>>2]|0;if(f>>>0<=142){g=a+8|0;if(f)i=6}else{g=a+8|0;do{un(c[g>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[h>>2]|0;i=6}if((i|0)==6)un(c[g>>2]|0,16864,f,0,0);f=c[g>>2]|0;c[j>>2]=b;tn(f,326778,j);f=c[g>>2]|0;if(b){i=b+-1|0;h=0;do{c[k>>2]=c[d+(h<<2)>>2];tn(f,330374,k);if((h|0)!=(i|0))tn(c[g>>2]|0,329762,l);h=h+1|0;f=c[g>>2]|0}while((h|0)!=(b|0))}c[m>>2]=e;tn(f,326819,m);m=c[a+12>>2]|0;m=ha[c[(c[m>>2]|0)+300>>2]&63](m,b,d,e)|0;aa=n;return m|0}function uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326750,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+304>>2]&511](h,b)|0;aa=i;return h|0}function vv(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,326698,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+308>>2]&127](i,b,d)|0;aa=j;return i|0}function wv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,326685,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+312>>2]&127](g)|0;aa=h;return g|0}function xv(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=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;em(j,b);f=c[j>>2]|0;em(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;tn(g,326659,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+316>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function yv(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=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;em(j,b);f=c[j>>2]|0;em(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;tn(g,326633,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+320>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function zv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,326621,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+324>>2]&127](g)|0;aa=h;return g|0}function Av(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,326609,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+328>>2]&127](g)|0;aa=h;return g|0}function Bv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,326598,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+332>>2]&127](g)|0;aa=h;return g|0}function Cv(a){a=a|0;a=c[a+12>>2]|0;return ea[c[(c[a>>2]|0)+336>>2]&127](a)|0}function Dv(a,b){a=a|0;b=b|0;var d=0,e=0,i=0,j=0,k=0.0,l=0,m=0;m=aa;aa=aa+16|0;l=m;k=(c[h>>2]=b,+f[h>>2]);i=a+16|0;e=c[i>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)j=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[i>>2]|0;j=6}if((j|0)==6)un(c[d>>2]|0,16864,e,0,0);j=c[d>>2]|0;g[l>>3]=k;c[l+8>>2]=b;tn(j,326569,l);l=c[a+12>>2]|0;l=fa[c[(c[l>>2]|0)+340>>2]&511](l,b)|0;aa=m;return l|0}function Ev(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0.0,l=0,m=0;m=aa;aa=aa+16|0;l=m;c[h>>2]=b;c[h+4>>2]=d;k=+g[h>>3];i=a+16|0;f=c[i>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)j=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[i>>2]|0;j=6}if((j|0)==6)un(c[e>>2]|0,16864,f,0,0);j=c[e>>2]|0;g[l>>3]=k;i=l+8|0;c[i>>2]=b;c[i+4>>2]=d;tn(j,326538,l);l=c[a+12>>2]|0;l=ga[c[(c[l>>2]|0)+344>>2]&127](l,b,d)|0;aa=m;return l|0}function Fv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;d=c[b+4>>2]|0;e=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=c[b>>2];c[h+4>>2]=d;c[h+8>>2]=e;c[h+12>>2]=f;tn(g,326492,h);a=c[a+12>>2]|0;g=c[(c[a>>2]|0)+348>>2]|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];h=fa[g&511](a,h)|0;aa=i;return h|0}function Gv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326464,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+352>>2]&511](h,b)|0;aa=i;return h|0}function Hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326436,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+356>>2]&511](h,b)|0;aa=i;return h|0}function Iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;c[h+4>>2]=b;tn(g,326409,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+360>>2]&511](h,b)|0;aa=i;return h|0}function Jv(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;g=i;c[g>>2]=b;c[g+4>>2]=d;g=i+8|0;c[g>>2]=b;c[g+4>>2]=d;tn(h,326378,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+364>>2]&127](i,b,d)|0;aa=j;return i|0}function Kv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);tn(c[d>>2]|0,326363,h);Cx(c[d>>2]|0,b);tn(c[d>>2]|0,325669,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+368>>2]&511](i,b)|0;aa=j;return i|0}function Lv(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;em(l,b);h=c[l>>2]|0;em(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;tn(i,326304,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+372>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function Mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326277,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+376>>2]&511](h,b)|0;aa=i;return h|0}function Nv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326250,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+380>>2]&511](h,b)|0;aa=i;return h|0}function Ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326223,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+384>>2]&511](h,b)|0;aa=i;return h|0}function Pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);tn(c[d>>2]|0,326206,h);Cx(c[d>>2]|0,b);tn(c[d>>2]|0,325669,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+388>>2]&511](i,b)|0;aa=j;return i|0}function Qv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,326188,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+392>>2]&127](g)|0;aa=h;return g|0}function Rv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326168,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+396>>2]&511](h,b)|0;aa=i;return h|0}function Sv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,326150,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+400>>2]&127](g)|0;aa=h;return g|0}function Tv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,326132,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+404>>2]&127](g)|0;aa=h;return g|0}function Uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326110,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+408>>2]&511](h,b)|0;aa=i;return h|0}function Vv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,326092,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+412>>2]&127](g)|0;aa=h;return g|0}function Wv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,326075,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+416>>2]&127](g)|0;aa=h;return g|0}function Xv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326055,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+420>>2]&511](h,b)|0;aa=i;return h|0}function Yv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326034,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+424>>2]&511](h,b)|0;aa=i;return h|0}function Zv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,326014,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+428>>2]&511](h,b)|0;aa=i;return h|0}function _v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325994,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+432>>2]&511](h,b)|0;aa=i;return h|0}function $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325973,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+436>>2]&511](h,b)|0;aa=i;return h|0}function aw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325952,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+440>>2]&511](h,b)|0;aa=i;return h|0}function bw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,325937,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+444>>2]&127](g)|0;aa=h;return g|0}function cw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,325920,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+448>>2]&127](g)|0;aa=h;return g|0}function dw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,325909,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+452>>2]&127](g)|0;aa=h;return g|0}function ew(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,325894,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+456>>2]&127](g)|0;aa=h;return g|0}function fw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,325880,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+460>>2]&127](g)|0;aa=h;return g|0}function gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325846,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+464>>2]&511](h,b)|0;aa=i;return h|0}function hw(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,325788,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+468>>2]&127](i,b,d)|0;aa=j;return i|0}function iw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,325774,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+472>>2]&127](g)|0;aa=h;return g|0}function jw(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=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;em(l,b);h=c[l>>2]|0;em(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;tn(i,325714,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+476>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&63](a,k,d,e)|0;aa=m;return a|0}function kw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325684,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+480>>2]&511](h,b)|0;aa=i;return h|0}function lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);tn(c[d>>2]|0,325653,h);Cx(c[d>>2]|0,b);tn(c[d>>2]|0,325669,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+484>>2]&511](i,b)|0;aa=j;return i|0}function mw(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=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;em(j,b);f=c[j>>2]|0;em(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;tn(g,325629,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+488>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function nw(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=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;em(j,b);f=c[j>>2]|0;em(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;tn(g,325603,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+492>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function ow(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,325584,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+496>>2]&127](g)|0;aa=h;return g|0}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325563,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+500>>2]&511](h,b)|0;aa=i;return h|0}function qw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,325547,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+504>>2]&127](g)|0;aa=h;return g|0}function rw(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=aa;aa=aa+16|0;k=l;j=l+8|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;h=k;c[h>>2]=d;c[h+4>>2]=e;tn(i,325516,k);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+508>>2]|0;c[j>>2]=c[b>>2];c[k>>2]=c[j>>2];a=ha[i&63](a,k,d,e)|0;aa=l;return a|0}function sw(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=aa;aa=aa+32|0;k=l;j=l+20|0;i=l+16|0;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;e=c[d+4>>2]|0;f=c[d+8>>2]|0;g=c[d+12>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=e;c[k+8>>2]=f;c[k+12>>2]=g;tn(h,325465,k);a=c[a+12>>2]|0;h=c[(c[a>>2]|0)+512>>2]|0;c[i>>2]=c[b>>2];c[j>>2]=c[i>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];k=ga[h&127](a,j,k)|0;aa=l;return k|0}function tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,325442,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+516>>2]&511](h,b)|0;aa=i;return h|0}function uw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325418,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+520>>2]&511](h,b)|0;aa=i;return h|0}function vw(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e?325037:325042;tn(i,325359,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+524>>2]&63](j,b,d,e)|0;aa=k;return j|0}function ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325329,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+528>>2]&511](h,b)|0;aa=i;return h|0}function xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325301,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+532>>2]&511](h,b)|0;aa=i;return h|0}function yw(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,325246,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+536>>2]&127](i,b,d)|0;aa=j;return i|0}function zw(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,325191,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+540>>2]&127](i,b,d)|0;aa=j;return i|0}function Aw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325171,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+544>>2]&511](h,b)|0;aa=i;return h|0}function Bw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,325155,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+548>>2]&127](g)|0;aa=h;return g|0}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,325132,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+552>>2]&511](h,b)|0;aa=i;return h|0}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325108,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+556>>2]&511](h,b)|0;aa=i;return h|0}function Ew(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e?325037:325042;tn(i,325048,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+560>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,325007,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+564>>2]&511](h,b)|0;aa=i;return h|0}function Gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,324979,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+568>>2]&511](h,b)|0;aa=i;return h|0}function Hw(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=e;tn(i,324941,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+572>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,324921,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+576>>2]&511](h,b)|0;aa=i;return h|0}function Jw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,324905,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+580>>2]&127](g)|0;aa=h;return g|0}function Kw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,324877,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+584>>2]&511](h,b)|0;aa=i;return h|0}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,324860,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+588>>2]&511](h,b)|0;aa=i;return h|0}function Mw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,324839,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+592>>2]&127](g)|0;aa=h;return g|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,324815,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+596>>2]&511](h,b)|0;aa=i;return h|0}function Ow(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e;tn(i,324758,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+600>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;e=c[b>>2]|0;c[i>>2]=c[b+4>>2];c[i+4>>2]=e;tn(g,324730,i);a=c[a+12>>2]|0;g=c[(c[a>>2]|0)+604>>2]|0;e=b;f=c[e+4>>2]|0;b=h;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];i=fa[g&511](a,i)|0;aa=j;return i|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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e;tn(i,324671,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+608>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,324645,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+612>>2]&511](h,b)|0;aa=i;return h|0}function Sw(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=aa;aa=aa+32|0;j=k+8|0;i=k;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;g=c[d+4>>2]|0;f=c[d>>2]|0;c[j>>2]=b;c[j+4>>2]=g;c[j+8>>2]=f;tn(h,324604,j);a=c[a+12>>2]|0;h=c[(c[a>>2]|0)+616>>2]|0;f=d;g=c[f+4>>2]|0;d=i;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];j=ga[h&127](a,b,j)|0;aa=k;return j|0}function Tw(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e;tn(i,324548,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+620>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Uw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,324518,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+624>>2]&511](h,b)|0;aa=i;return h|0}function Vw(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,324473,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+628>>2]&127](i,b,d)|0;aa=j;return i|0}function Ww(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=aa;aa=aa+32|0;k=l+8|0;j=l;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;h=c[e+4>>2]|0;g=c[e>>2]|0;c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=h;c[k+12>>2]=g;tn(i,324413,k);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+632>>2]|0;g=e;h=c[g+4>>2]|0;e=j;c[e>>2]=c[g>>2];c[e+4>>2]=h;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];k=ha[i&63](a,b,d,k)|0;aa=l;return k|0}function Xw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,324396,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+636>>2]&127](g)|0;aa=h;return g|0}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,324372,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+640>>2]&511](h,b)|0;aa=i;return h|0}function Zw(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,324334,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+644>>2]&127](i,b,d)|0;aa=j;return i|0}function _w(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;l=aa;aa=aa+16|0;k=l;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{un(c[g>>2]|0,16864,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)un(c[g>>2]|0,16864,h,0,0);j=c[g>>2]|0;c[k>>2]=c[96+(b<<2)>>2];c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=f;tn(j,324279,k);k=c[a+12>>2]|0;k=ia[c[(c[k>>2]|0)+648>>2]&31](k,b,d,e,f)|0;aa=l;return k|0}function $w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,324262,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+652>>2]&127](g)|0;aa=h;return g|0}function ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,324237,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+656>>2]&511](h,b)|0;aa=i;return h|0}function bx(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;l=aa;aa=aa+16|0;k=l;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{un(c[g>>2]|0,16864,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)un(c[g>>2]|0,16864,h,0,0);j=c[g>>2]|0;c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=f;tn(j,324161,k);k=c[a+12>>2]|0;k=ia[c[(c[k>>2]|0)+660>>2]&31](k,b,d,e,f)|0;aa=l;return k|0}function cx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,324136,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+664>>2]&511](h,b)|0;aa=i;return h|0}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;e=c[b>>2]|0;c[i>>2]=c[b+4>>2];c[i+4>>2]=e;tn(g,324108,i);a=c[a+12>>2]|0;g=c[(c[a>>2]|0)+668>>2]|0;e=b;f=c[e+4>>2]|0;b=h;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];i=fa[g&511](a,i)|0;aa=j;return i|0}function ex(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,324090,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+672>>2]&127](g)|0;aa=h;return g|0}function fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,324064,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+676>>2]&511](h,b)|0;aa=i;return h|0}function gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,324045,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+680>>2]&511](h,b)|0;aa=i;return h|0}function hx(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=aa;aa=aa+16|0;k=l;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);f=c[f>>2]|0;switch(d|0){case 0:{j=329728;break}case 2:{j=329058;break}case 1:{j=329027;break}case 3:{j=324005;break}case 4:{j=329041;break}default:{}}c[k>>2]=j;c[k+4>>2]=e;tn(f,324013,k);k=c[a+12>>2]|0;k=ha[c[(c[k>>2]|0)+684>>2]&63](k,b,d,e)|0;aa=l;return k|0}function ix(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;o=aa;aa=aa+32|0;n=o+8|0;m=o;k=a+16|0;j=c[k>>2]|0;if(j>>>0<=142){i=a+8|0;if(j)l=6}else{i=a+8|0;do{un(c[i>>2]|0,16864,142,0,0);j=j+-142|0}while(j>>>0>142);j=c[k>>2]|0;l=6}if((l|0)==6)un(c[i>>2]|0,16864,j,0,0);l=c[i>>2]|0;j=c[e>>2]|0;c[n>>2]=c[e+4>>2];c[n+4>>2]=j;c[n+8>>2]=d;tn(l,323967,n);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+688>>2]|0;j=e;k=c[j+4>>2]|0;e=m;c[e>>2]=c[j>>2];c[e+4>>2]=k;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];n=ka[l&31](a,b,d,n,f,g,h)|0;aa=o;return n|0}function jx(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=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{un(c[g>>2]|0,16864,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)un(c[g>>2]|0,16864,h,0,0);j=c[g>>2]|0;h=c[e>>2]|0;c[l>>2]=c[e+4>>2];c[l+4>>2]=h;c[l+8>>2]=d;c[l+12>>2]=f;tn(j,323915,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+692>>2]|0;h=e;i=c[h+4>>2]|0;e=k;c[e>>2]=c[h>>2];c[e+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,l,f)|0;aa=m;return l|0}function kx(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=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{un(c[g>>2]|0,16864,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)un(c[g>>2]|0,16864,h,0,0);j=c[g>>2]|0;h=c[e>>2]|0;c[l>>2]=c[e+4>>2];c[l+4>>2]=h;c[l+8>>2]=d;c[l+12>>2]=f;tn(j,323865,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+696>>2]|0;h=e;i=c[h+4>>2]|0;e=k;c[e>>2]=c[h>>2];c[e+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,l,f)|0;aa=m;return l|0}function lx(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;c[j>>2]=d;c[j+4>>2]=e;tn(i,323825,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+700>>2]&63](j,b,d,e)|0;aa=k;return j|0}function mx(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=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{un(c[g>>2]|0,16864,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)un(c[g>>2]|0,16864,h,0,0);j=c[g>>2]|0;h=c[e>>2]|0;c[l>>2]=c[e+4>>2];c[l+4>>2]=h;c[l+8>>2]=d;c[l+12>>2]=f;tn(j,323776,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+704>>2]|0;h=e;i=c[h+4>>2]|0;e=k;c[e>>2]=c[h>>2];c[e+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,l,f)|0;aa=m;return l|0}function nx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,323752,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+708>>2]&511](h,b)|0;aa=i;return h|0}function ox(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=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{un(c[g>>2]|0,16864,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)un(c[g>>2]|0,16864,h,0,0);j=c[g>>2]|0;i=c[d+4>>2]|0;h=c[d>>2]|0;c[l>>2]=b;c[l+4>>2]=i;c[l+8>>2]=h;c[l+12>>2]=e;c[l+16>>2]=f;tn(j,323694,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+712>>2]|0;h=d;i=c[h+4>>2]|0;d=k;c[d>>2]=c[h>>2];c[d+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,l,e,f)|0;aa=m;return l|0}function px(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,323669,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+716>>2]&511](h,b)|0;aa=i;return h|0}function qx(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=d;c[i+4>>2]=b;tn(h,323636,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+720>>2]&127](i,b,d)|0;aa=j;return i|0}function rx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,323617,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+724>>2]&127](g)|0;aa=h;return g|0}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,323593,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+728>>2]&511](h,b)|0;aa=i;return h|0}function tx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,323575,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+732>>2]&511](h,b)|0;aa=i;return h|0}function ux(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,323536,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+736>>2]&127](i,b,d)|0;aa=j;return i|0}function vx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,323519,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+740>>2]&127](g)|0;aa=h;return g|0}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,i=0,j=0,k=0,l=0.0,m=0,n=0;n=aa;aa=aa+32|0;m=n;l=(c[h>>2]=d,+f[h>>2]);j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){e=a+8|0;if(i)k=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)un(c[e>>2]|0,16864,i,0,0);k=c[e>>2]|0;c[m>>2]=b;g[m+8>>3]=l;c[m+16>>2]=d;tn(k,323464,m);m=c[a+12>>2]|0;m=ga[c[(c[m>>2]|0)+744>>2]&127](m,b,d)|0;aa=n;return m|0}function xx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,l=0.0,m=0,n=0;n=aa;aa=aa+32|0;m=n;c[h>>2]=d;c[h+4>>2]=e;l=+g[h>>3];j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){f=a+8|0;if(i)k=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)un(c[f>>2]|0,16864,i,0,0);k=c[f>>2]|0;c[m>>2]=b;g[m+8>>3]=l;j=m+16|0;c[j>>2]=d;c[j+4>>2]=e;tn(k,323408,m);m=c[a+12>>2]|0;m=ha[c[(c[m>>2]|0)+748>>2]&63](m,b,d,e)|0;aa=n;return m|0}function yx(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;j=aa;aa=aa+32|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;k=c[d>>2]|0;e=c[d+4>>2]|0;f=c[d+8>>2]|0;g=c[d+12>>2]|0;c[i>>2]=b;c[i+4>>2]=k;c[i+8>>2]=e;c[i+12>>2]=f;c[i+16>>2]=g;tn(h,323334,i);a=c[a+12>>2]|0;h=c[(c[a>>2]|0)+752>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];i=ga[h&127](a,b,i)|0;aa=j;return i|0}function zx(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,323280,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+756>>2]&127](i,b,d)|0;aa=j;return i|0}function Ax(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=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)un(c[e>>2]|0,16864,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;tn(h,323234,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+760>>2]&127](i,b,d)|0;aa=j;return i|0}function Bx(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;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;c[j>>2]=b;h=j+8|0;c[h>>2]=d;c[h+4>>2]=e;tn(i,323186,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+764>>2]&63](j,b,d,e)|0;aa=k;return j|0}function Cx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f+8|0;d=f;if((b|0)>-1){c[d>>2]=b;tn(a,325672,d);aa=f;return}do switch(b|0){case -1:{b=329758;break}case -2:{b=329754;break}case -3:{b=329750;break}case -4:{b=329746;break}case -5:{b=329741;break}case -16:{b=329733;break}case -32:{b=329728;break}case -24:{b=329717;break}case -64:{b=329712;break}case -17:{b=329701;break}default:b=329688}while(0);c[e>>2]=b;tn(a,329683,e);aa=f;return}function Dx(a,b,d){a=a|0;b=b|0;d=d|0;c[a+4>>2]=0;c[a>>2]=290648;c[a+8>>2]=b;c[a+12>>2]=d;c[a+16>>2]=0;return}function Ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;e=h+24|0;g=h;if(!(c[a+12>>2]|0)){aa=h;return}c[e>>2]=0;f=e+4|0;c[f>>2]=0;c[e+8>>2]=0;Fx(a,e);d=c[e>>2]|0;Gx(d,c[f>>2]|0);a=c[b+16>>2]|0;do if(a)if((b|0)==(a|0)){b=g+16|0;c[b>>2]=g;na[c[(c[a>>2]|0)+12>>2]&31](a,g);a=b;break}else{b=ea[c[(c[a>>2]|0)+8>>2]&127](a)|0;a=g+16|0;c[a>>2]=b;break}else{a=g+16|0;c[a>>2]=0}while(0);Hx(e,g);a=c[a>>2]|0;if((g|0)!=(a|0)){if(a|0)ma[c[(c[a>>2]|0)+20>>2]&255](a)}else ma[c[(c[a>>2]|0)+16>>2]&255](a);if(d|0){c[f>>2]=d;SA(d)}aa=h;return}function Fx(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;s=aa;aa=aa+16|0;r=s;b=c[b+8>>2]|0;e=c[b>>2]|0;if(!e){aa=s;return}p=d+4|0;q=d+8|0;m=1;o=e;while(1){i=b;l=i+8|0;h=o;n=h+8|0;f=a[l+11>>0]|0;k=f<<24>>24<0;f=f&255;i=k?c[i+12>>2]|0:f;j=a[n+11>>0]|0;e=j<<24>>24<0;a:do if((i|0)==((e?c[h+12>>2]|0:j&255)|0)){g=c[l>>2]|0;j=k?g:l;e=e?c[n>>2]|0:n;h=(i|0)==0;g=g&255;b:do if(k){if(!h?Kz(j,e,i)|0:0){b=o;e=1;break a}}else if(!h){if((a[e>>0]|0)!=g<<24>>24){b=o;e=1;break a}g=l;while(1){f=f+-1|0;g=g+1|0;if(!f)break b;e=e+1|0;if((a[g>>0]|0)!=(a[e>>0]|0)){b=o;e=1;break a}}}while(0);if(m){c[r>>2]=l;e=c[p>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[e>>2]=l;c[p>>2]=(c[p>>2]|0)+4}else Lx(d,r)}c[r>>2]=n;e=c[p>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[e>>2]=n;c[p>>2]=(c[p>>2]|0)+4}else Lx(d,r);e=0}else{b=o;e=1}while(0);o=c[o>>2]|0;if(!o)break;else m=e}aa=s;return}function Gx(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;a:while(1){r=b;d=b+-4|0;q=b+-8|0;b:while(1){p=a;f=r-p|0;e=f>>2;switch(e|0){case 2:{q=4;break a}case 3:{q=8;break a}case 4:{q=26;break a}case 5:{q=27;break a}case 1:case 0:{q=144;break a}default:{}}if((f|0)<124){q=29;break a}m=a+(((e|0)/2|0)<<2)|0;do if((f|0)>3996){e=(e|0)/4|0;e=Jx(a,a+(e<<2)|0,m,m+(e<<2)|0,d)|0}else{h=c[m>>2]|0;n=c[a>>2]|0;i=c[h+20>>2]|0;l=n+20|0;e=c[l>>2]|0;k=h;o=n;if((i|0)>=(e|0))if((i|0)==(e|0))g=(c[h+24>>2]|0)<(c[n+24>>2]|0);else g=0;else g=1;e=c[d>>2]|0;f=c[e+20>>2]|0;j=e;if((f|0)>=(i|0))if((f|0)==(i|0))e=(c[e+24>>2]|0)<(c[h+24>>2]|0);else e=0;else e=1;if(!g){if(!e){e=0;break}c[m>>2]=j;c[d>>2]=k;e=c[m>>2]|0;f=c[a>>2]|0;g=c[e+20>>2]|0;h=c[f+20>>2]|0;i=f;j=e;if((g|0)>=(h|0)){if((g|0)!=(h|0)){e=1;break}if((c[e+24>>2]|0)>=(c[f+24>>2]|0)){e=1;break}}c[a>>2]=j;c[m>>2]=i;e=2;break}if(e){c[a>>2]=j;c[d>>2]=o;e=1;break}c[a>>2]=k;c[m>>2]=o;g=c[d>>2]|0;h=c[g+20>>2]|0;e=c[l>>2]|0;f=g;if((h|0)>=(e|0)){if((h|0)!=(e|0)){e=1;break}if((c[g+24>>2]|0)>=(c[n+24>>2]|0)){e=1;break}}c[m>>2]=f;c[d>>2]=o;e=2}while(0);l=c[a>>2]|0;f=c[m>>2]|0;n=c[l+20>>2]|0;j=c[f+20>>2]|0;k=l;do if((n|0)<(j|0))g=d;else{if((n|0)==(j|0)?(c[l+24>>2]|0)<(c[f+24>>2]|0):0){g=d;break}if((a|0)==(q|0)){i=q;q=87;break b}i=f+24|0;g=q;while(1){f=c[g>>2]|0;h=c[f+20>>2]|0;if((h|0)<(j|0))break;if((h|0)==(j|0)?(c[f+24>>2]|0)<(c[i>>2]|0):0)break;g=g+-4|0;if((a|0)==(g|0)){i=a;q=87;break b}}c[a>>2]=f;c[g>>2]=k;e=e+1|0}while(0);f=a+4|0;c:do if(f>>>0<g>>>0)while(1){k=c[m>>2]|0;j=c[k+20>>2]|0;k=k+24|0;l=f;while(1){f=c[l>>2]|0;h=c[f+20>>2]|0;if((h|0)>=(j|0)){if((h|0)!=(j|0))break;if((c[f+24>>2]|0)>=(c[k>>2]|0))break}l=l+4|0}h=g+-4|0;i=c[h>>2]|0;g=c[i+20>>2]|0;d:do if((g|0)>=(j|0))do{if((g|0)==(j|0)?(c[i+24>>2]|0)<(c[k>>2]|0):0)break d;h=h+-4|0;i=c[h>>2]|0;g=c[i+20>>2]|0}while((g|0)>=(j|0));while(0);if(l>>>0>h>>>0){f=l;break c}c[l>>2]=c[h>>2];c[h>>2]=f;f=l+4|0;g=h;m=(m|0)==(l|0)?h:m;e=e+1|0}while(0);do if((f|0)!=(m|0)){g=c[m>>2]|0;h=c[f>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0))break;if((c[g+24>>2]|0)>=(c[h+24>>2]|0))break}c[f>>2]=l;c[m>>2]=k;e=e+1|0}while(0);if(!e){g=Kx(a,f)|0;e=f+4|0;if(Kx(e,b)|0){q=137;break}if(g){a=e;d=2;q=142;break}}o=f;if((o-p|0)>=(r-o|0)){q=141;break}Gx(a,f);a=f+4|0}e:do if((q|0)==87){a=i+4|0;e=c[d>>2]|0;f=c[e+20>>2]|0;h=e;do if((n|0)>=(f|0)){if((n|0)==(f|0)?(c[l+24>>2]|0)<(c[e+24>>2]|0):0)break;if((a|0)==(d|0)){q=144;break a}g=l+24|0;while(1){e=c[a>>2]|0;f=c[e+20>>2]|0;if((n|0)<(f|0))break;if((n|0)==(f|0)?(c[g>>2]|0)<(c[e+24>>2]|0):0)break;a=a+4|0;if((a|0)==(d|0)){q=144;break a}}c[a>>2]=h;c[d>>2]=e;a=a+4|0}while(0);if((a|0)==(d|0)){q=144;break a}while(1){g=c[i>>2]|0;f=c[a>>2]|0;h=c[g+20>>2]|0;e=c[f+20>>2]|0;g=g+24|0;f:do if((h|0)>=(e|0))do{if((h|0)==(e|0)?(c[g>>2]|0)<(c[f+24>>2]|0):0)break f;a=a+4|0;f=c[a>>2]|0;e=c[f+20>>2]|0}while((h|0)>=(e|0));while(0);while(1){d=d+-4|0;e=c[d>>2]|0;f=c[e+20>>2]|0;if((h|0)>=(f|0)){if((h|0)!=(f|0))break;if((c[g>>2]|0)>=(c[e+24>>2]|0))break}}if(a>>>0>=d>>>0){d=4;q=142;break e}r=c[a>>2]|0;c[a>>2]=e;c[d>>2]=r;a=a+4|0}}else if((q|0)==137){b=g?b:f;d=g?1:2;q=142}else if((q|0)==141){q=0;Gx(f+4|0,b);b=f}while(0);if((q|0)==142)switch(d&7){case 2:case 4:case 0:break;default:{q=144;break a}}}if((q|0)==4){b=c[d>>2]|0;e=c[a>>2]|0;f=c[b+20>>2]|0;g=c[e+20>>2]|0;h=e;i=b;if((f|0)>=(g|0)){if((f|0)!=(g|0))return;if((c[b+24>>2]|0)>=(c[e+24>>2]|0))return}c[a>>2]=i;c[d>>2]=h;return}else if((q|0)==8){n=a+4|0;i=c[n>>2]|0;m=c[a>>2]|0;f=c[i+20>>2]|0;k=m+20|0;b=c[k>>2]|0;j=i;l=m;if((f|0)>=(b|0))if((f|0)==(b|0))g=(c[i+24>>2]|0)<(c[m+24>>2]|0);else g=0;else g=1;b=c[d>>2]|0;e=c[b+20>>2]|0;h=b;if((e|0)>=(f|0))if((e|0)==(f|0))b=(c[b+24>>2]|0)<(c[i+24>>2]|0);else b=0;else b=1;if(!g){if(!b)return;c[n>>2]=h;c[d>>2]=j;b=c[n>>2]|0;d=c[a>>2]|0;e=c[b+20>>2]|0;f=c[d+20>>2]|0;g=d;h=b;if((e|0)>=(f|0)){if((e|0)!=(f|0))return;if((c[b+24>>2]|0)>=(c[d+24>>2]|0))return}c[a>>2]=h;c[n>>2]=g;return}if(b){c[a>>2]=h;c[d>>2]=l;return}c[a>>2]=j;c[n>>2]=l;e=c[d>>2]|0;f=c[e+20>>2]|0;a=c[k>>2]|0;b=e;if((f|0)>=(a|0)){if((f|0)!=(a|0))return;if((c[e+24>>2]|0)>=(c[m+24>>2]|0))return}c[n>>2]=b;c[d>>2]=l;return}else if((q|0)==26){Ix(a,a+4|0,a+8|0,d)|0;return}else if((q|0)==27){Jx(a,a+4|0,a+8|0,a+12|0,d)|0;return}else if((q|0)==29){i=a+8|0;o=a+4|0;d=c[o>>2]|0;p=c[a>>2]|0;h=c[d+20>>2]|0;k=p+20|0;e=c[k>>2]|0;f=d;m=p;if((h|0)>=(e|0))if((h|0)==(e|0))g=(c[d+24>>2]|0)<(c[p+24>>2]|0);else g=0;else g=1;n=c[i>>2]|0;j=n+20|0;e=c[j>>2]|0;l=n;if((e|0)>=(h|0))if((e|0)==(h|0))e=(c[n+24>>2]|0)<(c[d+24>>2]|0);else e=0;else e=1;do if(!g)if(e){c[o>>2]=l;c[i>>2]=f;g=c[j>>2]|0;e=c[k>>2]|0;if((g|0)>=(e|0)){if((g|0)!=(e|0))break;if((c[n+24>>2]|0)>=(c[p+24>>2]|0))break}c[a>>2]=l;c[o>>2]=m}else{f=l;d=n}else{if(e){c[a>>2]=l;c[i>>2]=m;f=m;d=p;break}c[a>>2]=f;c[o>>2]=m;e=c[j>>2]|0;d=c[k>>2]|0;if((e|0)>=(d|0)){if((e|0)!=(d|0)){f=l;d=n;break}if((c[n+24>>2]|0)>=(c[p+24>>2]|0)){f=l;d=n;break}}c[o>>2]=l;c[i>>2]=m;f=m;d=p}while(0);e=a+12|0;if((e|0)==(b|0))return;m=e;while(1){e=c[m>>2]|0;k=e+20|0;g=c[k>>2]|0;h=c[d+20>>2]|0;l=e;if((g|0)>=(h|0)){if((g|0)==(h|0)?(s=e+24|0,(c[s>>2]|0)<(c[d+24>>2]|0)):0){j=s;q=53}}else{j=e+24|0;q=53}if((q|0)==53){q=0;c[m>>2]=f;g:do if((i|0)==(a|0))d=a;else{e=i;while(1){d=e;e=e+-4|0;f=c[e>>2]|0;g=c[k>>2]|0;h=c[f+20>>2]|0;i=f;if((g|0)>=(h|0)){if((g|0)!=(h|0))break g;if((c[j>>2]|0)>=(c[f+24>>2]|0))break g}c[d>>2]=i;if((e|0)==(a|0)){d=a;break}}}while(0);c[d>>2]=l}e=m+4|0;if((e|0)==(b|0))break;f=c[m>>2]|0;i=m;d=f;m=e}return}else if((q|0)==144)return}function Hx(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;f=c[b>>2]|0;p=b+4|0;o=c[p>>2]|0;if((f|0)==(o|0))return;n=d+16|0;d=f;e=o;while(1){a:do if((d|0)!=(e|0)){l=c[f>>2]|0;m=a[l+11>>0]|0;k=m<<24>>24<0;m=k?c[l+4>>2]|0:m&255;g=(m|0)==0;if(k){if(g)while(1){l=c[d>>2]|0;m=a[l+11>>0]|0;if(!((m<<24>>24<0?c[l+4>>2]|0:m&255)|0)){e=d;break a}d=d+4|0;if((d|0)==(e|0))break a}do{h=c[d>>2]|0;j=a[h+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?c[h+4>>2]|0:j)|0)==(m|0)){i=c[h>>2]|0;g=c[l>>2]|0;if(k)if(!(Kz(i,g,m)|0)){e=d;break a}else break;if((a[g>>0]|0)==(i&255)<<24>>24){i=j;do{i=i+-1|0;h=h+1|0;if(!i){e=d;break a}g=g+1|0}while((a[h>>0]|0)==(a[g>>0]|0))}}while(0);d=d+4|0}while((d|0)!=(e|0))}else{if(g)while(1){l=c[d>>2]|0;m=a[l+11>>0]|0;if(!((m<<24>>24<0?c[l+4>>2]|0:m&255)|0)){e=d;break a}d=d+4|0;if((d|0)==(e|0))break a}do{g=c[d>>2]|0;i=a[g+11>>0]|0;j=i<<24>>24<0;i=i&255;do if(((j?c[g+4>>2]|0:i)|0)==(m|0)){h=c[g>>2]|0;if(j)if(!(Kz(h,l,m)|0)){e=d;break a}else break;if((a[l>>0]|0)==(h&255)<<24>>24){h=l;do{i=i+-1|0;g=g+1|0;if(!i){e=d;break a}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);d=d+4|0}while((d|0)!=(e|0))}}while(0);if((e|0)!=(f|0)){d=c[n>>2]|0;if(!d){d=34;break}oa[c[(c[d>>2]|0)+24>>2]&15](d,c[e>>2]|0,c[f>>2]|0)}f=f+4|0;if((f|0)==(o|0)){d=3;break}d=c[b>>2]|0;e=c[p>>2]|0}if((d|0)==3)return;else if((d|0)==34)U()}function Ix(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;n=c[b>>2]|0;m=c[a>>2]|0;f=n+20|0;h=c[f>>2]|0;q=m+20|0;g=c[q>>2]|0;p=n;o=m;if((h|0)>=(g|0))if((h|0)==(g|0))i=(c[n+24>>2]|0)<(c[m+24>>2]|0);else i=0;else i=1;k=c[d>>2]|0;l=k+20|0;g=c[l>>2]|0;j=k;if((g|0)>=(h|0))if((g|0)==(h|0))g=(c[k+24>>2]|0)<(c[n+24>>2]|0);else g=0;else g=1;do if(!i)if(g){c[b>>2]=j;c[d>>2]=p;g=c[b>>2]|0;h=c[a>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0)){k=n;j=p;m=1;break}if((c[g+24>>2]|0)>=(c[h+24>>2]|0)){k=n;j=p;m=1;break}}c[a>>2]=l;c[b>>2]=k;f=c[d>>2]|0;k=f;j=f;f=f+20|0;m=2}else{f=l;m=0}else{if(g){c[a>>2]=j;c[d>>2]=o;k=m;j=o;f=q;m=1;break}c[a>>2]=p;c[b>>2]=o;g=c[d>>2]|0;f=g+20|0;h=c[f>>2]|0;i=c[q>>2]|0;j=g;if((h|0)>=(i|0)){if((h|0)!=(i|0)){k=g;m=1;break}if((c[g+24>>2]|0)>=(c[m+24>>2]|0)){k=g;m=1;break}}c[b>>2]=j;c[d>>2]=o;k=m;j=o;f=q;m=2}while(0);h=c[e>>2]|0;i=c[h+20>>2]|0;f=c[f>>2]|0;g=h;if((i|0)>=(f|0)){if((i|0)!=(f|0)){b=m;return b|0}if((c[h+24>>2]|0)>=(c[k+24>>2]|0)){b=m;return b|0}}c[d>>2]=g;c[e>>2]=j;l=m+1|0;f=c[d>>2]|0;g=c[b>>2]|0;h=c[f+20>>2]|0;i=c[g+20>>2]|0;j=g;k=f;if((h|0)>=(i|0)){if((h|0)!=(i|0)){b=l;return b|0}if((c[f+24>>2]|0)>=(c[g+24>>2]|0)){b=l;return b|0}}c[b>>2]=k;c[d>>2]=j;l=m+2|0;f=c[b>>2]|0;g=c[a>>2]|0;h=c[f+20>>2]|0;i=c[g+20>>2]|0;j=g;k=f;if((h|0)>=(i|0)){if((h|0)!=(i|0)){b=l;return b|0}if((c[f+24>>2]|0)>=(c[g+24>>2]|0)){b=l;return b|0}}c[a>>2]=k;c[b>>2]=j;b=m+3|0;return b|0}function Jx(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=Ix(a,b,d,e)|0;g=c[f>>2]|0;h=c[e>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0))return m|0;if((c[g+24>>2]|0)>=(c[h+24>>2]|0))return m|0}c[e>>2]=l;c[f>>2]=k;f=m+1|0;k=c[e>>2]|0;l=c[d>>2]|0;g=c[k+20>>2]|0;h=c[l+20>>2]|0;i=l;j=k;if((g|0)>=(h|0)){if((g|0)!=(h|0)){m=f;return m|0}if((c[k+24>>2]|0)>=(c[l+24>>2]|0)){m=f;return m|0}}c[d>>2]=j;c[e>>2]=i;f=m+2|0;g=c[d>>2]|0;h=c[b>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0)){m=f;return m|0}if((c[g+24>>2]|0)>=(c[h+24>>2]|0)){m=f;return m|0}}c[b>>2]=l;c[d>>2]=k;f=m+3|0;g=c[b>>2]|0;h=c[a>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0)){m=f;return m|0}if((c[g+24>>2]|0)>=(c[h+24>>2]|0)){m=f;return m|0}}c[a>>2]=l;c[b>>2]=k;m=m+4|0;return m|0}function Kx(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;switch(b-a>>2|0){case 2:{j=b+-4|0;d=c[j>>2]|0;e=c[a>>2]|0;f=c[d+20>>2]|0;g=c[e+20>>2]|0;h=e;i=d;if((f|0)>=(g|0)){if((f|0)!=(g|0)){a=1;return a|0}if((c[d+24>>2]|0)>=(c[e+24>>2]|0)){a=1;return a|0}}c[a>>2]=i;c[j>>2]=h;a=1;return a|0}case 3:{o=a+4|0;n=b+-4|0;i=c[o>>2]|0;m=c[a>>2]|0;f=c[i+20>>2]|0;k=m+20|0;d=c[k>>2]|0;j=i;l=m;if((f|0)>=(d|0))if((f|0)==(d|0))h=(c[i+24>>2]|0)<(c[m+24>>2]|0);else h=0;else h=1;d=c[n>>2]|0;e=c[d+20>>2]|0;g=d;if((e|0)>=(f|0))if((e|0)==(f|0))d=(c[d+24>>2]|0)<(c[i+24>>2]|0);else d=0;else d=1;if(!h){if(!d){a=1;return a|0}c[o>>2]=g;c[n>>2]=j;d=c[o>>2]|0;e=c[a>>2]|0;f=c[d+20>>2]|0;g=c[e+20>>2]|0;h=e;i=d;if((f|0)>=(g|0)){if((f|0)!=(g|0)){a=1;return a|0}if((c[d+24>>2]|0)>=(c[e+24>>2]|0)){a=1;return a|0}}c[a>>2]=i;c[o>>2]=h;a=1;return a|0}if(d){c[a>>2]=g;c[n>>2]=l;a=1;return a|0}c[a>>2]=j;c[o>>2]=l;f=c[n>>2]|0;g=c[f+20>>2]|0;d=c[k>>2]|0;e=f;if((g|0)>=(d|0)){if((g|0)!=(d|0)){a=1;return a|0}if((c[f+24>>2]|0)>=(c[m+24>>2]|0)){a=1;return a|0}}c[o>>2]=e;c[n>>2]=l;a=1;return a|0}case 4:{Ix(a,a+4|0,a+8|0,b+-4|0)|0;a=1;return a|0}case 5:{Jx(a,a+4|0,a+8|0,a+12|0,b+-4|0)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;o=a+4|0;d=c[o>>2]|0;p=c[a>>2]|0;h=c[d+20>>2]|0;k=p+20|0;f=c[k>>2]|0;g=d;m=p;if((h|0)>=(f|0))if((h|0)==(f|0))i=(c[d+24>>2]|0)<(c[p+24>>2]|0);else i=0;else i=1;n=c[e>>2]|0;j=n+20|0;f=c[j>>2]|0;l=n;if((f|0)>=(h|0))if((f|0)==(h|0))f=(c[n+24>>2]|0)<(c[d+24>>2]|0);else f=0;else f=1;do if(!i)if(f){c[o>>2]=l;c[e>>2]=g;h=c[j>>2]|0;f=c[k>>2]|0;if((h|0)>=(f|0)){if((h|0)!=(f|0))break;if((c[n+24>>2]|0)>=(c[p+24>>2]|0))break}c[a>>2]=l;c[o>>2]=m}else{g=l;d=n}else{if(f){c[a>>2]=l;c[e>>2]=m;g=m;d=p;break}c[a>>2]=g;c[o>>2]=m;f=c[j>>2]|0;d=c[k>>2]|0;if((f|0)>=(d|0)){if((f|0)!=(d|0)){g=l;d=n;break}if((c[n+24>>2]|0)>=(c[p+24>>2]|0)){g=l;d=n;break}}c[o>>2]=l;c[e>>2]=m;g=m;d=p}while(0);f=a+12|0;if((f|0)==(b|0)){a=1;return a|0}k=d;d=0;while(1){h=c[f>>2]|0;m=h+20|0;i=c[m>>2]|0;j=c[k+20>>2]|0;n=h;if((i|0)>=(j|0)){if((i|0)==(j|0)?(q=h+24|0,(c[q>>2]|0)<(c[k+24>>2]|0)):0){l=q;r=50}}else{l=h+24|0;r=50}if((r|0)==50){r=0;c[f>>2]=g;a:do if((e|0)!=(a|0)){g=e;while(1){e=g;g=g+-4|0;h=c[g>>2]|0;i=c[m>>2]|0;j=c[h+20>>2]|0;k=h;if((i|0)>=(j|0)){if((i|0)!=(j|0))break a;if((c[l>>2]|0)>=(c[h+24>>2]|0))break a}c[e>>2]=k;if((g|0)==(a|0)){e=a;break}}}while(0);c[e>>2]=n;d=d+1|0;if((d|0)==8)break}e=f+4|0;if((e|0)==(b|0)){d=1;r=60;break}g=c[f>>2]|0;p=f;k=g;f=e;e=p}if((r|0)==60)return d|0;a=(f+4|0)==(b|0);return a|0}}return 0}function Lx(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function Mx(a,b){a=a|0;b=b|0;do if((c[b+20>>2]|0)==1){a=Fg(a,b+24|0)|0;if(!a){b=-1;return b|0}else{a=a+40|0;break}}else a=b+24|0;while(0);b=c[a>>2]|0;return b|0}function Nx(a,b){a=a|0;b=b|0;var d=0;d=a<<24>>24;a=d+-48|0;do if(a>>>0>=10){if((d+-97|0)>>>0<6){a=d+-87|0;break}if((d+-65|0)>>>0<6){a=d+-55|0;break}else{b=1;return b|0}}while(0);c[b>>2]=a;b=0;return b|0}function Ox(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((b|0)==(d|0)){e=1;return e|0}f=a[b>>0]|0;a:do if((f<<24>>24==48?(g=b+1|0,g>>>0<d>>>0):0)?(a[g>>0]|0)==120:0){f=b+2|0;if((f|0)==(d|0)){e=1;return e|0}if(f>>>0<d>>>0){h=0;i=0;b:while(1){g=a[f>>0]|0;c:do if(g<<24>>24!=95){b=g<<24>>24;g=b+-48|0;do if(g>>>0>=10)if((b+-97|0)>>>0>=6)if((b+-65|0)>>>0<6){g=b+-55|0;break}else{b=i;g=1;break c}else{g=b+-87|0;break}while(0);if(!(h>>>0>268435455|(h|0)==268435455&i>>>0>4294967295))if((i|0)==-1&(h|0)==268435455&g>>>0>15){b=-1;h=268435455;g=1}else{b=gC(i|0,h|0,4)|0;b=$B(b|0,z()|0,g|0,0)|0;h=z()|0;g=0}else{b=i;g=1}}else{b=i;g=4}while(0);switch(g&7){case 4:case 0:break;default:break b}f=f+1|0;if(f>>>0<d>>>0)i=b;else{g=b;break a}}if(!g)g=b;else{e=1;return e|0}}else{g=0;h=0}}else j=19;while(0);d:do if((j|0)==19)if(b>>>0<d>>>0){h=0;g=0;while(1){if(f<<24>>24!=95){f=(f<<24>>24)+-48|0;if(h>>>0>429496729|(h|0)==429496729&g>>>0>2576980377|f>>>0>9){f=1;j=29;break}if((g|0)==-1717986919&(h|0)==429496729&f>>>0>5){f=1;j=29;break}g=_B(g|0,h|0,10,0)|0;g=$B(g|0,z()|0,f|0,0)|0;h=z()|0}b=b+1|0;if(b>>>0>=d>>>0){f=b;break d}f=a[b>>0]|0}if((j|0)==29)return f|0}else{g=0;h=0;f=b}while(0);if((f|0)!=(d|0)){e=1;return e|0}c[e>>2]=g;c[e+4>>2]=h;e=0;return e|0}function Px(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a[b>>0]|0;switch(f<<24>>24){case 43:case 45:{g=f<<24>>24==45;f=b+1|0;break}default:{g=0;f=b}}b=h;c[b>>2]=0;c[b+4>>2]=0;d=Ox(f,d,h)|0;f=h;b=c[f>>2]|0;f=c[f+4>>2]|0;do if(g)if(f>>>0>2147483648|(f|0)==-2147483648&b>>>0>0){e=1;aa=i;return e|0}else{b=aC(0,0,b|0,f|0)|0;f=z()|0;c[h>>2]=b;c[h+4>>2]=f;break}while(0);c[e>>2]=b;c[e+4>>2]=f;e=d;aa=i;return e|0}function Qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a[b>>0]|0;switch(f<<24>>24){case 43:case 45:{g=f<<24>>24==45;f=b+1|0;break}default:{g=0;f=b}}if((Ox(f,d,h)|0)==1){e=1;aa=i;return e|0}b=h;f=c[b>>2]|0;b=c[b+4>>2]|0;do if(g)if(b>>>0>0|(b|0)==0&f>>>0>128){e=1;aa=i;return e|0}else{f=aC(256,0,f|0,b|0)|0;g=z()|0;c[h>>2]=f;c[h+4>>2]=g;f=f&255;break}else if(b>>>0>0|(b|0)==0&f>>>0>255){e=1;aa=i;return e|0}else f=f&255;while(0);a[e>>0]=f;e=0;aa=i;return e|0}function Rx(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a[d>>0]|0;switch(g<<24>>24){case 43:case 45:{h=g<<24>>24==45;g=d+1|0;break}default:{h=0;g=d}}if((Ox(g,e,i)|0)==1){f=1;aa=j;return f|0}d=i;g=c[d>>2]|0;d=c[d+4>>2]|0;do if(h)if(d>>>0>0|(d|0)==0&g>>>0>32768){f=1;aa=j;return f|0}else{g=aC(65536,0,g|0,d|0)|0;h=z()|0;c[i>>2]=g;c[i+4>>2]=h;g=g&65535;break}else if(d>>>0>0|(d|0)==0&g>>>0>65535){f=1;aa=j;return f|0}else g=g&65535;while(0);b[f>>1]=g;f=0;aa=j;return f|0}function Sx(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=aa;aa=aa+16|0;i=j;g=a[b>>0]|0;switch(g<<24>>24){case 43:case 45:{if(!f)b=1;else{f=g<<24>>24==45;b=b+1|0;h=4}break}default:{f=0;h=4}}do if((h|0)==4)if((Ox(b,d,i)|0)==1)b=1;else{g=i;b=c[g>>2]|0;g=c[g+4>>2]|0;if(!f){if(g>>>0>0|(g|0)==0&b>>>0>4294967295){b=1;break}}else{if(g>>>0>0|(g|0)==0&b>>>0>2147483648){b=1;break}b=aC(0,1,b|0,g|0)|0;h=z()|0;c[i>>2]=b;c[i+4>>2]=h}c[e>>2]=b;b=0}while(0);aa=j;return b|0}function Tx(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;switch(b|0){case 1:case 0:{f=Ux(d,e,f)|0;return f|0}case 2:{switch(a[d>>0]|0){case 45:{m=-2147483648;d=d+1|0;break}case 43:{m=0;d=d+1|0;break}default:m=0}d=d+2|0;if(d>>>0<e>>>0){i=0;j=0;k=0;a:while(1){b=a[d>>0]|0;b:do switch(b<<24>>24){case 95:{h=i;g=j;b=k;break}case 46:{h=1;g=j;b=k;l=16;break}default:{b=b<<24>>24;g=b+-48|0;do if(g>>>0>=10)if((b+-97|0)>>>0>=6)if((b+-65|0)>>>0<6){b=b+-55|0;break}else{h=1;break a}else{b=b+-87|0;break}else b=g;while(0);if((32-(w(j|0)|0)|0)<25){h=i;g=b+(j<<4)|0;b=i?k+-4|0:k;l=16;break b}else{h=i;g=j;b=i?k:k+4|0;l=16;break b}}}while(0);if((l|0)==16)l=0;d=d+1|0;if(d>>>0<e>>>0){i=h;j=g;k=b}else{h=0;j=g;k=b;break}}if(j|0){if(h){b=d+1|0;switch(a[b>>0]|0){case 45:{i=1;b=d+2|0;h=0-k|0;break}case 43:{i=0;b=d+2|0;h=k;break}default:{i=0;h=0}}c:do if(b>>>0<e>>>0){d=0;do{g=a[b>>0]|0;if(g<<24>>24!=95){d=(d*10|0)+-48+(g<<24>>24)|0;if((d+h|0)>=128)break c}b=b+1|0}while(b>>>0<e>>>0)}else d=0;while(0);d=i?0-d|0:d}else d=0;g=32-(w(j|0)|0)|0;b=g+k+d|0;d=b+-1|0;if((d|0)>=-126){if((g|0)>24){e=g+-24|0;e=(((1<<e&j|0)==0?0:1<<g+-25)+j|0)>>>e;b=e>>>0>16777215?b:d;d=e}else{b=d;d=j<<((g|0)==24?0:24-g|0)}if((b|0)>127){f=1;return f|0}c[f>>2]=d&8388607|m|(b<<23)+1065353216;f=0;return f|0}if((g|0)>23){d=g+-23|0;d=(((1<<d&j|0)==0?0:1<<g+-24)+j|0)>>>d}else d=j<<((g|0)==23?0:23-g|0);b=-126-b|0;if((b|0)<23){if(b)d=(((d&1<<b|0)==0?0:1<<b+-1)+d|0)>>>b&8388607;if(d|0){c[f>>2]=d|m;f=0;return f|0}}c[f>>2]=m;f=0;return f|0}}c[f>>2]=m;f=0;return f|0}case 3:{c[f>>2]=((a[d>>0]|0)==45&1)<<31|2139095040;f=0;return f|0}case 4:{switch(a[d>>0]|0){case 45:{i=-8388608;d=d+1|0;break}case 43:{i=2139095040;d=d+1|0;break}default:i=2139095040}do if((d+3|0)!=(e|0)){d=d+6|0;if(d>>>0>=e>>>0){f=1;return f|0}h=0;d:while(1){g=a[d>>0]|0;b=g+-48|0;do if(b>>>0>=10)if((g+-97|0)>>>0>=6)if((g+-65|0)>>>0<6){b=g+-55|0;break}else{d=1;l=61;break d}else{b=g+-87|0;break}while(0);h=b+(h<<4)|0;d=d+1|0;if(h>>>0>8388607){d=1;l=61;break}if(d>>>0>=e>>>0){l=58;break}}if((l|0)==58){if(!h)d=1;else{d=h;break}return d|0}else if((l|0)==61)return d|0}else d=4194304;while(0);c[f>>2]=d|i;f=0;return f|0}default:{}}return 0}function Ux(b,d,e){b=b|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;j=aa;aa=aa+((1*(1-b+d|0)|0)+15&-16)|0;if((b|0)==(d|0))b=j;else{i=b;b=j;do{h=a[i>>0]|0;if(h<<24>>24!=95){a[b>>0]=h;b=b+1|0}i=i+1|0}while((i|0)!=(d|0))}a[b>>0]=0;g=+HA(j,k);if(g==-s|(g==s?1:(c[k>>2]|0)!=(b|0))){e=1;aa=l;return e|0}f[e>>2]=g;e=0;aa=l;return e|0}function Vx(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;switch(b|0){case 1:case 0:{f=Wx(d,e,f)|0;return f|0}case 2:{switch(a[d>>0]|0){case 45:{n=0;o=-2147483648;b=d+1|0;break}case 43:{n=0;o=0;b=d+1|0;break}default:{n=0;o=0;b=d}}b=b+2|0;if(b>>>0<e>>>0){j=0;l=0;k=0;h=0;a:while(1){d=a[b>>0]|0;b:do switch(d<<24>>24){case 95:{d=j;g=l;i=k;break}case 46:{d=j;g=l;i=1;m=16;break}default:{g=d<<24>>24;d=g+-48|0;do if(d>>>0>=10)if((g+-97|0)>>>0>=6)if((g+-65|0)>>>0<6){d=g+-55|0;break}else{k=j;d=1;break a}else{d=g+-87|0;break}while(0);m=iC(j|0,l|0,0)|0;z()|0;if((64-m|0)<54){g=gC(j|0,l|0,4)|0;d=$B(g|0,z()|0,d|0,0)|0;g=z()|0;i=k;h=k?h+-4|0:h;m=16;break b}else{d=j;g=l;i=k;h=k?h:h+4|0;m=16;break b}}}while(0);if((m|0)==16)m=0;b=b+1|0;if(b>>>0<e>>>0){j=d;l=g;k=i}else{k=d;l=g;d=0;break}}if(!((k|0)==0&(l|0)==0)){if(d){d=b+1|0;switch(a[d>>0]|0){case 45:{j=1;d=b+2|0;i=0-h|0;break}case 43:{j=0;d=b+2|0;i=h;break}default:{j=0;i=0}}c:do if(d>>>0<e>>>0){b=0;do{g=a[d>>0]|0;if(g<<24>>24!=95){b=(b*10|0)+-48+(g<<24>>24)|0;if((b+i|0)>=1024)break c}d=d+1|0}while(d>>>0<e>>>0)}else b=0;while(0);b=j?0-b|0:b}else b=0;d=iC(k|0,l|0,0)|0;z()|0;d=64-d|0;h=d+h+b|0;b=h+-1|0;if((b|0)>=-1022){if((d|0)>53){e=d+-53|0;g=gC(1,0,e|0)|0;g=(g&k|0)==0&((z()|0)&l|0)==0;d=gC(1,0,d+-54|0)|0;m=z()|0;m=$B((g?0:d)|0,(g?0:m)|0,k|0,l|0)|0;e=fC(m|0,z()|0,e|0)|0;m=z()|0;d=m;g=e;b=m>>>0>2097151|(m|0)==2097151&e>>>0>4294967295?h:b}else{g=gC(k|0,l|0,((d|0)==53?0:53-d|0)|0)|0;d=z()|0}if((b|0)>1023){f=1;return f|0}e=gC(b+1023|0,0,52)|0;o=d&1048575|o|(z()|0);c[f>>2]=g|n|e;c[f+4>>2]=o;f=0;return f|0}if((d|0)>52){b=d+-52|0;e=gC(1,0,b|0)|0;e=(e&k|0)==0&((z()|0)&l|0)==0;m=gC(1,0,d+-53|0)|0;d=z()|0;d=$B((e?0:m)|0,(e?0:d)|0,k|0,l|0)|0;d=fC(d|0,z()|0,b|0)|0;b=z()|0}else{d=gC(k|0,l|0,((d|0)==52?0:52-d|0)|0)|0;b=z()|0}g=-1022-h|0;if((g|0)<52){if(g){m=gC(1,0,g|0)|0;m=(d&m|0)==0&(b&(z()|0)|0)==0;l=gC(1,0,g+-1|0)|0;e=z()|0;d=$B((m?0:l)|0,(m?0:e)|0,d|0,b|0)|0;d=fC(d|0,z()|0,g|0)|0;b=(z()|0)&1048575}if(!((d|0)==0&(b|0)==0)){c[f>>2]=d|n;c[f+4>>2]=b|o;f=0;return f|0}}c[f>>2]=n;c[f+4>>2]=o;f=0;return f|0}}c[f>>2]=n;c[f+4>>2]=o;f=0;return f|0}case 3:{n=gC((a[d>>0]|0)==45|0,0,63)|0;o=z()|0|2146435072;c[f>>2]=n;c[f+4>>2]=o;f=0;return f|0}case 4:{switch(a[d>>0]|0){case 45:{j=0;k=-1048576;b=d+1|0;break}case 43:{j=0;k=2146435072;b=d+1|0;break}default:{j=0;k=2146435072;b=d}}do if((b+3|0)!=(e|0)){g=b+6|0;if(g>>>0>=e>>>0){f=1;return f|0}d=0;b=0;d:while(1){i=a[g>>0]|0;h=i+-48|0;do if(h>>>0>=10)if((i+-97|0)>>>0>=6)if((i+-65|0)>>>0<6){h=i+-55|0;break}else{b=1;m=61;break d}else{h=i+-87|0;break}while(0);o=gC(d|0,b|0,4)|0;d=$B(o|0,z()|0,h|0,0)|0;b=z()|0;g=g+1|0;if(b>>>0>1048575|(b|0)==1048575&d>>>0>4294967295){b=1;m=61;break}if(g>>>0>=e>>>0){m=58;break}}if((m|0)==58){if((d|0)==0&(b|0)==0)b=1;else break;return b|0}else if((m|0)==61)return b|0}else{d=0;b=524288}while(0);c[f>>2]=d|j;c[f+4>>2]=b|k;f=0;return f|0}default:{}}return 0}function Wx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;j=aa;aa=aa+((1*(1-b+d|0)|0)+15&-16)|0;if((b|0)==(d|0))b=j;else{i=b;b=j;do{h=a[i>>0]|0;if(h<<24>>24!=95){a[b>>0]=h;b=b+1|0}i=i+1|0}while((i|0)!=(d|0))}a[b>>0]=0;f=+JA(j,k);if(f==-s|(f==s?1:(c[k>>2]|0)!=(b|0))){e=1;aa=l;return e|0}g[e>>3]=f;e=0;aa=l;return e|0}function Xx(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=aa;aa=aa+32|0;j=k;d=c>>>23&255;f=d+-127|0;e=c&8388607;if((c|0)<0){a[j>>0]=45;h=j+1|0}else h=j;do if((f|0)==128){if(!e){a[h>>0]=105;a[h+1>>0]=110;a[h+2>>0]=102;a[h+3>>0]=0;c=h+3|0;break}a[h>>0]=110;a[h+1>>0]=97;a[h+2>>0]=110;a[h+3>>0]=0;c=h+3|0;if((e|0)!=4194304){a[c>>0]=58;a[c+1>>0]=48;a[c+2>>0]=120;a[c+3>>0]=0;f=8;while(1){e=e<<4;d=f+-1|0;if(e>>>0>=268435456)break;else f=d}c=h+6|0;if(d){while(1){a[c>>0]=a[17008+(e>>>28)>>0]|0;d=d+-1|0;if(!d)break;else{c=c+1|0;e=e<<4}}c=h+(f+5)|0}}}else{g=(d|e|0)==0;a[h>>0]=48;a[h+1>>0]=120;e=h+3|0;a[h+2>>0]=g?48:49;c=c<<9;do if(c){if(!d){l=w(c|0)|0;c=c<<l+1;f=f-l|0;d=h+4|0;a[e>>0]=46;if(l>>>0>30|(c|0)==0){e=d;break}}else{a[e>>0]=46;d=h+4|0}while(1){e=d+1|0;a[d>>0]=a[17008+(c>>>28)>>0]|0;c=c<<4;if(!c)break;else d=e}}while(0);d=e+1|0;a[e>>0]=112;if(g){a[d>>0]=a[328861]|0;a[d+1>>0]=a[328862]|0;a[d+2>>0]=a[328863]|0;c=e+3|0;break}c=e+2|0;if((f|0)<0){a[d>>0]=45;d=0-f|0}else{a[d>>0]=43;d=f}if((d|0)<=999)if((d|0)<=99){if((d|0)>9)i=28}else i=26;else{a[c>>0]=49;c=e+3|0;i=26}if((i|0)==26){a[c>>0]=(((d>>>0)/100|0)>>>0)%10|0|48;c=c+1|0;i=28}if((i|0)==28){a[c>>0]=(((d>>>0)/10|0)>>>0)%10|0|48;c=c+1|0}a[c>>0]=((d|0)%10|0)+48;c=c+1|0}while(0);l=c-j|0;l=l>>>0<127?l:127;jC(b|0,j|0,l|0)|0;a[b+l>>0]=0;aa=k;return}function Yx(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,l=0,m=0,n=0;n=aa;aa=aa+48|0;m=n;e=fC(c|0,d|0,52)|0;z()|0;e=e&2047;h=e+-1023|0;f=d&1048575;if((d|0)<0){a[m>>0]=45;k=m+1|0}else k=m;g=(c|0)==0&(f|0)==0;do if((h|0)==1024){if(g){a[k>>0]=105;a[k+1>>0]=110;a[k+2>>0]=102;a[k+3>>0]=0;e=k+3|0;break}a[k>>0]=110;a[k+1>>0]=97;a[k+2>>0]=110;a[k+3>>0]=0;e=k+3|0;if(!((c|0)==0&(f|0)==524288)){a[e>>0]=58;a[e+1>>0]=48;a[e+2>>0]=120;a[e+3>>0]=0;h=16;while(1){c=gC(c|0,f|0,4)|0;f=z()|0;g=h+-1|0;if(!(f>>>0<268435456|(f|0)==268435456&c>>>0<0))break;else h=g}e=k+6|0;if(g){while(1){l=fC(c|0,f|0,60)|0;z()|0;a[e>>0]=a[17008+l>>0]|0;c=gC(c|0,f|0,4)|0;f=z()|0;g=g+-1|0;if(!g)break;else e=e+1|0}e=k+(h+5)|0}}}else{i=(e|0)==0;j=g&i;a[k>>0]=48;a[k+1>>0]=120;f=k+3|0;a[k+2>>0]=j?48:49;e=gC(c|0,d|0,12)|0;c=z()|0;do if((e|0)==0&(c|0)==0)g=h;else{if(i){i=iC(e|0,c|0,0)|0;g=$B(i|0,z()|0,1,0)|0;z()|0;g=gC(e|0,c|0,g|0)|0;c=z()|0;h=h-i|0;e=k+4|0;a[f>>0]=46;if(i>>>0>62|(g|0)==0&(c|0)==0){g=h;f=e;break}}else{a[f>>0]=46;g=e;e=k+4|0}while(1){k=fC(g|0,c|0,60)|0;z()|0;f=e+1|0;a[e>>0]=a[17008+k>>0]|0;g=gC(g|0,c|0,4)|0;c=z()|0;if((g|0)==0&(c|0)==0){g=h;break}else e=f}}while(0);c=f+1|0;a[f>>0]=112;if(j){a[c>>0]=a[328861]|0;a[c+1>>0]=a[328862]|0;a[c+2>>0]=a[328863]|0;e=f+3|0;break}e=f+2|0;if((g|0)<0){a[c>>0]=45;c=0-g|0}else{a[c>>0]=43;c=g}if((c|0)<=999)if((c|0)<=99){if((c|0)>9)l=28}else l=26;else{a[e>>0]=49;e=f+3|0;l=26}if((l|0)==26){a[e>>0]=(((c>>>0)/100|0)>>>0)%10|0|48;e=e+1|0;l=28}if((l|0)==28){a[e>>0]=(((c>>>0)/10|0)>>>0)%10|0|48;e=e+1|0}a[e>>0]=((c|0)%10|0)+48;e=e+1|0}while(0);l=e-m|0;l=l>>>0<127?l:127;jC(b|0,m|0,l|0)|0;a[b+l>>0]=0;aa=n;return}function Zx(a){a=a|0;if((a|0)>=110){a=328864;return a|0}a=c[279184+(a<<2)>>2]|0;return a|0}function _x(a,b,d){a=a|0;b=b|0;d=d|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]=d;return}function $x(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=d;c[a+24>>2]=e;return}function ay(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=d;VA(a+24|0,e);return}function by(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=d;c[a+24>>2]=e;return}function cy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=d;c[a+24>>2]=c[e>>2];VA(a+28|0,e+4|0);return}function dy(a,b){a=a|0;b=b|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;ey(a,b)|0;return}function ey(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+20|0;e=c[g>>2]|0;if((e+-43|0)>>>0<3){e=b+28|0;if((a[e+11>>0]|0)<0)SA(c[e>>2]|0)}else if((e+-46|0)>>>0>57&(e+-104|0)>>>0<5?(f=b+24|0,(a[f+11>>0]|0)<0):0)SA(c[f>>2]|0);c[g>>2]=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];e=c[d+20>>2]|0;c[g>>2]=e;if((e+-43|0)>>>0<3){c[b+24>>2]=c[d+24>>2];VA(b+28|0,d+28|0);return b|0}if((e+-46|0)>>>0<58){c[b+24>>2]=c[d+24>>2];return b|0}if((e+-104|0)>>>0<5){VA(b+24|0,d+24|0);return b|0}if((e|0)!=109)return b|0;c[b+24>>2]=c[d+24>>2];return b|0}function fy(b){b=b|0;var d=0,e=0,f=0;f=b+20|0;d=c[f>>2]|0;if((d+-43|0)>>>0<3){d=b+28|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0)}else if((d+-46|0)>>>0>57&(d+-104|0)>>>0<5?(e=b+24|0,(a[e+11>>0]|0)<0):0)SA(c[e>>2]|0);c[f>>2]=0;return}function gy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;e=h;f=c[d+20>>2]|0;if(f>>>0<43){e=c[279184+(f<<2)>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Lz(e)|0;if(d>>>0>4294967279)TA();if(d>>>0<11){a[b+11>>0]=d;if(d)g=7}else{f=d+16&-16;g=RA(f)|0;c[b>>2]=g;c[b+8>>2]=f|-2147483648;c[b+4>>2]=d;b=g;g=7}if((g|0)==7)jC(b|0,e|0,d|0)|0;a[b+d>>0]=0;aa=h;return}if((f+-43|0)>>>0<3){VA(b,d+28|0);aa=h;return}if((f+-46|0)>>>0<58){em(e,c[d+24>>2]|0);e=c[e>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Lz(e)|0;if(d>>>0>4294967279)TA();if(d>>>0<11){a[b+11>>0]=d;if(d)g=17}else{f=d+16&-16;g=RA(f)|0;c[b>>2]=g;c[b+8>>2]=f|-2147483648;c[b+4>>2]=d;b=g;g=17}if((g|0)==17)jC(b|0,e|0,d|0)|0;a[b+d>>0]=0;aa=h;return}e=d+24|0;if((f+-104|0)>>>0<5){VA(b,e);aa=h;return}do switch(c[e>>2]|0){case -1:{e=329758;break}case -2:{e=329754;break}case -3:{e=329750;break}case -4:{e=329746;break}case -5:{e=329741;break}case -16:{e=329733;break}case -32:{e=329728;break}case -24:{e=329717;break}case -64:{e=329712;break}case 0:{e=329708;break}case -17:{e=329701;break}default:e=329688}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Lz(e)|0;if(d>>>0>4294967279)TA();if(d>>>0<11){a[b+11>>0]=d;if(d)g=38}else{f=d+16&-16;g=RA(f)|0;c[b>>2]=g;c[b+8>>2]=f|-2147483648;c[b+4>>2]=d;b=g;g=38}if((g|0)==38)jC(b|0,e|0,d|0)|0;a[b+d>>0]=0;aa=h;return}function hy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+32|0;f=g+12|0;e=g;gy(f,d);d=f+11|0;h=a[d>>0]|0;if((h<<24>>24<0?c[f+4>>2]|0:h&255)>>>0<=80){c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;aa=g;return}aB(e,f,0,77);mB(e,329606)|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;if((a[d>>0]|0)>=0){aa=g;return}SA(c[f>>2]|0);aa=g;return}function iy(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;c[b>>2]=d;i=b+4|0;c[i>>2]=0;m=b+8|0;c[m>>2]=0;h=b+12|0;c[h>>2]=0;k=e+4|0;d=(c[k>>2]|0)-(c[e>>2]|0)|0;j=d>>2;if(d|0){if(j>>>0>1073741823)yB();l=RA(d)|0;c[m>>2]=l;c[i>>2]=l;c[h>>2]=l+(j<<2);h=c[e>>2]|0;d=(c[k>>2]|0)-h|0;if((d|0)>0){jC(l|0,h|0,d|0)|0;c[m>>2]=l+(d>>>2<<2)}}i=b+16|0;c[i>>2]=0;e=b+20|0;c[e>>2]=0;h=b+24|0;c[h>>2]=0;k=f+4|0;d=(c[k>>2]|0)-(c[f>>2]|0)|0;j=d>>2;if(!d){f=b+28|0;c[f>>2]=g;b=b+32|0;a[b>>0]=0;return}if(j>>>0>1073741823)yB();l=RA(d)|0;c[e>>2]=l;c[i>>2]=l;c[h>>2]=l+(j<<2);h=c[f>>2]|0;d=(c[k>>2]|0)-h|0;if((d|0)<=0){f=b+28|0;c[f>>2]=g;b=b+32|0;a[b>>0]=0;return}jC(l|0,h|0,d|0)|0;c[e>>2]=l+(d>>>2<<2);f=b+28|0;c[f>>2]=g;b=b+32|0;a[b>>0]=0;return}function jy(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=aa;aa=aa+176|0;i=j+160|0;f=j+144|0;h=j+128|0;e=j;g=a+16|0;if(!(c[g>>2]|0)){aa=j;return}c[f>>2]=d;c[h>>2]=c[f>>2];a=(Mz(e,128,b,f)|0)+1|0;if(a>>>0>128){e=aa;aa=aa+((1*a|0)+15&-16)|0;Mz(e,a,b,h)|0}c[i>>2]=e;e=c[g>>2]|0;if(!e)U();na[c[(c[e>>2]|0)+24>>2]&31](e,i);aa=j;return} +function Ot(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,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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,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,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0;wf=aa;aa=aa+2432|0;Oa=wf+2392|0;Pa=wf+2368|0;jf=wf+2360|0;hf=wf+2352|0;gf=wf+2344|0;ff=wf+2336|0;ef=wf+2328|0;cf=wf+2320|0;bf=wf+2312|0;af=wf+2304|0;$e=wf+2296|0;_e=wf+2280|0;Ze=wf+2272|0;Ye=wf+2264|0;We=wf+2256|0;Ve=wf+2248|0;Ue=wf+2240|0;Te=wf+2232|0;Se=wf+2224|0;Re=wf+2216|0;Qe=wf+2208|0;Pe=wf+2200|0;Oe=wf+2192|0;Me=wf+2184|0;Le=wf+2176|0;Ke=wf+2168|0;Je=wf+2160|0;Ie=wf+2152|0;He=wf+2144|0;Ge=wf+2128|0;Fe=wf+2120|0;Ee=wf+2112|0;De=wf+2104|0;Ce=wf+2096|0;Be=wf+2088|0;ze=wf+2080|0;ye=wf+2072|0;xe=wf+2064|0;we=wf+2056|0;ve=wf+2048|0;ue=wf+2032|0;te=wf+2024|0;se=wf+2016|0;re=wf+2008|0;qe=wf+2e3|0;pe=wf+1992|0;ne=wf+1976|0;me=wf+1968|0;le=wf+1960|0;ke=wf+1952|0;je=wf+1944|0;ie=wf+1936|0;he=wf+1928|0;ge=wf+1920|0;fe=wf+1904|0;ee=wf+1896|0;de=wf+1888|0;be=wf+1880|0;ae=wf+1872|0;$d=wf+1864|0;_d=wf+1856|0;Zd=wf+1848|0;Yd=wf+1840|0;Xd=wf+1832|0;Wd=wf+1816|0;Vd=wf+1808|0;Ud=wf+1800|0;Td=wf+1792|0;Sd=wf+1784|0;Qd=wf+1776|0;Pd=wf+1768|0;Od=wf+1760|0;Nd=wf+1752|0;Md=wf+1744|0;Ld=wf+1736|0;Kd=wf+1728|0;Jd=wf+1720|0;Hd=wf+1712|0;Gd=wf+1704|0;Fd=wf+1696|0;Ed=wf+1688|0;Dd=wf+1680|0;Cd=wf+1672|0;Bd=wf+1656|0;Ad=wf+1648|0;zd=wf+1640|0;yd=wf+1632|0;xd=wf+1624|0;wd=wf+1616|0;vd=wf+1608|0;ud=wf+1600|0;td=wf+1592|0;sd=wf+1576|0;rd=wf+1568|0;qd=wf+1560|0;od=wf+1552|0;nd=wf+1544|0;md=wf+1536|0;ld=wf+1528|0;kd=wf+1512|0;jd=wf+1504|0;id=wf+1496|0;hd=wf+1488|0;fd=wf+1480|0;ed=wf+1472|0;dd=wf+1464|0;bd=wf+1448|0;ad=wf+1440|0;$c=wf+1432|0;_c=wf+1424|0;Zc=wf+1416|0;Yc=wf+1408|0;Xc=wf+1400|0;Wc=wf+1392|0;Uc=wf+1376|0;Tc=wf+1368|0;Sc=wf+1360|0;Rc=wf+1352|0;Qc=wf+1344|0;Pc=wf+1336|0;Oc=wf+1328|0;Nc=wf+1320|0;Lc=wf+1312|0;Kc=wf+1304|0;Jc=wf+1296|0;Ic=wf+1288|0;Hc=wf+1280|0;Gc=wf+1272|0;Fc=wf+1264|0;Ec=wf+1256|0;Dc=wf+1248|0;Bc=wf+1240|0;Ac=wf+1232|0;zc=wf+1216|0;yc=wf+1208|0;xc=wf+1200|0;wc=wf+1192|0;vc=wf+1184|0;tc=wf+1176|0;sc=wf+1168|0;rc=wf+1160|0;qc=wf+1152|0;pc=wf+1136|0;oc=wf+1128|0;nc=wf+1120|0;mc=wf+1112|0;lc=wf+1104|0;jc=wf+1088|0;ic=wf+1080|0;hc=wf+1072|0;gc=wf+1064|0;fc=wf+1056|0;dc=wf+1040|0;cc=wf+1032|0;bc=wf+1024|0;ac=wf+1016|0;$b=wf+1008|0;_b=wf+1e3|0;Zb=wf+992|0;Yb=wf+984|0;Wb=wf+976|0;Vb=wf+968|0;Ub=wf+960|0;Tb=wf+952|0;Sb=wf+944|0;Rb=wf+936|0;Qb=wf+928|0;Pb=wf+920|0;Ob=wf+912|0;Nb=wf+904|0;Mb=wf+896|0;Lb=wf+888|0;Jb=wf+880|0;Ib=wf+872|0;Hb=wf+864|0;Gb=wf+856|0;Fb=wf+848|0;Eb=wf+840|0;Db=wf+832|0;Cb=wf+824|0;Ab=wf+816|0;zb=wf+808|0;yb=wf+800|0;xb=wf+792|0;wb=wf+784|0;vb=wf+776|0;ub=wf+768|0;sb=wf+760|0;rb=wf+752|0;qb=wf+744|0;pb=wf+736|0;ob=wf+728|0;nb=wf+720|0;mb=wf+712|0;lb=wf+704|0;jb=wf+696|0;ib=wf+680|0;hb=wf+672|0;gb=wf+664|0;fb=wf+656|0;eb=wf+648|0;db=wf+640|0;cb=wf+632|0;bb=wf+624|0;ab=wf+616|0;$a=wf+608|0;Za=wf+600|0;Ya=wf+592|0;Xa=wf+584|0;Wa=wf+576|0;Va=wf+568|0;Ua=wf+560|0;Ta=wf+552|0;Sa=wf+544|0;vf=wf+536|0;uf=wf+528|0;tf=wf+520|0;rf=wf+504|0;qf=wf+496|0;pf=wf+488|0;of=wf+480|0;nf=wf+472|0;mf=wf+464|0;kf=wf+448|0;df=wf+440|0;Xe=wf+432|0;Ne=wf+424|0;Ae=wf+416|0;oe=wf+408|0;ce=wf+400|0;Rd=wf+392|0;Id=wf+384|0;pd=wf+368|0;cd=wf+360|0;Vc=wf+352|0;Mc=wf+344|0;Cc=wf+336|0;uc=wf+328|0;kc=wf+320|0;ec=wf+312|0;Xb=wf+304|0;Kb=wf+296|0;Bb=wf+288|0;tb=wf+280|0;kb=wf+272|0;_a=wf+264|0;sf=wf+256|0;lf=wf+248|0;gd=wf+240|0;Ra=wf+232|0;Qa=wf+224|0;A=wf+216|0;$=wf+208|0;R=wf+200|0;S=wf+192|0;T=wf+184|0;U=wf+176|0;_=wf+152|0;Z=wf+128|0;B=wf+120|0;C=wf+112|0;D=wf+104|0;E=wf+96|0;F=wf+88|0;G=wf+80|0;H=wf+72|0;I=wf+64|0;J=wf+56|0;K=wf+48|0;L=wf+40|0;M=wf+32|0;N=wf+24|0;O=wf+16|0;P=wf+8|0;Q=wf;Aa=wf+2416|0;wa=d+12|0;e=c[wa>>2]|0;Ca=d+8|0;if(e>>>0>=(c[Ca>>2]|0)>>>0){vf=0;aa=wf;return vf|0}V=d+4|0;ba=d+80|0;Y=d+84|0;X=d+36|0;xa=d+76|0;Da=G+4|0;ta=d+88|0;qa=d+92|0;na=d+116|0;va=d+120|0;ra=d+124|0;pa=d+128|0;la=d+132|0;ma=d+136|0;w=d+85|0;Na=d+96|0;da=d+140|0;ya=d+40|0;x=d+44|0;za=d+52|0;y=d+56|0;Ga=A+4|0;Ma=$+4|0;ua=d+100|0;sa=d+104|0;oa=d+108|0;ca=d+112|0;Ia=Pa+4|0;W=d+144|0;Ha=A+4|0;Ka=A+4|0;Ja=A+4|0;Ea=R+4|0;La=R+4|0;Fa=T+4|0;Ba=G+4|0;g=e;v=c[d>>2]|0;e=0;a:while(1){f=c[V>>2]|0;f=Rl(f+g|0,f+v|0,Aa)|0;if(!f){s=4;break}v=(c[wa>>2]|0)+f|0;c[wa>>2]=v;f=c[V>>2]|0;f=Rl(f+v|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=6;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;i=c[Oa>>2]|0;v=c[d>>2]|0;f=i+f|0;c[d>>2]=f;u=c[Aa>>2]|0;if(u>>>0>13){s=8;break}if(f>>>0>(c[Ca>>2]|0)>>>0){s=10;break}f=c[ba>>2]|0;t=(u|0)==0;if(!(t|(f|0)==-1)?(r=Kt(u)|0,(r|0)<=(Kt(f)|0)):0){s=13;break}if(!(t|(a[Y>>0]|0)==0)){s=15;break}r=c[X>>2]|0;if(ga[c[(c[r>>2]|0)+24>>2]&127](r,u,i)|0){s=17;break}f=c[xa>>2]|0;g=(a[f+17>>0]|0)!=0;do switch(u|0){case 0:{c[G>>2]=0;c[Da>>2]=0;do if((Pt(d,G,312577)|0)==1)f=1;else{r=c[X>>2]|0;q=c[(c[r>>2]|0)+28>>2]|0;o=G;h=c[o>>2]|0;o=c[o+4>>2]|0;p=H;c[p>>2]=h;c[p+4>>2]=o;c[Oa>>2]=c[H>>2];c[Oa+4>>2]=c[H+4>>2];if(ga[q&127](r,i,Oa)|0){Nt(d,312590,tb);f=1;break}r=a[w>>0]|0;a[w>>0]=1;f=c[Ba>>2]|0;b:do if((a[(c[xa>>2]|0)+16>>0]|0)!=0?(Cn(h,f,312625,4)|0)==0:0){q=c[X>>2]|0;if(fa[c[(c[q>>2]|0)+596>>2]&511](q,i)|0){Nt(d,312630,Bb);f=1;break}f=c[wa>>2]|0;h=c[d>>2]|0;c:do if(f>>>0<h>>>0){p=0;q=0;d:while(1){o=c[V>>2]|0;f=Rl(o+f|0,o+h|0,Pa)|0;if(!f){s=30;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;h=q;q=c[Pa>>2]|0;if(p|0){if((q|0)==(h|0)){s=33;break}if(q>>>0<h>>>0){s=35;break}}o=c[V>>2]|0;f=Rl(o+f|0,o+(c[d>>2]|0)|0,Oa)|0;if(!f){s=37;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;i=c[Oa>>2]|0;f=i+f|0;h=c[d>>2]|0;if(f>>>0>h>>>0){s=39;break}c[d>>2]=f;e:do switch(q|0){case 0:{o=c[X>>2]|0;if(ha[c[(c[o>>2]|0)+600>>2]&63](o,p,0,i)|0){s=42;break d}if(!i)break e;c[A>>2]=0;c[Ha>>2]=0;if((Pt(d,A,312819)|0)==1){s=47;break d}o=c[X>>2]|0;n=c[(c[o>>2]|0)+604>>2]|0;k=A;l=c[k+4>>2]|0;m=$;c[m>>2]=c[k>>2];c[m+4>>2]=l;c[Oa>>2]=c[$>>2];c[Oa+4>>2]=c[$+4>>2];if(fa[n&511](o,Oa)|0){s=46;break d}break}case 1:{o=c[X>>2]|0;if(ha[c[(c[o>>2]|0)+608>>2]&63](o,p,1,i)|0){s=50;break d}if(!i)break e;i=c[V>>2]|0;i=Rl(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=53;break d}i=(c[wa>>2]|0)+i|0;c[wa>>2]=i;l=c[Oa>>2]|0;i=(c[d>>2]|0)-i|0;if(l>>>0>i>>>0){s=55;break d}o=c[X>>2]|0;if(fa[c[(c[o>>2]|0)+612>>2]&511](o,l)|0){s=57;break d}if(!l)break e;j=0;k=-1;while(1){c[A>>2]=0;c[Ka>>2]=0;i=c[V>>2]|0;i=Rl(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=61;break d}c[wa>>2]=(c[wa>>2]|0)+i;i=c[Oa>>2]|0;if((i|0)==(k|0)){s=63;break d}if(!((k|0)==-1|i>>>0>k>>>0)){s=65;break d}if(i>>>0>=((c[na>>2]|0)+(c[Na>>2]|0)|0)>>>0){s=67;break d}if((Pt(d,A,313097)|0)==1){s=72;break d}o=c[X>>2]|0;n=c[(c[o>>2]|0)+616>>2]|0;xf=A;k=c[xf+4>>2]|0;m=R;c[m>>2]=c[xf>>2];c[m+4>>2]=k;c[Oa>>2]=c[R>>2];c[Oa+4>>2]=c[R+4>>2];if(ga[n&127](o,i,Oa)|0){s=70;break d}j=j+1|0;if(j>>>0>=l>>>0)break;else k=i}break}case 2:{xf=c[X>>2]|0;if(ha[c[(c[xf>>2]|0)+620>>2]&63](xf,p,2,i)|0){s=74;break d}if(!i)break e;i=c[V>>2]|0;i=Rl(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=77;break d}i=(c[wa>>2]|0)+i|0;c[wa>>2]=i;o=c[Oa>>2]|0;i=(c[d>>2]|0)-i|0;if(o>>>0>i>>>0){s=79;break d}xf=c[X>>2]|0;if(fa[c[(c[xf>>2]|0)+624>>2]&511](xf,o)|0){s=81;break d}if(!o)break e;m=0;n=-1;do{i=c[V>>2]|0;i=Rl(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=85;break d}i=(c[wa>>2]|0)+i|0;c[wa>>2]=i;j=n;n=c[Oa>>2]|0;if(n>>>0>=((c[na>>2]|0)+(c[Na>>2]|0)|0)>>>0){s=87;break d}if(!((j|0)==-1|n>>>0>j>>>0)){s=89;break d}xf=c[V>>2]|0;i=Rl(xf+i|0,xf+(c[d>>2]|0)|0,Oa)|0;if(!i){s=91;break d}i=(c[wa>>2]|0)+i|0;c[wa>>2]=i;l=c[Oa>>2]|0;i=(c[d>>2]|0)-i|0;if(l>>>0>i>>>0){s=93;break d}xf=c[X>>2]|0;if(ga[c[(c[xf>>2]|0)+628>>2]&127](xf,n,l)|0){s=95;break d}if(l|0){j=0;k=-1;while(1){c[A>>2]=0;c[Ja>>2]=0;i=c[V>>2]|0;i=Rl(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,Oa)|0;if(!i){s=99;break d}c[wa>>2]=(c[wa>>2]|0)+i;i=c[Oa>>2]|0;if((i|0)==(k|0)){s=101;break d}if(!((k|0)==-1|i>>>0>k>>>0)){s=103;break d}if((Pt(d,A,312625)|0)==1){s=108;break d}xf=c[X>>2]|0;k=c[(c[xf>>2]|0)+632>>2]|0;Af=A;zf=c[Af+4>>2]|0;yf=S;c[yf>>2]=c[Af>>2];c[yf+4>>2]=zf;c[Oa>>2]=c[S>>2];c[Oa+4>>2]=c[S+4>>2];if(ha[k&63](xf,n,i,Oa)|0){s=106;break d}j=j+1|0;if(j>>>0>=l>>>0)break;else k=i}}m=m+1|0}while(m>>>0<o>>>0);break}default:c[wa>>2]=f}while(0);if((c[wa>>2]|0)!=(f|0)){s=112;break}c[d>>2]=h;if(f>>>0>=h>>>0)break c;else p=p+1|0}switch(s|0){case 30:{c[Kb>>2]=312664;Nt(d,312373,Kb);s=113;break}case 33:{Nt(d,312674,Xb);s=113;break}case 35:{Nt(d,312696,ec);s=113;break}case 37:{c[kc>>2]=312721;Nt(d,312373,kc);s=113;break}case 39:{Nt(d,312737,uc);s=113;break}case 42:{s=0;Nt(d,312780,Cc);break}case 46:{Nt(d,312831,Mc);s=47;break}case 50:{s=0;Nt(d,312860,Vc);break}case 53:{s=0;c[cd>>2]=312901;Nt(d,312373,cd);break}case 55:{s=0;c[pd>>2]=312901;c[pd+4>>2]=l;c[pd+8>>2]=i;Nt(d,312912,pd);break}case 57:{s=0;Nt(d,312958,Id);break}case 61:{c[Rd>>2]=312995;Nt(d,312373,Rd);s=72;break}case 63:{c[ce>>2]=k;Nt(d,313010,ce);s=72;break}case 65:{c[oe>>2]=i;Nt(d,313038,oe);s=72;break}case 67:{c[Ae>>2]=i;Nt(d,313070,Ae);s=72;break}case 70:{Nt(d,313111,Ne);s=72;break}case 74:{s=0;Nt(d,313142,Xe);break}case 77:{s=0;c[df>>2]=313180;Nt(d,312373,df);break}case 79:{s=0;c[kf>>2]=313180;c[kf+4>>2]=o;c[kf+8>>2]=i;Nt(d,312912,kf);break}case 81:{s=0;Nt(d,313195,mf);break}case 85:{s=0;c[nf>>2]=312995;Nt(d,312373,nf);break}case 87:{s=0;c[of>>2]=n;Nt(d,313070,of);break}case 89:{s=0;c[pf>>2]=n;Nt(d,313236,pf);break}case 91:{s=0;c[qf>>2]=313275;Nt(d,312373,qf);break}case 93:{s=0;c[rf>>2]=313275;c[rf+4>>2]=l;c[rf+8>>2]=i;Nt(d,312912,rf);break}case 95:{s=0;Nt(d,313287,tf);break}case 99:{c[uf>>2]=313325;Nt(d,312373,uf);s=108;break}case 101:{c[vf>>2]=k;Nt(d,313337,vf);s=108;break}case 103:{c[Sa>>2]=i;Nt(d,313363,Sa);s=108;break}case 106:{Nt(d,313392,Ta);s=108;break}case 112:{s=0;c[Ua>>2]=f;Nt(d,313420,Ua);break}}if((s|0)==47)s=0;else if((s|0)==72)s=0;else if((s|0)==108)s=0;else if((s|0)==113){s=0;f=1;break b}c[d>>2]=h;f=1;break b}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+636>>2]&127](Af)|0)){a[Y>>0]=1;s=284;break}else{Nt(d,313465,Va);f=1;break}}else s=119;while(0);f:do if((s|0)==119){s=0;if(!(Cn(h,f,313497,6)|0)){Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+656>>2]&511](Af,i)|0){Nt(d,313504,Wa);f=1;break}f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;do if(!f){c[Xa>>2]=313539;Nt(d,312373,Xa);f=1}else{Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Rl(f+Af|0,f+(c[d>>2]|0)|0,A)|0;if(!f){c[Ya>>2]=313548;Nt(d,312373,Ya);f=1;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Rl(f+Af|0,f+(c[d>>2]|0)|0,$)|0;if(!f){c[Za>>2]=313558;Nt(d,312373,Za);f=1;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Rl(f+Af|0,f+(c[d>>2]|0)|0,R)|0;if(!f){c[$a>>2]=313569;Nt(d,312373,$a);f=1;break}c[wa>>2]=(c[wa>>2]|0)+f;Af=c[X>>2]|0;if(ia[c[(c[Af>>2]|0)+660>>2]&31](Af,c[Pa>>2]|0,c[A>>2]|0,c[$>>2]|0,c[R>>2]|0)|0){Nt(d,313581,ab);f=1;break}f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,S)|0;g:do if(!f){c[bb>>2]=313610;Nt(d,312373,bb);f=1}else{c[wa>>2]=(c[wa>>2]|0)+f;Af=c[X>>2]|0;f=c[S>>2]|0;if(fa[c[(c[Af>>2]|0)+664>>2]&511](Af,f)|0){Nt(d,313625,cb);f=1;break}h=f+-1|0;c[S>>2]=h;do if(f|0){while(1){c[T>>2]=0;c[Fa>>2]=0;if((Pt(d,T,313661)|0)==1){s=139;break}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+668>>2]|0;s=T;xf=c[s+4>>2]|0;yf=U;c[yf>>2]=c[s>>2];c[yf+4>>2]=xf;c[Oa>>2]=c[U>>2];c[Oa+4>>2]=c[U+4>>2];if(fa[zf&511](Af,Oa)|0){s=141;break}f=h+-1|0;if(!h){s=143;break}else h=f}if((s|0)==139){s=0;c[S>>2]=h;f=1;break g}else if((s|0)==141){s=0;c[S>>2]=h;Nt(d,313675,db);f=1;break g}else if((s|0)==143){s=0;c[S>>2]=f;break}}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+672>>2]&127](Af)|0)){f=0;break}Nt(d,313706,eb);f=1}while(0)}while(0);if((f|0)==1){f=1;break}else{s=284;break}}if(!(Dn(h,f)|0)){Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+640>>2]&511](Af,i)|0){Nt(d,313745,fb);f=1;break}f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;h:do if(f){Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Rl(f+Af|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[hb>>2]=313793;Nt(d,312373,hb);break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;l=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(l>>>0>f>>>0){c[ib>>2]=313793;c[ib+4>>2]=l;c[ib+8>>2]=f;Nt(d,312912,ib);break}Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+644>>2]&127](Af,l,c[Pa>>2]|0)|0){Nt(d,313810,jb);break}i:do if(l|0){k=0;j:while(1){c[$>>2]=0;f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,A)|0;if(!f){s=162;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Rl(f+Af|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=164;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;j=c[Oa>>2]|0;f=c[V>>2]|0;f=Rl(f+Af|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=166;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;h=c[Oa>>2]|0;i=c[A>>2]|0;switch(i|0){case 9:case 8:case 5:case 11:case 4:case 3:{Af=c[V>>2]|0;f=Sl(Af+f|0,Af+(c[d>>2]|0)|0,$)|0;if(!f){s=170;break j}c[wa>>2]=(c[wa>>2]|0)+f;f=c[$>>2]|0;break}default:f=0}Af=c[X>>2]|0;if(ia[c[(c[Af>>2]|0)+648>>2]&31](Af,i,j,h,f)|0){s=172;break}k=k+1|0;if(k>>>0>=l>>>0)break i}if((s|0)==162){s=0;c[lb>>2]=313839;Nt(d,312373,lb)}else if((s|0)==164){s=0;c[mb>>2]=329105;Nt(d,312373,mb)}else if((s|0)==166){s=0;c[nb>>2]=313855;Nt(d,312373,nb)}else if((s|0)==170){s=0;c[ob>>2]=313861;Nt(d,313868,ob)}else if((s|0)==172){s=0;Nt(d,313898,pb)}break h}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+652>>2]&127](Af)|0)){s=284;break f}else{Nt(d,313922,qb);break}}else{c[gb>>2]=313779;Nt(d,312373,gb)}while(0);f=1;break}if(Cn(h,f,313954,7)|0){c[wa>>2]=c[d>>2];s=284;break}Af=c[X>>2]|0;if(!(fa[c[(c[Af>>2]|0)+676>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;k:do if(!f){c[sb>>2]=312208;Nt(d,312373,sb);f=1}else{h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Pa>>2]|0;if((f|0)!=2){c[ub>>2]=f;Nt(d,313998,ub);f=1;break}f=c[d>>2]|0;l:do if(h>>>0<f>>>0){n=h;m:while(1){Af=c[V>>2]|0;f=Rl(Af+n|0,Af+f|0,A)|0;if(!f){s=189;break}Af=(c[wa>>2]|0)+f|0;c[wa>>2]=Af;f=c[V>>2]|0;f=Rl(f+Af|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=191;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;n=(c[Oa>>2]|0)+h|0;f=c[d>>2]|0;if(n>>>0>f>>>0){s=193;break}c[d>>2]=n;n:do switch(c[A>>2]|0){case 8:{Af=c[V>>2]|0;h=Rl(Af+h|0,Af+n|0,$)|0;if(!h){s=196;break m}c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;l=c[$>>2]|0;if(fa[c[(c[Af>>2]|0)+680>>2]&511](Af,l)|0){s=198;break m}if(!l)break n;m=0;do{c[R>>2]=0;c[Ea>>2]=0;c[S>>2]=0;c[T>>2]=0;h=c[V>>2]|0;h=Rl(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,T)|0;o:do if(!h){c[Ab>>2]=314075;Nt(d,312373,Ab);h=0}else{Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Rl(h+Af|0,h+(c[d>>2]|0)|0,S)|0;if(!h){c[Cb>>2]=314084;Nt(d,312373,Cb);h=0;break}c[wa>>2]=(c[wa>>2]|0)+h;h=c[T>>2]|0;Af=c[X>>2]|0;k=c[S>>2]|0;if(ha[c[(c[Af>>2]|0)+684>>2]&63](Af,m,h,k)|0){Nt(d,314094,Db);h=0;break}switch(h|0){case 4:case 2:case 0:{c[U>>2]=0;i=c[V>>2]|0;i=Rl(i+(c[wa>>2]|0)|0,i+(c[d>>2]|0)|0,U)|0;p:do if(!i){c[Eb>>2]=313855;Nt(d,312373,Eb)}else{c[wa>>2]=(c[wa>>2]|0)+i;if((k&80|0)!=16?(Pt(d,R,314119)|0)==1:0)break;q:do switch(h|0){case 0:{zf=c[X>>2]|0;yf=c[(c[zf>>2]|0)+692>>2]|0;q=R;xf=c[q+4>>2]|0;Af=_;c[Af>>2]=c[q>>2];c[Af+4>>2]=xf;Af=c[U>>2]|0;c[Oa>>2]=c[_>>2];c[Oa+4>>2]=c[_+4>>2];if(!(ia[yf&31](zf,m,k,Oa,Af)|0))break q;Nt(d,314131,Fb);break p}case 2:{zf=c[X>>2]|0;yf=c[(c[zf>>2]|0)+696>>2]|0;q=R;xf=c[q+4>>2]|0;Af=Z;c[Af>>2]=c[q>>2];c[Af+4>>2]=xf;Af=c[U>>2]|0;c[Oa>>2]=c[Z>>2];c[Oa+4>>2]=c[Z+4>>2];if(!(ia[yf&31](zf,m,k,Oa,Af)|0))break q;Nt(d,314164,Gb);break p}case 4:{zf=c[X>>2]|0;yf=c[(c[zf>>2]|0)+704>>2]|0;q=R;xf=c[q+4>>2]|0;Af=B;c[Af>>2]=c[q>>2];c[Af+4>>2]=xf;Af=c[U>>2]|0;c[Oa>>2]=c[B>>2];c[Oa+4>>2]=c[B+4>>2];if(!(ia[yf&31](zf,m,k,Oa,Af)|0))break q;Nt(d,314195,Hb);break p}default:{s=220;break a}}while(0);h=1;break o}while(0);h=0;break o}case 1:{c[U>>2]=0;c[C>>2]=0;c[D>>2]=0;r:do if((Pt(d,R,314119)|0)!=1){do if(!(k&16)){h=c[V>>2]|0;h=Rl(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,U)|0;if(!h){c[Ib>>2]=314225;Nt(d,312373,Ib);break r}Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Rl(h+Af|0,h+(c[d>>2]|0)|0,C)|0;if(!h){c[Jb>>2]=329105;Nt(d,312373,Jb);break r}Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Rl(h+Af|0,h+(c[d>>2]|0)|0,D)|0;if(!h){c[Lb>>2]=314233;Nt(d,312373,Lb);break r}else{c[wa>>2]=(c[wa>>2]|0)+h;h=c[U>>2]|0;i=c[C>>2]|0;j=c[D>>2]|0;break}}else{h=0;i=0;j=0}while(0);Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+688>>2]|0;q=R;xf=c[q+4>>2]|0;yf=E;c[yf>>2]=c[q>>2];c[yf+4>>2]=xf;c[Oa>>2]=c[E>>2];c[Oa+4>>2]=c[E+4>>2];if(!(ka[zf&31](Af,m,k,Oa,h,i,j)|0)){h=1;break o}else{Nt(d,314238,Mb);break}}while(0);h=0;break o}case 3:{c[Oa>>2]=0;h=c[V>>2]|0;h=Rl(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,Oa)|0;do if(h){c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;if(!(ha[c[(c[Af>>2]|0)+700>>2]&63](Af,m,k,c[Oa>>2]|0)|0)){h=1;break o}else{Nt(d,314267,Ob);break}}else{c[Nb>>2]=313855;Nt(d,312373,Nb)}while(0);h=0;break o}default:{h=1;break o}}}while(0);m=m+1|0;if(!h)break m}while(m>>>0<l>>>0);break}case 5:{Af=c[V>>2]|0;h=Rl(Af+h|0,Af+n|0,$)|0;if(!h){s=244;break m}c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;i=c[$>>2]|0;if(fa[c[(c[Af>>2]|0)+708>>2]&511](Af,i)|0){s=246;break m}if(!i)break n;j=0;do{c[R>>2]=0;c[La>>2]=0;do if((Pt(d,R,314345)|0)==1)h=0;else{h=c[V>>2]|0;h=Rl(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,S)|0;if(!h){c[Rb>>2]=314358;Nt(d,312373,Rb);h=0;break}Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Rl(h+Af|0,h+(c[d>>2]|0)|0,T)|0;if(!h){c[Sb>>2]=314376;Nt(d,312373,Sb);h=0;break}c[wa>>2]=(c[wa>>2]|0)+h;yf=c[X>>2]|0;xf=c[(c[yf>>2]|0)+712>>2]|0;q=R;Af=c[q+4>>2]|0;zf=F;c[zf>>2]=c[q>>2];c[zf+4>>2]=Af;zf=c[S>>2]|0;Af=c[T>>2]|0;c[Oa>>2]=c[F>>2];c[Oa+4>>2]=c[F+4>>2];if(!(ia[xf&31](yf,j,Oa,zf,Af)|0)){h=1;break}Nt(d,314390,Tb);h=0}while(0);j=j+1|0;if(!h)break m}while(j>>>0<i>>>0);break}case 6:{Af=c[V>>2]|0;h=Rl(Af+h|0,Af+n|0,$)|0;if(!h){s=259;break m}c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;h=c[$>>2]|0;if(fa[c[(c[Af>>2]|0)+716>>2]&511](Af,h)|0){s=261;break m}i=h+-1|0;c[$>>2]=i;if(!h)break n;while(1){h=c[V>>2]|0;h=Rl(h+(c[wa>>2]|0)|0,h+(c[d>>2]|0)|0,Oa)|0;if(!h){s=265;break m}Af=(c[wa>>2]|0)+h|0;c[wa>>2]=Af;h=c[V>>2]|0;h=Rl(h+Af|0,h+(c[d>>2]|0)|0,R)|0;if(!h){s=267;break m}c[wa>>2]=(c[wa>>2]|0)+h;Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+720>>2]&127](Af,c[Oa>>2]|0,c[R>>2]|0)|0){s=269;break m}h=i+-1|0;if(!i)break;else i=h}c[$>>2]=h;break}default:c[wa>>2]=n}while(0);if((c[wa>>2]|0)!=(n|0)){s=275;break}c[d>>2]=f;if(n>>>0>=f>>>0)break l}switch(s|0){case 189:{c[vb>>2]=329174;Nt(d,312373,vb);s=276;break}case 191:{c[wb>>2]=312721;Nt(d,312373,wb);s=276;break}case 193:{Nt(d,312737,xb);s=276;break}case 196:{s=0;c[yb>>2]=314035;Nt(d,312373,yb);break}case 198:{s=0;Nt(d,314045,zb);break}case 244:{s=0;c[Pb>>2]=314299;Nt(d,312373,Pb);break}case 246:{s=0;Nt(d,314310,Qb);break}case 259:{s=0;c[Ub>>2]=314299;Nt(d,312373,Ub);break}case 261:{s=0;Nt(d,314420,Vb);break}case 265:{c[$>>2]=i;c[Wb>>2]=314456;Nt(d,312373,Wb);s=270;break}case 267:{c[$>>2]=i;c[Yb>>2]=312995;Nt(d,312373,Yb);s=270;break}case 269:{c[$>>2]=i;Nt(d,314465,Zb);s=270;break}case 275:{s=0;c[_b>>2]=n;Nt(d,313420,_b);break}}if((s|0)==270)s=0;else if((s|0)==276){s=0;f=1;break k}c[d>>2]=f;f=1;break k}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+724>>2]&127](Af)|0)){f=0;break}Nt(d,314496,$b);f=1}while(0)}else{Nt(d,313962,rb);f=1}if((f|0)==1)f=1;else s=284}while(0);if((s|0)==284){Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+32>>2]&127](Af)|0))f=0;else{Nt(d,314530,ac);f=1}}a[w>>0]=r}while(0);s=(a[(c[xa>>2]|0)+18>>0]|0)==0;e=s?e:((e|0)==1|(f|0)==1)&1;g=g&(s^1);s=716;break}case 1:{Af=c[X>>2]|0;s:do if(!(fa[c[(c[Af>>2]|0)+36>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[cc>>2]=314596;Nt(d,312373,cc);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[ta>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[dc>>2]=314596;c[dc+4>>2]=f;c[dc+8>>2]=h;Nt(d,312912,dc);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+40>>2]&511](Af,f)|0){Nt(d,314607,fc);f=1;break}t:do if(c[ta>>2]|0){n=0;u:while(1){c[Oa>>2]=0;f=c[V>>2]|0;f=Sl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=300;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;if((f|0)!=-32){s=302;break}f=c[V>>2]|0;f=Rl(f+h|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=304;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;m=c[Oa>>2]|0;h=c[d>>2]|0;i=h-f|0;if(m>>>0>i>>>0){s=306;break}i=c[ya>>2]|0;j=(c[x>>2]|0)-i>>2;if(m>>>0<=j>>>0){if(m>>>0<j>>>0)c[x>>2]=i+(m<<2);if(!m)l=1;else s=312}else{Qt(ya,m-j|0);f=c[wa>>2]|0;s=312}if((s|0)==312){s=0;h=f;i=0;do{c[Oa>>2]=0;f=c[V>>2]|0;f=Sl(f+h|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=314;break u}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;switch(f|0){case -4:case -3:case -2:case -1:break;case -5:{if(!(a[(c[xa>>2]|0)+4>>0]|0)){f=-5;s=320;break u}break}case -24:{if(!(a[c[xa>>2]>>0]|0)){f=-24;s=320;break u}break}case -17:{if(!(a[(c[xa>>2]|0)+9>>0]|0)){f=-17;s=320;break u}break}default:{s=319;break u}}c[(c[ya>>2]|0)+(i<<2)>>2]=f;i=i+1|0}while(i>>>0<m>>>0);f=h;h=c[d>>2]|0;l=0}Af=c[V>>2]|0;f=Rl(Af+f|0,Af+h|0,Oa)|0;if(!f){s=325;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;k=c[Oa>>2]|0;h=(c[d>>2]|0)-f|0;if(k>>>0>h>>>0){s=327;break}if(k>>>0>=2?(a[(c[xa>>2]|0)+6>>0]|0)==0:0){s=330;break}h=c[za>>2]|0;i=(c[y>>2]|0)-h>>2;if(k>>>0<=i>>>0){if(k>>>0<i>>>0)c[y>>2]=h+(k<<2);if(!k)h=0;else s=336}else{Qt(za,k-i|0);f=c[wa>>2]|0;s=336}v:do if((s|0)==336){s=0;i=f;j=0;while(1){c[Oa>>2]=0;f=c[V>>2]|0;f=Sl(f+i|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=338;break u}i=(c[wa>>2]|0)+f|0;c[wa>>2]=i;f=c[Oa>>2]|0;switch(f|0){case -4:case -3:case -2:case -1:break;case -5:{if(!(a[(c[xa>>2]|0)+4>>0]|0)){f=-5;s=344;break u}break}case -24:{if(!(a[c[xa>>2]>>0]|0)){f=-24;s=344;break u}break}case -17:{if(!(a[(c[xa>>2]|0)+9>>0]|0)){f=-17;s=344;break u}break}default:{s=343;break u}}h=c[za>>2]|0;c[h+(j<<2)>>2]=f;j=j+1|0;if(j>>>0>=k>>>0)break v}}while(0);if(l)f=0;else f=c[ya>>2]|0;Af=c[X>>2]|0;if(ja[c[(c[Af>>2]|0)+44>>2]&31](Af,n,m,f,k,h)|0){s=350;break}n=n+1|0;if(n>>>0>=(c[ta>>2]|0)>>>0)break t}switch(s|0){case 300:{c[gc>>2]=314635;Nt(d,313868,gc);f=1;break s}case 302:{c[hc>>2]=(f|0)<0?314645:351956;c[hc+4>>2]=(f|0)>-1?f:0-f|0;Nt(d,314647,hc);f=1;break s}case 304:{c[ic>>2]=314680;Nt(d,312373,ic);f=1;break s}case 306:{c[jc>>2]=314680;c[jc+4>>2]=m;c[jc+8>>2]=i;Nt(d,312912,jc);f=1;break s}case 314:{c[lc>>2]=314701;Nt(d,313868,lc);f=1;break s}case 319:{if((f|0)<0)s=320;else{c[nc>>2]=351956;c[nc+4>>2]=f;Nt(d,314721,nc);f=1;break s}break}case 325:{c[oc>>2]=314759;Nt(d,312373,oc);f=1;break s}case 327:{c[pc>>2]=314759;c[pc+4>>2]=k;c[pc+8>>2]=h;Nt(d,312912,pc);f=1;break s}case 330:{Nt(d,314781,qc);f=1;break s}case 338:{c[rc>>2]=314809;Nt(d,313868,rc);f=1;break s}case 343:{if((f|0)<0)s=344;else{c[tc>>2]=351956;c[tc+4>>2]=f;Nt(d,314830,tc);f=1;break s}break}case 350:{Nt(d,314869,vc);f=1;break s}}if((s|0)==320){c[mc>>2]=314645;c[mc+4>>2]=0-f;Nt(d,314721,mc);f=1;break s}else if((s|0)==344){c[sc>>2]=314645;c[sc+4>>2]=0-f;Nt(d,314830,sc);f=1;break s}}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+48>>2]&127](Af)|0))f=0;else{Nt(d,314892,wc);f=1}}else{Nt(d,314563,bc);f=1}while(0);e=f|(e|0)==1;s=716;break}case 2:{Af=c[X>>2]|0;w:do if(!(fa[c[(c[Af>>2]|0)+52>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[yc>>2]=314958;Nt(d,312373,yc);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[qa>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[zc>>2]=314958;c[zc+4>>2]=f;c[zc+8>>2]=h;Nt(d,312912,zc);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+56>>2]&511](Af,f)|0){Nt(d,314971,Ac);f=1;break}x:do if(c[qa>>2]|0){l=0;y:while(1){c[A>>2]=0;c[Ga>>2]=0;if((Pt(d,A,315001)|0)==1){s=365;break}c[$>>2]=0;c[Ma>>2]=0;if((Pt(d,$,315020)|0)==1)break;f=c[wa>>2]|0;j=f+1|0;h=c[d>>2]|0;if(j>>>0>h>>>0){s=368;break}i=c[V>>2]|0;Af=a[i+f>>0]|0;c[wa>>2]=j;switch(Af<<24>>24){case 0:{f=Rl(i+j|0,i+h|0,Oa)|0;if(!f){s=371;break y}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;if(f>>>0>=(c[ta>>2]|0)>>>0){s=373;break y}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;i=A;h=c[i>>2]|0;i=c[i+4>>2]|0;k=R;c[k>>2]=h;c[k+4>>2]=i;k=$;j=c[k>>2]|0;k=c[k+4>>2]|0;yf=S;c[yf>>2]=j;c[yf+4>>2]=k;c[Pa>>2]=c[R>>2];c[Pa+4>>2]=c[R+4>>2];c[Oa>>2]=c[S>>2];c[Oa+4>>2]=c[S+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=375;break y}zf=c[X>>2]|0;yf=c[(c[zf>>2]|0)+64>>2]|0;Af=T;c[Af>>2]=h;c[Af+4>>2]=i;Af=U;c[Af>>2]=j;c[Af+4>>2]=k;Af=c[Na>>2]|0;c[Pa>>2]=c[T>>2];c[Pa+4>>2]=c[T+4>>2];c[Oa>>2]=c[U>>2];c[Oa+4>>2]=c[U+4>>2];if(ja[yf&31](zf,l,Pa,Oa,Af,f)|0){s=377;break y}c[Na>>2]=(c[Na>>2]|0)+1;break}case 1:{c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[Z+12>>2]=0;b[Z+16>>1]=0;if((Rt(d,_,Z)|0)==1){s=384;break y}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;j=B;c[j>>2]=f;c[j+4>>2]=h;j=$;i=c[j>>2]|0;j=c[j+4>>2]|0;yf=C;c[yf>>2]=i;c[yf+4>>2]=j;c[Pa>>2]=c[B>>2];c[Pa+4>>2]=c[B+4>>2];c[Oa>>2]=c[C>>2];c[Oa+4>>2]=c[C+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=381;break y}yf=c[X>>2]|0;xf=c[(c[yf>>2]|0)+68>>2]|0;zf=D;c[zf>>2]=f;c[zf+4>>2]=h;zf=E;c[zf>>2]=i;c[zf+4>>2]=j;zf=c[ua>>2]|0;Af=c[_>>2]|0;c[Pa>>2]=c[D>>2];c[Pa+4>>2]=c[D+4>>2];c[Oa>>2]=c[E>>2];c[Oa+4>>2]=c[E+4>>2];if(ka[xf&31](yf,l,Pa,Oa,zf,Af,Z)|0){s=383;break y}c[ua>>2]=(c[ua>>2]|0)+1;break}case 2:{c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[_+12>>2]=0;b[_+16>>1]=0;if((St(d,_)|0)==1){s=391;break y}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;j=F;c[j>>2]=f;c[j+4>>2]=h;j=$;i=c[j>>2]|0;j=c[j+4>>2]|0;yf=G;c[yf>>2]=i;c[yf+4>>2]=j;c[Pa>>2]=c[F>>2];c[Pa+4>>2]=c[F+4>>2];c[Oa>>2]=c[G>>2];c[Oa+4>>2]=c[G+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=388;break y}zf=c[X>>2]|0;yf=c[(c[zf>>2]|0)+72>>2]|0;Af=H;c[Af>>2]=f;c[Af+4>>2]=h;Af=I;c[Af>>2]=i;c[Af+4>>2]=j;Af=c[sa>>2]|0;c[Pa>>2]=c[H>>2];c[Pa+4>>2]=c[H+4>>2];c[Oa>>2]=c[I>>2];c[Oa+4>>2]=c[I+4>>2];if(ja[yf&31](zf,l,Pa,Oa,Af,_)|0){s=390;break y}c[sa>>2]=(c[sa>>2]|0)+1;break}case 3:{if((Tt(d,_,Z)|0)==1){s=398;break y}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;j=J;c[j>>2]=f;c[j+4>>2]=h;j=$;i=c[j>>2]|0;j=c[j+4>>2]|0;yf=K;c[yf>>2]=i;c[yf+4>>2]=j;c[Pa>>2]=c[J>>2];c[Pa+4>>2]=c[J+4>>2];c[Oa>>2]=c[K>>2];c[Oa+4>>2]=c[K+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=395;break y}xf=c[X>>2]|0;r=c[(c[xf>>2]|0)+76>>2]|0;yf=L;c[yf>>2]=f;c[yf+4>>2]=h;yf=M;c[yf>>2]=i;c[yf+4>>2]=j;yf=c[oa>>2]|0;zf=c[_>>2]|0;Af=(a[Z>>0]|0)!=0;c[Pa>>2]=c[L>>2];c[Pa+4>>2]=c[L+4>>2];c[Oa>>2]=c[M>>2];c[Oa+4>>2]=c[M+4>>2];if(ka[r&31](xf,l,Pa,Oa,yf,zf,Af)|0){s=397;break y}c[oa>>2]=(c[oa>>2]|0)+1;break}case 4:{if(!(a[c[xa>>2]>>0]|0)){s=401;break y}if((Ut(d,_)|0)==1){s=407;break y}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+60>>2]|0;h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;j=N;c[j>>2]=f;c[j+4>>2]=h;j=$;i=c[j>>2]|0;j=c[j+4>>2]|0;yf=O;c[yf>>2]=i;c[yf+4>>2]=j;c[Pa>>2]=c[N>>2];c[Pa+4>>2]=c[N+4>>2];c[Oa>>2]=c[O>>2];c[Oa+4>>2]=c[O+4>>2];if(ha[zf&63](Af,l,Pa,Oa)|0){s=404;break y}yf=c[X>>2]|0;xf=c[(c[yf>>2]|0)+80>>2]|0;zf=P;c[zf>>2]=f;c[zf+4>>2]=h;zf=Q;c[zf>>2]=i;c[zf+4>>2]=j;zf=c[ca>>2]|0;Af=c[_>>2]|0;c[Pa>>2]=c[P>>2];c[Pa+4>>2]=c[P+4>>2];c[Oa>>2]=c[Q>>2];c[Oa+4>>2]=c[Q+4>>2];if(ja[xf&31](yf,l,Pa,Oa,zf,Af)|0){s=406;break y}c[ca>>2]=(c[ca>>2]|0)+1;break}default:{}}l=l+1|0;if(l>>>0>=(c[qa>>2]|0)>>>0)break x}switch(s|0){case 365:{f=1;break w}case 368:{s=0;c[Bc>>2]=315050;c[Bc+4>>2]=315038;Nt(d,312170,Bc);break}case 371:{s=0;c[Dc>>2]=315058;Nt(d,312373,Dc);break}case 373:{s=0;Nt(d,315081,Ec);break}case 375:{s=0;Nt(d,315112,Fc);break}case 377:{s=0;Nt(d,315137,Gc);break}case 381:{Nt(d,315112,Hc);s=384;break}case 383:{Nt(d,315166,Ic);s=384;break}case 388:{Nt(d,315112,Jc);s=391;break}case 390:{Nt(d,315196,Kc);s=391;break}case 395:{Nt(d,315112,Lc);s=398;break}case 397:{Nt(d,315227,Nc);s=398;break}case 401:{s=0;Nt(d,315258,Oc);break}case 404:{Nt(d,315112,Pc);s=407;break}case 406:{Nt(d,315308,Qc);s=407;break}}f=1;break w}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+84>>2]&127](Af)|0))f=0;else{Nt(d,315338,Rc);f=1}}else{Nt(d,314923,xc);f=1}while(0);e=f|(e|0)==1;s=716;break}case 3:{Af=c[X>>2]|0;z:do if(!(fa[c[(c[Af>>2]|0)+88>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Tc>>2]=315408;Nt(d,312373,Tc);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[na>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[Uc>>2]=315408;c[Uc+4>>2]=f;c[Uc+8>>2]=h;Nt(d,312912,Uc);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+92>>2]&511](Af,f)|0){Nt(d,315433,Wc);f=1;break}A:do if(c[na>>2]|0){i=0;while(1){h=(c[Na>>2]|0)+i|0;f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=426;break}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;if(f>>>0>=(c[ta>>2]|0)>>>0){s=428;break}Af=c[X>>2]|0;i=i+1|0;if(ga[c[(c[Af>>2]|0)+96>>2]&127](Af,h,f)|0){s=430;break}if(i>>>0>=(c[na>>2]|0)>>>0)break A}if((s|0)==426){c[Xc>>2]=315465;Nt(d,312373,Xc);f=1;break z}else if((s|0)==428){c[Yc>>2]=f;Nt(d,315490,Yc);f=1;break z}else if((s|0)==430){Nt(d,315527,Zc);f=1;break z}}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+100>>2]&127](Af)|0))f=0;else{Nt(d,315554,_c);f=1}}else{Nt(d,315371,Sc);f=1}while(0);e=f|(e|0)==1;s=716;break}case 4:{Af=c[X>>2]|0;B:do if(!(fa[c[(c[Af>>2]|0)+104>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[ad>>2]=315623;Nt(d,312373,ad);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[va>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[bd>>2]=315623;c[bd+4>>2]=f;c[bd+8>>2]=h;Nt(d,312912,bd);f=1;break}if(!(f>>>0<2?1:(a[(c[xa>>2]|0)+9>>0]|0)!=0)){c[dd>>2]=f;Nt(d,315635,dd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+108>>2]&511](Af,f)|0){Nt(d,315667,ed);f=1;break}C:do if(c[va>>2]|0){h=0;while(1){f=c[ua>>2]|0;c[Pa>>2]=0;c[Pa+4>>2]=0;c[Pa+8>>2]=0;c[Pa+12>>2]=0;b[Pa+16>>1]=0;if((Rt(d,Oa,Pa)|0)==1)break;Af=c[X>>2]|0;if(ha[c[(c[Af>>2]|0)+112>>2]&63](Af,f+h|0,c[Oa>>2]|0,Pa)|0){s=448;break}h=h+1|0;if(h>>>0>=(c[va>>2]|0)>>>0)break C}if((s|0)==448)Nt(d,315696,fd);f=1;break B}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+116>>2]&127](Af)|0))f=0;else{Nt(d,315720,hd);f=1}}else{Nt(d,315589,$c);f=1}while(0);e=f|(e|0)==1;s=716;break}case 5:{Af=c[X>>2]|0;D:do if(!(fa[c[(c[Af>>2]|0)+120>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[jd>>2]=315787;Nt(d,312373,jd);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[ra>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[kd>>2]=315787;c[kd+4>>2]=f;c[kd+8>>2]=h;Nt(d,312912,kd);f=1;break}if(f>>>0>=2){Nt(d,315800,ld);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+124>>2]&511](Af,f)|0){Nt(d,315828,md);f=1;break}E:do if(c[ra>>2]|0){h=0;while(1){f=c[sa>>2]|0;c[Oa>>2]=0;c[Oa+4>>2]=0;c[Oa+8>>2]=0;c[Oa+12>>2]=0;b[Oa+16>>1]=0;if((St(d,Oa)|0)==1)break;Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+128>>2]&127](Af,f+h|0,Oa)|0){s=468;break}h=h+1|0;if(h>>>0>=(c[ra>>2]|0)>>>0)break E}if((s|0)==468)Nt(d,315858,nd);f=1;break D}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+132>>2]&127](Af)|0))f=0;else{Nt(d,315883,od);f=1}}else{Nt(d,315752,id);f=1}while(0);e=f|(e|0)==1;s=716;break}case 6:{Af=c[X>>2]|0;F:do if(!(fa[c[(c[Af>>2]|0)+136>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[rd>>2]=315951;Nt(d,312373,rd);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[pa>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[sd>>2]=315951;c[sd+4>>2]=f;c[sd+8>>2]=h;Nt(d,312912,sd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+140>>2]&511](Af,f)|0){Nt(d,315964,td);f=1;break}G:do if(c[pa>>2]|0){h=0;while(1){f=(c[oa>>2]|0)+h|0;if((Tt(d,Oa,Pa)|0)==1)break;Af=c[X>>2]|0;if(ha[c[(c[Af>>2]|0)+144>>2]&63](Af,f,c[Oa>>2]|0,(a[Pa>>0]|0)!=0)|0){s=486;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+148>>2]&511](Af,f)|0){s=488;break}if((Vt(d,f,0)|0)==1)break;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+152>>2]&511](Af,f)|0){s=491;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+156>>2]&511](Af,f)|0){s=493;break}h=h+1|0;if(h>>>0>=(c[pa>>2]|0)>>>0)break G}if((s|0)==486)Nt(d,315994,ud);else if((s|0)==488)Nt(d,316022,vd);else if((s|0)==491)Nt(d,316058,wd);else if((s|0)==493)Nt(d,316092,xd);f=1;break F}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+160>>2]&127](Af)|0))f=0;else{Nt(d,316118,yd);f=1}}else{Nt(d,315916,qd);f=1}while(0);e=f|(e|0)==1;s=716;break}case 7:{Af=c[X>>2]|0;H:do if(!(fa[c[(c[Af>>2]|0)+164>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Ad>>2]=316186;Nt(d,312373,Ad);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[la>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[Bd>>2]=316186;c[Bd+4>>2]=f;c[Bd+8>>2]=h;Nt(d,312912,Bd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+168>>2]&511](Af,f)|0){Nt(d,316199,Cd);f=1;break}I:do if(c[la>>2]|0){l=0;J:while(1){c[Pa>>2]=0;c[Ia>>2]=0;if((Pt(d,Pa,316229)|0)==1)break;f=c[wa>>2]|0;j=f+1|0;h=c[d>>2]|0;if(j>>>0>h>>>0){s=511;break}i=c[V>>2]|0;k=a[i+f>>0]|0;c[wa>>2]=j;if((k&255)>=5){s=513;break}f=Rl(i+j|0,i+h|0,Oa)|0;if(!f){s=515;break}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;switch(k<<24>>24){case 0:{if(f>>>0>=((c[na>>2]|0)+(c[Na>>2]|0)|0)>>>0){s=518;break J}break}case 1:{if(f>>>0>=((c[va>>2]|0)+(c[ua>>2]|0)|0)>>>0){s=520;break J}break}case 2:{if(f>>>0>=((c[ra>>2]|0)+(c[sa>>2]|0)|0)>>>0){s=522;break J}break}case 3:{if(f>>>0>=((c[pa>>2]|0)+(c[oa>>2]|0)|0)>>>0){s=524;break J}break}case 4:{if(!(a[c[xa>>2]>>0]|0)){s=526;break J}break}default:{}}Af=c[X>>2]|0;zf=c[(c[Af>>2]|0)+172>>2]|0;r=Pa;xf=c[r+4>>2]|0;yf=A;c[yf>>2]=c[r>>2];c[yf+4>>2]=xf;c[Oa>>2]=c[A>>2];c[Oa+4>>2]=c[A+4>>2];if(ia[zf&31](Af,l,k&255,f,Oa)|0){s=528;break}l=l+1|0;if(l>>>0>=(c[la>>2]|0)>>>0)break I}if((s|0)==511){c[Dd>>2]=315050;c[Dd+4>>2]=316246;Nt(d,312170,Dd)}else if((s|0)==513){c[Ed>>2]=k&255;Nt(d,316258,Ed)}else if((s|0)==515){c[Fd>>2]=316291;Nt(d,312373,Fd)}else if((s|0)==518){c[Gd>>2]=f;Nt(d,316309,Gd)}else if((s|0)==520){c[Hd>>2]=f;Nt(d,316339,Hd)}else if((s|0)==522){c[Jd>>2]=f;Nt(d,316370,Jd)}else if((s|0)==524){c[Kd>>2]=f;Nt(d,316402,Kd)}else if((s|0)==526)Nt(d,316434,Ld);else if((s|0)==528)Nt(d,316484,Md);f=1;break H}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+176>>2]&127](Af)|0))f=0;else{Nt(d,316509,Nd);f=1}}else{Nt(d,316151,zd);f=1}while(0);e=f|(e|0)==1;s=716;break}case 8:{Af=c[X>>2]|0;do if(!(fa[c[(c[Af>>2]|0)+180>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Pd>>2]=316576;Nt(d,312373,Pd);f=1;break}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;if(f>>>0>=((c[na>>2]|0)+(c[Na>>2]|0)|0)>>>0){c[Qd>>2]=f;Nt(d,316597,Qd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+184>>2]&511](Af,f)|0){Nt(d,316630,Sd);f=1;break}Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+188>>2]&127](Af)|0))f=0;else{Nt(d,316662,Td);f=1}}else{Nt(d,316542,Od);f=1}while(0);e=f|(e|0)==1;s=716;break}case 9:{Af=c[X>>2]|0;K:do if(!(fa[c[(c[Af>>2]|0)+516>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Vd>>2]=316727;Nt(d,312373,Vd);f=1;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;k=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(k>>>0>f>>>0){c[Wd>>2]=316727;c[Wd+4>>2]=k;c[Wd+8>>2]=f;Nt(d,312912,Wd);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+520>>2]&511](Af,k)|0){Nt(d,316746,Xd);f=1;break}L:do if(k|0){if((c[va>>2]|0)==(0-(c[ua>>2]|0)|0)){Nt(d,316781,Yd);f=1;break K}j=0;M:while(1){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;if(!f){s=558;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Pa>>2]|0;if(f>>>0>=3){s=560;break}i=f&255;if(i<<24>>24==2){f=c[V>>2]|0;f=Rl(f+h|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=564;break}c[wa>>2]=(c[wa>>2]|0)+f;h=c[Oa>>2]|0}else h=0;Af=c[X>>2]|0;f=i<<24>>24==1;if(ha[c[(c[Af>>2]|0)+524>>2]&63](Af,j,h,f)|0){s=566;break}if(!f){Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+528>>2]&511](Af,j)|0){s=569;break}if((Vt(d,j,1)|0)==1)break;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+532>>2]&511](Af,j)|0){s=572;break}}f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=574;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;i=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(i>>>0>f>>>0){s=576;break}Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+536>>2]&127](Af,j,i)|0){s=578;break}if(i|0){h=0;do{f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=583;break M}c[wa>>2]=(c[wa>>2]|0)+f;Af=c[X>>2]|0;h=h+1|0;if(ga[c[(c[Af>>2]|0)+540>>2]&127](Af,j,c[Oa>>2]|0)|0){s=585;break M}}while(h>>>0<i>>>0)}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+544>>2]&511](Af,j)|0){s=587;break}j=j+1|0;if(j>>>0>=k>>>0)break L}switch(s|0){case 558:{c[Zd>>2]=316816;Nt(d,312373,Zd);break}case 560:{Nt(d,316835,_d);break}case 564:{c[$d>>2]=316862;Nt(d,312373,$d);break}case 566:{Nt(d,316887,ae);break}case 569:{Nt(d,316920,be);break}case 572:{Nt(d,316961,de);break}case 574:{c[ee>>2]=317e3;Nt(d,312373,ee);break}case 576:{c[fe>>2]=317e3;c[fe+4>>2]=i;c[fe+8>>2]=f;Nt(d,312912,fe);break}case 578:{Nt(d,317034,ge);break}case 583:{c[he>>2]=317082;Nt(d,312373,he);break}case 585:{Nt(d,317110,ie);break}case 587:{Nt(d,317153,je);break}}f=1;break K}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+548>>2]&127](Af)|0))f=0;else{Nt(d,317184,ke);f=1}}else{Nt(d,316694,Ud);f=1}while(0);e=f|(e|0)==1;s=716;break}case 10:{Af=c[X>>2]|0;N:do if(!(fa[c[(c[Af>>2]|0)+192>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[me>>2]=317248;Nt(d,312373,me);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[ma>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[ne>>2]=317248;c[ne+4>>2]=f;c[ne+8>>2]=h;Nt(d,312912,ne);f=1;break}if((c[na>>2]|0)!=(f|0)){Nt(d,312286,pe);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+196>>2]&511](Af,f)|0){Nt(d,317268,qe);f=1;break}O:do if(c[ma>>2]|0){o=0;P:while(1){n=(c[Na>>2]|0)+o|0;f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;if(!f){s=606;break}m=(c[wa>>2]|0)+f|0;c[wa>>2]=m;Af=c[Pa>>2]|0;m=Af+m|0;zf=c[X>>2]|0;if(ga[c[(c[zf>>2]|0)+200>>2]&127](zf,n,Af)|0){s=608;break}f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=610;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;l=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(l>>>0>f>>>0){s=612;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+204>>2]&511](Af,l)|0){s=614;break}Q:do if(l|0){i=0;j=0;k=0;while(1){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=619;break P}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;h=c[Oa>>2]|0;i=$B(i|0,j|0,h|0,0)|0;j=z()|0;if(!(j>>>0<0|(j|0)==0&i>>>0<4294967295)){s=621;break P}c[Oa>>2]=0;Af=c[V>>2]|0;f=Sl(Af+f|0,Af+(c[d>>2]|0)|0,Oa)|0;if(!f){s=623;break P}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;switch(f|0){case -4:case -3:case -2:case -1:break;case -5:{if(!(a[(c[xa>>2]|0)+4>>0]|0)){s=628;break P}break}case -24:{if(!(a[c[xa>>2]>>0]|0)){s=628;break P}break}case -17:{if(!(a[(c[xa>>2]|0)+9>>0]|0)){s=628;break P}break}default:{s=628;break P}}Af=c[X>>2]|0;if(ha[c[(c[Af>>2]|0)+208>>2]&63](Af,k,h,f)|0){s=630;break P}k=k+1|0;if(k>>>0>=l>>>0)break Q}}while(0);if((Wt(d,m)|0)==1)break;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+500>>2]&511](Af,n)|0){s=633;break}o=o+1|0;if(o>>>0>=(c[ma>>2]|0)>>>0)break O}switch(s|0){case 606:{c[re>>2]=317304;Nt(d,312373,re);break}case 608:{Nt(d,317323,se);break}case 610:{c[te>>2]=317357;Nt(d,312373,te);break}case 612:{c[ue>>2]=317357;c[ue+4>>2]=l;c[ue+8>>2]=f;Nt(d,312912,ue);break}case 614:{Nt(d,317381,ve);break}case 619:{c[we>>2]=317414;Nt(d,312373,we);break}case 621:{Nt(d,317431,xe);break}case 623:{c[ye>>2]=317464;Nt(d,313868,ye);break}case 628:{Nt(d,317475,ze);break}case 630:{Nt(d,317501,Be);break}case 633:{Nt(d,317529,Ce);break}}f=1;break N}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+504>>2]&127](Af)|0))f=0;else{Nt(d,317561,De);f=1}}else{Nt(d,317215,le);f=1}while(0);e=f|(e|0)==1;s=716;break}case 11:{Af=c[X>>2]|0;R:do if(!(fa[c[(c[Af>>2]|0)+552>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Fe>>2]=317625;Nt(d,312373,Fe);f=1;break}f=(c[wa>>2]|0)+f|0;c[wa>>2]=f;k=c[Oa>>2]|0;f=(c[d>>2]|0)-f|0;if(k>>>0>f>>>0){c[Ge>>2]=317625;c[Ge+4>>2]=k;c[Ge+8>>2]=f;Nt(d,312912,Ge);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+556>>2]&511](Af,k)|0){Nt(d,317644,He);f=1;break}f=(k|0)==0;if(!f?(c[ra>>2]|0)==(0-(c[sa>>2]|0)|0):0){Nt(d,317679,Ie);f=1;break}Af=c[W>>2]|0;if(!((Af|0)==-1|(Af|0)==(k|0))){Nt(d,317715,Je);f=1;break}S:do if(!f){j=0;while(1){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Pa)|0;if(!f){s=655;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Pa>>2]|0;if(f>>>0>=3){s=657;break}i=f&255;if(i<<24>>24==2){f=c[V>>2]|0;f=Rl(f+h|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=661;break}c[wa>>2]=(c[wa>>2]|0)+f;h=c[Oa>>2]|0}else h=0;Af=c[X>>2]|0;f=i<<24>>24==1;if(ha[c[(c[Af>>2]|0)+560>>2]&63](Af,j,h,f)|0){s=663;break}if(!f){Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+564>>2]&511](Af,j)|0){s=666;break}if((Vt(d,j,1)|0)==1)break;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+568>>2]&511](Af,j)|0){s=669;break}}c[Oa>>2]=0;f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){s=671;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;i=f+h|0;if(i>>>0>(c[d>>2]|0)>>>0){s=673;break}Af=(c[V>>2]|0)+h|0;c[wa>>2]=i;zf=c[X>>2]|0;if(ha[c[(c[zf>>2]|0)+572>>2]&63](zf,j,Af,f)|0){s=676;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+576>>2]&511](Af,j)|0){s=678;break}j=j+1|0;if(j>>>0>=k>>>0)break S}switch(s|0){case 655:{s=0;c[Ke>>2]=317776;Nt(d,312373,Ke);break}case 657:{s=0;Nt(d,317795,Le);break}case 661:{s=0;c[Me>>2]=317822;Nt(d,312373,Me);break}case 663:{s=0;Nt(d,317848,Oe);break}case 666:{s=0;Nt(d,317881,Pe);break}case 669:{s=0;Nt(d,317922,Qe);break}case 671:{c[Re>>2]=317979;Nt(d,312373,Re);s=674;break}case 673:{c[Se>>2]=317961;Nt(d,317989,Se);s=674;break}case 676:{s=0;Nt(d,318013,Te);break}case 678:{s=0;Nt(d,318047,Ue);break}}f=1;break R}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+580>>2]&127](Af)|0))f=0;else{Nt(d,318078,Ve);f=1}}else{Nt(d,317592,Ee);f=1}while(0);e=f|(e|0)==1;s=716;break}case 13:{if(!(a[f>>0]|0)){s=685;break a}Af=c[X>>2]|0;T:do if(!(fa[c[(c[Af>>2]|0)+728>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[Ze>>2]=318143;Nt(d,312373,Ze);f=1;break}h=(c[wa>>2]|0)+f|0;c[wa>>2]=h;f=c[Oa>>2]|0;c[da>>2]=f;h=(c[d>>2]|0)-h|0;if(f>>>0>h>>>0){c[_e>>2]=318143;c[_e+4>>2]=f;c[_e+8>>2]=h;Nt(d,312912,_e);f=1;break}Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+732>>2]&511](Af,f)|0){Nt(d,318155,$e);f=1;break}U:do if(c[da>>2]|0){h=0;while(1){f=c[ca>>2]|0;if((Ut(d,Oa)|0)==1)break;Af=c[X>>2]|0;if(ga[c[(c[Af>>2]|0)+736>>2]&127](Af,f+h|0,c[Oa>>2]|0)|0){s=698;break}h=h+1|0;if(h>>>0>=(c[da>>2]|0)>>>0)break U}if((s|0)==698)Nt(d,318184,af);f=1;break T}while(0);Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+740>>2]&127](Af)|0))f=0;else{Nt(d,318212,bf);f=1}}else{Nt(d,318109,Ye);f=1}while(0);e=f|(e|0)==1;s=716;break}case 12:{if(!(a[f+8>>0]|0)){s=705;break a}Af=c[X>>2]|0;do if(!(fa[c[(c[Af>>2]|0)+584>>2]&511](Af,i)|0)){f=c[V>>2]|0;f=Rl(f+(c[wa>>2]|0)|0,f+(c[d>>2]|0)|0,Oa)|0;if(!f){c[ff>>2]=318282;Nt(d,312373,ff);f=1;break}c[wa>>2]=(c[wa>>2]|0)+f;f=c[Oa>>2]|0;Af=c[X>>2]|0;if(fa[c[(c[Af>>2]|0)+588>>2]&511](Af,f)|0){Nt(d,318293,gf);f=1;break}Af=c[X>>2]|0;if(!(ea[c[(c[Af>>2]|0)+592>>2]&127](Af)|0)){c[W>>2]=f;f=0;break}else{Nt(d,318321,hf);f=1;break}}else{Nt(d,318244,ef);f=1}while(0);e=f|(e|0)==1;s=716;break}default:if(g){s=724;break a}else s=718}while(0);if((s|0)==716){s=0;if((f|0)==1)if(g){s=724;break}else s=718}if((s|0)==718){s=0;c[wa>>2]=c[d>>2]}g=c[wa>>2]|0;f=c[d>>2]|0;if((g|0)!=(f|0)){s=720;break}if(!t)c[ba>>2]=u;c[d>>2]=v;if(g>>>0>=(c[Ca>>2]|0)>>>0){s=726;break}}switch(s|0){case 4:{c[Qa>>2]=312360;Nt(d,312373,Qa);s=723;break}case 6:{c[Ra>>2]=312403;Nt(d,312373,Ra);s=723;break}case 8:{c[gd>>2]=u;Nt(d,312416,gd);s=724;break}case 10:{Nt(d,312441,lf);s=724;break}case 13:{Af=Lt(u)|0;c[sf>>2]=Af;Nt(d,312480,sf);s=724;break}case 15:{Af=Lt(u)|0;c[_a>>2]=Af;Nt(d,312504,_a);s=724;break}case 17:{Nt(d,312548,kb);s=724;break}case 220:break;case 685:{c[We>>2]=13;Nt(d,312416,We);s=724;break}case 705:{c[cf>>2]=12;Nt(d,312416,cf);s=724;break}case 720:{c[jf>>2]=f;Nt(d,318357,jf);s=724;break}case 726:{aa=wf;return e|0}}if((s|0)==723){Af=1;aa=wf;return Af|0}else if((s|0)==724){c[d>>2]=v;Af=1;aa=wf;return Af|0}return 0}function Pt(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=aa;aa=aa+32|0;k=l+16|0;j=l+8|0;f=l;g=l+20|0;c[g>>2]=0;h=a+4|0;e=c[h>>2]|0;i=a+12|0;e=Rl(e+(c[i>>2]|0)|0,e+(c[a>>2]|0)|0,g)|0;if(!e){c[f>>2]=323090;Nt(a,312373,f);k=1;aa=l;return k|0}f=(c[i>>2]|0)+e|0;c[i>>2]=f;e=c[g>>2]|0;if((e+f|0)>>>0>(c[a>>2]|0)>>>0){c[j>>2]=d;Nt(a,323104,j);k=1;aa=l;return k|0}j=(c[h>>2]|0)+f|0;c[b>>2]=j;c[b+4>>2]=e;c[i>>2]=(c[i>>2]|0)+e;if(Cz(j,e)|0){k=0;aa=l;return k|0}c[k>>2]=d;Nt(a,323130,k);k=1;aa=l;return k|0}function Qt(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;k=a+8|0;e=c[k>>2]|0;j=a+4|0;d=c[j>>2]|0;if(e-d>>2>>>0>=b>>>0){lC(d|0,0,b<<2|0)|0;c[j>>2]=d+(b<<2);return}i=c[a>>2]|0;g=d-i|0;f=g>>2;d=f+b|0;if(d>>>0>1073741823)yB();m=e-i|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{l=RA(e<<2)|0;h=l;break}else{h=0;l=0}while(0);d=l+(f<<2)|0;lC(d|0,0,b<<2|0)|0;if((g|0)>0)jC(h|0,i|0,g|0)|0;c[a>>2]=l;c[j>>2]=d+(b<<2);c[k>>2]=l+(e<<2);if(!i)return;SA(i);return}function Rt(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=aa;aa=aa+64|0;q=r+48|0;o=r+40|0;l=r+32|0;i=r+24|0;h=r+16|0;g=r;j=r+60|0;m=r+56|0;p=r+52|0;c[j>>2]=0;k=b+4|0;f=c[k>>2]|0;n=b+12|0;f=Sl(f+(c[n>>2]|0)|0,f+(c[b>>2]|0)|0,j)|0;if(!f){c[g>>2]=322898;Nt(b,313868,g);e=1;aa=r;return e|0}f=(c[n>>2]|0)+f|0;c[n>>2]=f;g=c[j>>2]|0;c[d>>2]=g;if((g+17|0)>>>0>=2){Nt(b,322914,r+8|0);e=1;aa=r;return e|0}c[p>>2]=0;d=c[k>>2]|0;f=Rl(d+f|0,d+(c[b>>2]|0)|0,j)|0;do if(!f){c[h>>2]=322956;Nt(b,312373,h);f=1}else{h=(c[n>>2]|0)+f|0;c[n>>2]=h;f=c[k>>2]|0;f=Rl(f+h|0,f+(c[b>>2]|0)|0,m)|0;if(!f){c[i>>2]=322968;Nt(b,312373,i);f=1;break}g=(c[n>>2]|0)+f|0;c[n>>2]=g;j=c[j>>2]|0;f=j&1;d=f&255;if(j&2|0){Nt(b,322993,l);f=1;break}if(f){f=c[k>>2]|0;f=Rl(f+g|0,f+(c[b>>2]|0)|0,p)|0;if(!f){c[o>>2]=323018;Nt(b,312373,o);f=1;break}c[n>>2]=(c[n>>2]|0)+f;g=c[m>>2]|0;f=c[p>>2]|0;if(g>>>0>f>>>0){Nt(b,323039,q);f=1;break}}else{g=c[m>>2]|0;f=0}a[e+16>>0]=d;q=e;c[q>>2]=g;c[q+4>>2]=0;e=e+8|0;c[e>>2]=f;c[e+4>>2]=0;f=0}while(0);e=f;aa=r;return e|0}function St(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;q=aa;aa=aa+64|0;p=q+48|0;o=q+40|0;n=q+32|0;g=q+8|0;f=q;i=q+60|0;h=q+56|0;l=q+52|0;c[l>>2]=0;k=b+4|0;e=c[k>>2]|0;m=b+12|0;e=Rl(e+(c[m>>2]|0)|0,e+(c[b>>2]|0)|0,i)|0;if(!e){c[f>>2]=322710;Nt(b,312373,f);d=1;aa=q;return d|0}j=(c[m>>2]|0)+e|0;c[m>>2]=j;e=c[k>>2]|0;e=Rl(e+j|0,e+(c[b>>2]|0)|0,h)|0;if(!e){c[g>>2]=322723;Nt(b,312373,g);d=1;aa=q;return d|0}f=(c[m>>2]|0)+e|0;c[m>>2]=f;j=c[h>>2]|0;if(j>>>0>=65537){Nt(b,322749,q+16|0);d=1;aa=q;return d|0}i=c[i>>2]|0;e=i&1;h=e&255;g=i>>>1&1;if((i&3|0)==2){Nt(b,322777,q+24|0);d=1;aa=q;return d|0}if(e){e=c[k>>2]|0;e=Rl(e+f|0,e+(c[b>>2]|0)|0,l)|0;if(!e){c[n>>2]=322812;Nt(b,312373,n);d=1;aa=q;return d|0}c[m>>2]=(c[m>>2]|0)+e;e=c[l>>2]|0;if(e>>>0>=65537){Nt(b,322834,o);d=1;aa=q;return d|0}if(j>>>0>e>>>0){Nt(b,322858,p);d=1;aa=q;return d|0}}else e=0;a[d+16>>0]=h;a[d+17>>0]=g;p=d;c[p>>2]=j;c[p+4>>2]=0;d=d+8|0;c[d>>2]=e;c[d+4>>2]=0;d=0;aa=q;return d|0}function Tt(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=aa;aa=aa+32|0;n=o+24|0;l=o+16|0;i=o+8|0;g=o;h=o+28|0;c[h>>2]=0;k=b+4|0;f=c[k>>2]|0;m=b+12|0;f=Sl(f+(c[m>>2]|0)|0,f+(c[b>>2]|0)|0,h)|0;if(!f){c[g>>2]=322622;Nt(b,313868,g);n=1;aa=o;return n|0}f=(c[m>>2]|0)+f|0;c[m>>2]=f;h=c[h>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{if(!(a[(c[b+76>>2]|0)+4>>0]|0))j=7;break}case -24:{if(!(a[c[b+76>>2]>>0]|0))j=7;break}case -17:{if(!(a[(c[b+76>>2]|0)+9>>0]|0))j=7;break}default:j=7}if((j|0)==7){c[i>>2]=h;Nt(b,322634,i);n=1;aa=o;return n|0}g=f+1|0;if(g>>>0>(c[b>>2]|0)>>>0){c[l>>2]=315050;c[l+4>>2]=322659;Nt(b,312170,l);n=1;aa=o;return n|0}f=a[(c[k>>2]|0)+f>>0]|0;c[m>>2]=g;if((f&255)<2){c[d>>2]=h;a[e>>0]=f<<24>>24!=0&1;n=0;aa=o;return n|0}else{Nt(b,322677,n);n=1;aa=o;return n|0}return 0}function Ut(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=aa;aa=aa+32|0;j=k+16|0;e=k;i=k+24|0;f=k+20|0;g=a+4|0;d=c[g>>2]|0;h=a+12|0;d=Rl(d+(c[h>>2]|0)|0,d+(c[a>>2]|0)|0,f)|0;if(!d){c[e>>2]=322558;Nt(a,312373,e);j=1;aa=k;return j|0}d=(c[h>>2]|0)+d|0;c[h>>2]=d;if(c[f>>2]|0){Nt(a,322574,k+8|0);j=1;aa=k;return j|0}g=c[g>>2]|0;d=Rl(g+d|0,g+(c[a>>2]|0)|0,i)|0;if(!d){c[j>>2]=322600;Nt(a,312373,j);j=1;aa=k;return j|0}else{c[h>>2]=(c[h>>2]|0)+d;c[b>>2]=c[i>>2];j=0;aa=k;return j|0}return 0}function Vt(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;v=aa;aa=aa+160|0;q=v+112|0;u=v+104|0;t=v+96|0;k=v+88|0;j=v+80|0;p=v+72|0;h=v+64|0;m=v+48|0;n=v+32|0;l=v+16|0;i=v;r=v+144|0;o=v+128|0;if((Xt(b,r)|0)==1){u=1;aa=v;return u|0}s=c[r>>2]|0;if(!(hm(s,c[b+76>>2]|0)|0)){Yt(b,s,0);u=1;aa=v;return u|0}a:do switch(s|0){case 52:{c[q>>2]=0;g=c[b+4>>2]|0;h=b+12|0;g=Sl(g+(c[h>>2]|0)|0,g+(c[b>>2]|0)|0,q)|0;if(!g){c[i>>2]=322066;Nt(b,313868,i);u=1;aa=v;return u|0}c[h>>2]=(c[h>>2]|0)+g;p=c[b+36>>2]|0;if(!(ga[c[(c[p>>2]|0)+760>>2]&127](p,e,c[q>>2]|0)|0))break a;Nt(b,322092,v+8|0);u=1;aa=v;return u|0}case 53:{g=q;c[g>>2]=0;c[g+4>>2]=0;g=c[b+4>>2]|0;h=b+12|0;g=Tl(g+(c[h>>2]|0)|0,g+(c[b>>2]|0)|0,q)|0;if(!g){c[l>>2]=322131;Nt(b,319185,l);u=1;aa=v;return u|0}c[h>>2]=(c[h>>2]|0)+g;p=c[b+36>>2]|0;if(!(ha[c[(c[p>>2]|0)+764>>2]&63](p,e,c[q>>2]|0,c[q+4>>2]|0)|0))break a;Nt(b,322157,v+24|0);u=1;aa=v;return u|0}case 54:{i=b+12|0;g=c[i>>2]|0;h=g+4|0;if(h>>>0>(c[b>>2]|0)>>>0){c[n>>2]=319293;c[n+4>>2]=322196;Nt(b,312170,n);u=1;aa=v;return u|0}q=(c[b+4>>2]|0)+g|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;c[i>>2]=h;p=c[b+36>>2]|0;if(ga[c[(c[p>>2]|0)+744>>2]&127](p,e,q)|0){Nt(b,322222,v+40|0);u=1;aa=v;return u|0}break}case 55:{i=b+12|0;g=c[i>>2]|0;h=g+8|0;if(h>>>0>(c[b>>2]|0)>>>0){c[m>>2]=319374;c[m+4>>2]=322261;Nt(b,312170,m);u=1;aa=v;return u|0}q=(c[b+4>>2]|0)+g|0;p=q;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;c[i>>2]=h;o=c[b+36>>2]|0;if(ha[c[(c[o>>2]|0)+748>>2]&63](o,e,p,q)|0){Nt(b,322287,v+56|0);u=1;aa=v;return u|0}break}case 212:{c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;k=b+12|0;g=c[k>>2]|0;j=g+16|0;if(j>>>0>(c[b>>2]|0)>>>0){c[h>>2]=329741;c[h+4>>2]=322326;Nt(b,312170,h);u=1;aa=v;return u|0}i=o;g=(c[b+4>>2]|0)+g|0;h=i+16|0;do{a[i>>0]=a[g>>0]|0;i=i+1|0;g=g+1|0}while((i|0)<(h|0));c[k>>2]=j;n=c[b+36>>2]|0;m=c[(c[n>>2]|0)+752>>2]|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];if(!(ga[m&127](n,e,q)|0))break a;Nt(b,322353,p);u=1;aa=v;return u|0}case 25:{g=c[b+4>>2]|0;h=b+12|0;g=Rl(g+(c[h>>2]|0)|0,g+(c[b>>2]|0)|0,q)|0;if(!g){c[j>>2]=322393;Nt(b,312373,j);u=1;aa=v;return u|0}c[h>>2]=(c[h>>2]|0)+g;p=c[b+36>>2]|0;if(ga[c[(c[p>>2]|0)+756>>2]&127](p,e,c[q>>2]|0)|0){Nt(b,322420,k);u=1;aa=v;return u|0}break}case 11:{u=0;aa=v;return u|0}default:{Yt(b,s,322460);u=1;aa=v;return u|0}}while(0);b:do if(f){switch(s|0){case 25:case 52:break b;default:{}}Nt(b,322486,t);u=1;aa=v;return u|0}while(0);if((Xt(b,r)|0)==1){u=1;aa=v;return u|0}if((c[r>>2]|0)==11){u=0;aa=v;return u|0}Nt(b,322509,u);u=1;aa=v;return u|0}function Wt(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,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,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,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0;Zd=aa;aa=aa+1840|0;Q=Zd+1712|0;G=Zd+1824|0;Yd=Zd+1704|0;Xd=Zd+1696|0;yd=Zd+1688|0;xd=Zd+1680|0;vd=Zd+1672|0;ud=Zd+1664|0;td=Zd+1656|0;sd=Zd+1648|0;qd=Zd+1640|0;pd=Zd+1632|0;od=Zd+1624|0;nd=Zd+1616|0;md=Zd+1608|0;ld=Zd+1600|0;kd=Zd+1592|0;jd=Zd+1584|0;id=Zd+1576|0;hd=Zd+1568|0;gd=Zd+1560|0;fd=Zd+1552|0;ed=Zd+1544|0;cd=Zd+1536|0;bd=Zd+1528|0;ad=Zd+1520|0;$c=Zd+1512|0;_c=Zd+1504|0;Zc=Zd+1496|0;Yc=Zd+1488|0;Xc=Zd+1480|0;Vc=Zd+1472|0;Uc=Zd+1464|0;Tc=Zd+1456|0;Sc=Zd+1448|0;Rc=Zd+1440|0;Qc=Zd+1432|0;Pc=Zd+1424|0;Oc=Zd+1416|0;Mc=Zd+1408|0;Lc=Zd+1400|0;Kc=Zd+1392|0;Jc=Zd+1384|0;Ic=Zd+1376|0;Hc=Zd+1368|0;Gc=Zd+1360|0;Fc=Zd+1352|0;Ec=Zd+1344|0;Dc=Zd+1336|0;Cc=Zd+1328|0;Ac=Zd+1320|0;zc=Zd+1312|0;yc=Zd+1304|0;xc=Zd+1296|0;wc=Zd+1288|0;vc=Zd+1280|0;uc=Zd+1272|0;tc=Zd+1264|0;rc=Zd+1256|0;qc=Zd+1248|0;pc=Zd+1240|0;oc=Zd+1232|0;nc=Zd+1224|0;mc=Zd+1216|0;lc=Zd+1208|0;kc=Zd+1200|0;ic=Zd+1192|0;hc=Zd+1184|0;gc=Zd+1176|0;fc=Zd+1168|0;ec=Zd+1160|0;dc=Zd+1152|0;cc=Zd+1144|0;bc=Zd+1136|0;$b=Zd+1128|0;_b=Zd+1120|0;Zb=Zd+1112|0;Yb=Zd+1104|0;Xb=Zd+1096|0;Wb=Zd+1088|0;Vb=Zd+1080|0;Ub=Zd+1072|0;Tb=Zd+1064|0;Rb=Zd+1056|0;Qb=Zd+1048|0;Pb=Zd+1040|0;Ob=Zd+1032|0;Nb=Zd+1024|0;Lb=Zd+1016|0;Kb=Zd+1008|0;Jb=Zd+1e3|0;Ib=Zd+992|0;Gb=Zd+984|0;Fb=Zd+976|0;Eb=Zd+968|0;Db=Zd+960|0;Cb=Zd+952|0;Bb=Zd+944|0;Ab=Zd+936|0;zb=Zd+928|0;xb=Zd+920|0;wb=Zd+912|0;vb=Zd+904|0;ub=Zd+896|0;tb=Zd+888|0;sb=Zd+880|0;rb=Zd+872|0;qb=Zd+864|0;pb=Zd+856|0;ob=Zd+848|0;mb=Zd+840|0;lb=Zd+832|0;kb=Zd+824|0;jb=Zd+816|0;ib=Zd+808|0;hb=Zd+800|0;gb=Zd+792|0;fb=Zd+784|0;eb=Zd+776|0;db=Zd+768|0;cb=Zd+760|0;bb=Zd+752|0;$a=Zd+744|0;_a=Zd+736|0;Za=Zd+728|0;Ya=Zd+720|0;Xa=Zd+712|0;Wa=Zd+704|0;Va=Zd+696|0;Ua=Zd+688|0;Ta=Zd+680|0;Ra=Zd+672|0;Qa=Zd+664|0;Pa=Zd+656|0;Oa=Zd+648|0;Na=Zd+640|0;Ma=Zd+632|0;La=Zd+624|0;Ja=Zd+616|0;Ia=Zd+608|0;Ha=Zd+600|0;Ga=Zd+592|0;Fa=Zd+584|0;Ea=Zd+576|0;Da=Zd+568|0;Ca=Zd+560|0;Aa=Zd+552|0;za=Zd+544|0;ya=Zd+536|0;xa=Zd+528|0;wa=Zd+520|0;va=Zd+512|0;ua=Zd+504|0;ta=Zd+496|0;sa=Zd+488|0;ra=Zd+480|0;qa=Zd+472|0;pa=Zd+464|0;oa=Zd+456|0;ma=Zd+448|0;la=Zd+440|0;ka=Zd+432|0;ja=Zd+424|0;ia=Zd+416|0;da=Zd+408|0;ca=Zd+400|0;ba=Zd+392|0;_=Zd+384|0;Z=Zd+376|0;Y=Zd+368|0;X=Zd+360|0;Vd=Zd+352|0;Ud=Zd+344|0;Td=Zd+336|0;Sd=Zd+328|0;Qd=Zd+320|0;Pd=Zd+312|0;Od=Zd+304|0;Nd=Zd+296|0;Md=Zd+288|0;Ld=Zd+280|0;Kd=Zd+272|0;Jd=Zd+264|0;Id=Zd+256|0;Gd=Zd+248|0;Fd=Zd+240|0;Ed=Zd+232|0;Dd=Zd+224|0;Cd=Zd+216|0;Bd=Zd+208|0;Ad=Zd+200|0;zd=Zd+192|0;rd=Zd+184|0;dd=Zd+176|0;Wc=Zd+168|0;Nc=Zd+160|0;Bc=Zd+152|0;sc=Zd+144|0;jc=Zd+136|0;ac=Zd+128|0;Sb=Zd+120|0;Hb=Zd+112|0;yb=Zd+104|0;nb=Zd+96|0;ab=Zd+88|0;Sa=Zd+80|0;Ka=Zd+72|0;Ba=Zd+64|0;na=Zd+56|0;$=Zd+48|0;Rd=Zd+40|0;Hd=Zd+32|0;wd=Zd+24|0;Mb=Zd+16|0;W=Zd+8|0;V=Zd;U=Zd+1744|0;R=Zd+1816|0;T=Zd+1728|0;y=Zd+1812|0;z=Zd+1808|0;A=Zd+1804|0;B=Zd+1800|0;C=Zd+1796|0;D=Zd+1792|0;E=Zd+1788|0;F=Zd+1784|0;H=Zd+1780|0;I=Zd+1776|0;J=Zd+1772|0;K=Zd+1768|0;L=Zd+1764|0;M=Zd+1760|0;N=Zd+1756|0;O=Zd+1752|0;P=Zd+1748|0;S=b+12|0;g=c[S>>2]|0;a:do if(g>>>0<e>>>0){m=b+36|0;o=b+76|0;l=b+4|0;t=b+64|0;k=b+68|0;u=b+96|0;v=b+116|0;n=b+88|0;w=b+100|0;x=b+120|0;f=0;b:while(1){if((Xt(b,U)|0)==1)break;i=c[m>>2]|0;h=c[(c[i>>2]|0)+212>>2]|0;j=c[U>>2]|0;c[R>>2]=j;c[Q>>2]=c[R>>2];if(fa[h&511](i,Q)|0){Wd=5;break}if(!(hm(j,c[o>>2]|0)|0)){Wd=7;break}c:do switch(j|0){case 0:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+496>>2]&127](j)|0){Wd=10;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=12;break b}break}case 2:{c[Q>>2]=0;g=c[l>>2]|0;g=Sl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=14;break b}c[S>>2]=(c[S>>2]|0)+g;h=c[Q>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;Wd=19;break}case -24:{g=c[o>>2]|0;Wd=19;break}case -17:{g=(c[o>>2]|0)+9|0;Wd=19;break}default:{p=0;Wd=20}}if((Wd|0)==19){p=(a[g>>0]|0)!=0;Wd=20}if((Wd|0)==20?(Wd=0,!((h|0)==-64|p)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){Wd=23;break b}if((c[n>>2]|0)>>>0<=h>>>0){Wd=23;break b}}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+284>>2]&511](j,h)|0){Wd=25;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+252>>2]&511](j,h)|0){Wd=27;break b}break}case 3:{c[Q>>2]=0;g=c[l>>2]|0;g=Sl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=29;break b}c[S>>2]=(c[S>>2]|0)+g;h=c[Q>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;Wd=34;break}case -24:{g=c[o>>2]|0;Wd=34;break}case -17:{g=(c[o>>2]|0)+9|0;Wd=34;break}default:{r=0;Wd=35}}if((Wd|0)==34){r=(a[g>>0]|0)!=0;Wd=35}if((Wd|0)==35?(Wd=0,!((h|0)==-64|r)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){Wd=38;break b}if((c[n>>2]|0)>>>0<=h>>>0){Wd=38;break b}}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+388>>2]&511](j,h)|0){Wd=40;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+252>>2]&511](j,h)|0){Wd=42;break b}break}case 4:{c[Q>>2]=0;g=c[l>>2]|0;g=Sl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=44;break b}c[S>>2]=(c[S>>2]|0)+g;h=c[Q>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;Wd=49;break}case -24:{g=c[o>>2]|0;Wd=49;break}case -17:{g=(c[o>>2]|0)+9|0;Wd=49;break}default:{s=0;Wd=50}}if((Wd|0)==49){s=(a[g>>0]|0)!=0;Wd=50}if((Wd|0)==50?(Wd=0,!((h|0)==-64|s)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){Wd=53;break b}if((c[n>>2]|0)>>>0<=h>>>0){Wd=53;break b}}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+368>>2]&511](j,h)|0){Wd=55;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+252>>2]&511](j,h)|0){Wd=57;break b}break}case 5:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+328>>2]&127](j)|0){Wd=59;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=61;break b}break}case 21:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+472>>2]&127](j)|0){Wd=63;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=65;break b}break}case 12:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=67;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+288>>2]&511](j,g)|0){Wd=69;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=71;break b}break}case 13:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=73;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+292>>2]&511](j,g)|0){Wd=75;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=77;break b}break}case 14:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=79;break b}g=(c[S>>2]|0)+g|0;c[S>>2]=g;j=c[Q>>2]|0;h=c[t>>2]|0;i=(c[k>>2]|0)-h>>2;if(j>>>0<=i>>>0){if(j>>>0<i>>>0)c[k>>2]=h+(j<<2);if(!j)h=1;else Wd=85}else{Zt(t,j-i|0);g=c[S>>2]|0;Wd=85}if((Wd|0)==85){Wd=0;h=0;while(1){i=c[l>>2]|0;g=Rl(i+g|0,i+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=88;break b}g=(c[S>>2]|0)+g|0;c[S>>2]=g;c[(c[t>>2]|0)+(h<<2)>>2]=c[Q>>2];h=h+1|0;if(h>>>0>=j>>>0){h=0;break}}}i=c[l>>2]|0;g=Rl(i+g|0,i+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=90;break b}c[S>>2]=(c[S>>2]|0)+g;if(h)g=0;else g=c[t>>2]|0;i=c[m>>2]|0;if(ha[c[(c[i>>2]|0)+300>>2]&63](i,j,g,c[Q>>2]|0)|0){Wd=94;break b}break}case 15:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+460>>2]&127](j)|0){Wd=96;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=98;break b}break}case 1:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+452>>2]&127](j)|0){Wd=100;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=102;break b}break}case 20:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+324>>2]&127](j)|0){Wd=104;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){Wd=106;break b}break}case 11:{g=c[m>>2]|0;h=c[g>>2]|0;if((c[S>>2]|0)==(e|0))if(!(ea[c[h+336>>2]&127](g)|0)){f=1;break c}else{Wd=109;break b}else if(!(ea[c[h+332>>2]&127](g)|0))break c;else{Wd=111;break b}}case 52:{g=c[l>>2]|0;g=Sl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=113;break b}c[S>>2]=(c[S>>2]|0)+g;j=c[m>>2]|0;g=c[Q>>2]|0;if(fa[c[(c[j>>2]|0)+360>>2]&511](j,g)|0){Wd=115;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+220>>2]&511](j,g)|0){Wd=117;break b}break}case 53:{g=c[l>>2]|0;g=Tl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=120;break b}c[S>>2]=(c[S>>2]|0)+g;j=c[m>>2]|0;h=Q;g=c[h>>2]|0;h=c[h+4>>2]|0;if(ga[c[(c[j>>2]|0)+364>>2]&127](j,g,h)|0){Wd=122;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+236>>2]&127](j,g,h)|0){Wd=124;break b}break}case 54:{g=c[S>>2]|0;h=g+4|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=127;break b}g=(c[l>>2]|0)+g|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;c[S>>2]=h;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+340>>2]&511](j,g)|0){Wd=129;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+240>>2]&511](j,g)|0){Wd=131;break b}break}case 55:{g=c[S>>2]|0;i=g+8|0;if(i>>>0>(c[b>>2]|0)>>>0){Wd=133;break b}h=(c[l>>2]|0)+g|0;g=h;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+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;c[S>>2]=i;j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+344>>2]&127](j,g,h)|0){Wd=135;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+244>>2]&127](j,g,h)|0){Wd=137;break b}break}case 212:{c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;g=c[S>>2]|0;h=g+16|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=139;break b}j=G;g=(c[l>>2]|0)+g|0;i=j+16|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0));c[S>>2]=h;j=c[m>>2]|0;i=c[(c[j>>2]|0)+348>>2]|0;c[Q>>2]=c[G>>2];c[Q+4>>2]=c[G+4>>2];c[Q+8>>2]=c[G+8>>2];c[Q+12>>2]=c[G+12>>2];if(fa[i&511](j,Q)|0){Wd=141;break b}j=c[m>>2]|0;i=c[(c[j>>2]|0)+248>>2]|0;c[Q>>2]=c[G>>2];c[Q+4>>2]=c[G+4>>2];c[Q+8>>2]=c[G+8>>2];c[Q+12>>2]=c[G+12>>2];if(fa[i&511](j,Q)|0){Wd=143;break b}break}case 25:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=146;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+352>>2]&511](j,g)|0){Wd=148;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=150;break b}break}case 22:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=152;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+376>>2]&511](j,g)|0){Wd=154;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=156;break b}break}case 26:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=158;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+356>>2]&511](j,g)|0){Wd=160;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=162;break b}break}case 23:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=164;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+380>>2]&511](j,g)|0){Wd=166;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=168;break b}break}case 16:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=170;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;if(g>>>0>=((c[v>>2]|0)+(c[u>>2]|0)|0)>>>0){Wd=172;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+304>>2]&511](j,g)|0){Wd=174;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=176;break b}break}case 17:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=178;break b}g=(c[S>>2]|0)+g|0;c[S>>2]=g;i=c[Q>>2]|0;if(i>>>0>=(c[n>>2]|0)>>>0){Wd=180;break b}if(!(a[(c[o>>2]|0)+9>>0]|0)){h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=187;break b}j=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(!(j<<24>>24))g=0;else{Wd=189;break b}}else{j=c[l>>2]|0;g=Rl(j+g|0,j+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=183;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;if(g>>>0>=((c[x>>2]|0)+(c[w>>2]|0)|0)>>>0){Wd=185;break b}}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+308>>2]&127](j,i,g)|0){Wd=191;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+232>>2]&127](j,i,g)|0){Wd=193;break b}break}case 18:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=195;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;if(g>>>0>=((c[v>>2]|0)+(c[u>>2]|0)|0)>>>0){Wd=197;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+464>>2]&511](j,g)|0){Wd=199;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=201;break b}break}case 19:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=203;break b}g=(c[S>>2]|0)+g|0;c[S>>2]=g;i=c[Q>>2]|0;if(i>>>0>=(c[n>>2]|0)>>>0){Wd=205;break b}if(!(a[(c[o>>2]|0)+9>>0]|0)){h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=212;break b}j=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(!(j<<24>>24))g=0;else{Wd=214;break b}}else{j=c[l>>2]|0;g=Rl(j+g|0,j+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=208;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;if(g>>>0>=((c[x>>2]|0)+(c[w>>2]|0)|0)>>>0){Wd=210;break b}}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+468>>2]&127](j,i,g)|0){Wd=216;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+232>>2]&127](j,i,g)|0){Wd=218;break b}break}case 24:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=220;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+384>>2]&511](j,g)|0){Wd=222;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){Wd=224;break b}break}case 210:case 30:case 29:case 28:case 27:case 40:case 39:case 38:case 37:case 36:case 35:case 34:case 33:case 32:case 31:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=226;break b}i=(c[S>>2]|0)+g|0;c[S>>2]=i;g=c[l>>2]|0;g=Rl(g+i|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=228;break b}c[S>>2]=(c[S>>2]|0)+g;i=c[m>>2]|0;_d=c[(c[i>>2]|0)+372>>2]|0;c[y>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[y>>2];if(ha[_d&63](i,Q,g,h)|0){Wd=230;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=232;break b}break}case 211:case 44:case 43:case 42:case 41:case 49:case 48:case 47:case 46:case 45:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=236;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Rl(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=238;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+476>>2]|0;c[z>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[z>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=240;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=242;break b}break}case 50:{g=c[S>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=246;break b}_d=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(_d<<24>>24){Wd=248;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+412>>2]&127](_d)|0){Wd=250;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,0)|0){Wd=252;break b}break}case 51:{g=c[S>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=254;break b}_d=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(_d<<24>>24){Wd=256;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+404>>2]&127](_d)|0){Wd=258;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,0)|0){Wd=260;break b}break}case 338:case 329:case 339:case 330:case 337:case 328:case 336:case 327:case 341:case 332:case 340:case 331:case 279:case 278:case 277:case 321:case 320:case 312:case 311:case 299:case 298:case 286:case 285:case 319:case 310:case 297:case 284:case 305:case 304:case 292:case 291:case 302:case 301:case 289:case 288:case 315:case 306:case 293:case 323:case 314:case 303:case 290:case 322:case 313:case 300:case 287:case 153:case 152:case 151:case 150:case 149:case 148:case 147:case 139:case 138:case 137:case 136:case 135:case 134:case 133:case 124:case 125:case 122:case 123:case 121:case 120:case 119:case 118:case 117:case 116:case 115:case 114:case 113:case 112:case 111:case 106:case 107:case 104:case 105:case 103:case 102:case 101:case 100:case 99:case 98:case 97:case 96:case 95:case 94:case 93:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+280>>2]|0;c[A>>2]=j;c[Q>>2]=c[A>>2];if(fa[i&511](_d,Q)|0){Wd=262;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=264;break b}break}case 275:case 269:case 263:case 262:case 253:case 252:case 243:case 242:case 273:case 267:case 259:case 258:case 249:case 248:case 239:case 238:case 274:case 268:case 261:case 260:case 251:case 250:case 241:case 240:case 272:case 266:case 257:case 256:case 247:case 246:case 237:case 236:case 271:case 265:case 255:case 245:case 235:case 270:case 264:case 254:case 244:case 234:case 89:case 87:case 88:case 86:case 85:case 84:case 83:case 81:case 82:case 80:case 79:case 78:case 77:case 73:case 76:case 72:case 75:case 71:case 74:case 70:case 69:case 68:case 66:case 62:case 65:case 61:case 64:case 60:case 63:case 59:case 58:case 57:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+316>>2]|0;c[B>>2]=j;c[Q>>2]=c[B>>2];if(fa[i&511](_d,Q)|0){Wd=266;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=268;break b}break}case 335:case 326:case 333:case 324:case 334:case 325:case 318:case 309:case 296:case 283:case 317:case 308:case 295:case 282:case 276:case 316:case 307:case 294:case 281:case 231:case 228:case 225:case 222:case 218:case 214:case 146:case 145:case 144:case 143:case 142:case 141:case 140:case 132:case 131:case 130:case 129:case 128:case 127:case 126:case 110:case 109:case 108:case 92:case 91:case 90:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+488>>2]|0;c[C>>2]=j;c[Q>>2]=c[C>>2];if(fa[i&511](_d,Q)|0){Wd=270;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=272;break b}break}case 280:{_d=c[m>>2]|0;j=c[(c[_d>>2]|0)+492>>2]|0;c[D>>2]=280;c[Q>>2]=c[D>>2];if(fa[j&511](_d,Q)|0){Wd=274;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=276;break b}break}case 233:case 230:case 227:case 224:case 221:case 217:case 232:case 229:case 226:case 223:case 220:case 219:case 216:case 215:{g=c[S>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=278;break b}g=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+508>>2]|0;c[E>>2]=j;g=g&255;c[Q>>2]=c[E>>2];if(ha[i&63](_d,Q,g,0)|0){Wd=280;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+236>>2]&127](_d,g,0)|0){Wd=282;break b}break}case 213:{g=c[S>>2]|0;h=g+16|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=284;break b}j=T;g=(c[l>>2]|0)+g|0;i=j+16|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0));c[S>>2]=h;_d=c[m>>2]|0;j=c[(c[_d>>2]|0)+512>>2]|0;c[F>>2]=213;c[G>>2]=c[F>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];if(ga[j&127](_d,G,Q)|0){Wd=286;break b}_d=c[m>>2]|0;j=c[(c[_d>>2]|0)+248>>2]|0;c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];if(fa[j&511](_d,Q)|0){Wd=288;break b}break}case 345:case 344:case 343:case 342:case 349:case 348:case 347:case 346:case 67:case 56:case 176:case 175:case 178:case 174:case 173:case 172:case 171:case 170:case 177:case 169:case 168:case 167:case 166:case 165:case 160:case 159:case 164:case 162:case 163:case 161:case 154:case 158:case 156:case 157:case 155:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+320>>2]|0;c[H>>2]=j;c[Q>>2]=c[H>>2];if(fa[i&511](_d,Q)|0){Wd=291;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=293;break b}break}case 6:{c[Q>>2]=0;g=c[l>>2]|0;g=Sl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=295;break b}c[S>>2]=(c[S>>2]|0)+g;h=c[Q>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;Wd=300;break}case -24:{g=c[o>>2]|0;Wd=300;break}case -17:{g=(c[o>>2]|0)+9|0;Wd=300;break}default:{q=0;Wd=301}}if((Wd|0)==300){q=(a[g>>0]|0)!=0;Wd=301}if((Wd|0)==301?(Wd=0,!((h|0)==-64|q)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){Wd=304;break b}if((c[n>>2]|0)>>>0<=h>>>0){Wd=304;break b}}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+484>>2]&511](_d,h)|0){Wd=306;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+252>>2]&511](_d,h)|0){Wd=308;break b}break}case 7:{_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+312>>2]&127](_d)|0){Wd=310;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=312;break b}break}case 9:{_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+456>>2]&127](_d)|0){Wd=314;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=316;break b}break}case 8:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=318;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+480>>2]&511](_d,g)|0){Wd=320;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+224>>2]&511](_d,g)|0){Wd=322;break b}break}case 10:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=324;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;h=c[Q>>2]|0;g=c[l>>2]|0;g=Rl(g+_d|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=326;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+296>>2]&127](_d,h,g)|0){Wd=328;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+228>>2]&127](_d,h,g)|0){Wd=330;break b}break}case 183:case 182:case 181:case 180:case 179:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+488>>2]|0;c[I>>2]=j;c[Q>>2]=c[I>>2];if(fa[i&511](_d,Q)|0){Wd=332;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=334;break b}break}case 196:case 195:case 194:case 193:case 192:case 191:case 190:case 189:{_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+320>>2]|0;c[J>>2]=j;c[Q>>2]=c[J>>2];if(fa[i&511](_d,Q)|0){Wd=336;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=338;break b}break}case 350:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=340;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Rl(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=342;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;j=c[(c[_d>>2]|0)+276>>2]|0;c[K>>2]=350;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[K>>2];if(ha[j&63](_d,Q,g,h)|0){Wd=344;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=346;break b}break}case 352:case 351:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=350;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Rl(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=352;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+272>>2]|0;c[L>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[L>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=354;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=356;break b}break}case 354:case 353:case 359:case 358:case 357:case 356:case 355:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=360;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Rl(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=362;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+256>>2]|0;c[M>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[M>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=364;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=366;break b}break}case 361:case 360:case 366:case 365:case 364:case 363:case 362:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=370;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Rl(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=372;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+260>>2]|0;c[N>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[N>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=374;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=376;break b}break}case 408:case 407:case 406:case 405:case 404:case 403:case 402:case 401:case 400:case 399:case 398:case 397:case 396:case 395:case 394:case 393:case 392:case 391:case 390:case 389:case 388:case 387:case 386:case 385:case 384:case 383:case 382:case 381:case 380:case 379:case 378:case 377:case 376:case 375:case 374:case 373:case 372:case 371:case 370:case 369:case 368:case 367:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=380;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Rl(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=382;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+264>>2]|0;c[O>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[O>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=384;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=386;break b}break}case 415:case 414:case 413:case 412:case 411:case 410:case 409:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){Wd=390;break b}_d=(c[S>>2]|0)+g|0;c[S>>2]=_d;g=c[l>>2]|0;g=Rl(g+_d|0,g+(c[b>>2]|0)|0,T)|0;if(!g){Wd=392;break b}c[S>>2]=(c[S>>2]|0)+g;_d=c[m>>2]|0;i=c[(c[_d>>2]|0)+268>>2]|0;c[P>>2]=j;g=c[G>>2]|0;h=c[T>>2]|0;c[Q>>2]=c[P>>2];if(ha[i&63](_d,Q,g,h)|0){Wd=394;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,h)|0){Wd=396;break b}break}case 201:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=400;break b}i=(c[S>>2]|0)+g|0;c[S>>2]=i;g=c[Q>>2]|0;h=i+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=402;break b}_d=a[(c[l>>2]|0)+i>>0]|0;c[S>>2]=h;if(_d<<24>>24){Wd=404;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+424>>2]&511](_d,g)|0){Wd=406;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,0)|0){Wd=408;break b}break}case 197:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=410;break b}i=(c[S>>2]|0)+g|0;c[S>>2]=i;g=c[Q>>2]|0;h=i+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=412;break b}_d=a[(c[l>>2]|0)+i>>0]|0;c[S>>2]=h;if(_d<<24>>24){Wd=414;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+408>>2]&511](_d,g)|0){Wd=416;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,g,0)|0){Wd=418;break b}break}case 202:case 198:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=420;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;h=c[m>>2]|0;i=c[h>>2]|0;if((j|0)==198){if(fa[c[i+396>>2]&511](h,g)|0){Wd=423;break b}}else if(fa[c[i+420>>2]&511](h,g)|0){Wd=425;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=427;break b}break}case 200:{g=c[S>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){Wd=429;break b}_d=a[(c[l>>2]|0)+g>>0]|0;c[S>>2]=h;if(_d<<24>>24){Wd=431;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+400>>2]&127](_d)|0){Wd=433;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,0)|0){Wd=435;break b}break}case 199:{g=c[S>>2]|0;j=g+1|0;h=c[b>>2]|0;if(j>>>0>h>>>0){Wd=437;break b}i=c[l>>2]|0;_d=a[i+g>>0]|0;c[S>>2]=j;if(_d<<24>>24){Wd=439;break b}g=g+2|0;if(g>>>0>h>>>0){Wd=441;break b}_d=a[i+j>>0]|0;c[S>>2]=g;if(_d<<24>>24){Wd=443;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+392>>2]&127](_d)|0){Wd=445;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,0,0)|0){Wd=447;break b}break}case 203:{g=c[S>>2]|0;j=g+1|0;h=c[b>>2]|0;if(j>>>0>h>>>0){Wd=449;break b}i=c[l>>2]|0;_d=a[i+g>>0]|0;c[S>>2]=j;if(_d<<24>>24){Wd=451;break b}g=g+2|0;if(g>>>0>h>>>0){Wd=453;break b}_d=a[i+j>>0]|0;c[S>>2]=g;if(_d<<24>>24){Wd=455;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+416>>2]&127](_d)|0){Wd=457;break b}_d=c[m>>2]|0;if(ga[c[(c[_d>>2]|0)+232>>2]&127](_d,0,0)|0){Wd=459;break b}break}case 204:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=461;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+428>>2]&511](_d,g)|0){Wd=463;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=465;break b}break}case 205:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=467;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+432>>2]&511](_d,g)|0){Wd=469;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=471;break b}break}case 206:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=473;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+436>>2]&511](_d,g)|0){Wd=475;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=477;break b}break}case 207:{g=c[l>>2]|0;g=Rl(g+(c[S>>2]|0)|0,g+(c[b>>2]|0)|0,Q)|0;if(!g){Wd=479;break b}c[S>>2]=(c[S>>2]|0)+g;g=c[Q>>2]|0;_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+440>>2]&511](_d,g)|0){Wd=481;break b}_d=c[m>>2]|0;if(fa[c[(c[_d>>2]|0)+220>>2]&511](_d,g)|0){Wd=483;break b}break}case 208:{_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+444>>2]&127](_d)|0){Wd=485;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=487;break b}break}case 209:{_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+448>>2]&127](_d)|0){Wd=489;break b}_d=c[m>>2]|0;if(ea[c[(c[_d>>2]|0)+216>>2]&127](_d)|0){Wd=491;break b}break}default:{Wd=492;break b}}while(0);g=c[S>>2]|0;if(g>>>0>=e>>>0)break a}switch(Wd|0){case 5:{Nt(b,318398,V);break}case 7:{Yt(b,j,0);break}case 10:{Nt(b,318423,W);break}case 12:{Nt(b,318457,Mb);break}case 14:{c[wd>>2]=318486;Nt(b,313868,wd);break}case 23:{Nt(b,318507,Hd);break}case 25:{Nt(b,318543,Rd);break}case 27:{Nt(b,318571,$);break}case 29:{c[na>>2]=318604;Nt(b,313868,na);break}case 38:{Nt(b,318507,Ba);break}case 40:{Nt(b,318624,Ka);break}case 42:{Nt(b,318571,Sa);break}case 44:{c[ab>>2]=318651;Nt(b,313868,ab);break}case 53:{Nt(b,318507,nb);break}case 55:{Nt(b,318669,yb);break}case 57:{Nt(b,318571,Hb);break}case 59:{Nt(b,318694,Sb);break}case 61:{Nt(b,318457,ac);break}case 63:{Nt(b,318721,jc);break}case 65:{Nt(b,318457,sc);break}case 67:{c[Bc>>2]=318750;Nt(b,312373,Bc);break}case 69:{Nt(b,318759,Nc);break}case 71:{Nt(b,318784,Wc);break}case 73:{c[dd>>2]=318814;Nt(b,312373,dd);break}case 75:{Nt(b,318826,rd);break}case 77:{Nt(b,318784,zd);break}case 79:{c[Ad>>2]=318853;Nt(b,312373,Ad);break}case 88:{c[Bd>>2]=318875;Nt(b,312373,Bd);break}case 90:{c[Cd>>2]=318897;Nt(b,312373,Cd);break}case 94:{Nt(b,318927,Dd);break}case 96:{Nt(b,318957,Ed);break}case 98:{Nt(b,318457,Fd);break}case 100:{Nt(b,318986,Gd);break}case 102:{Nt(b,318457,Id);break}case 104:{Nt(b,319012,Jd);break}case 106:{Nt(b,318457,Kd);break}case 109:{Nt(b,319039,Ld);break}case 111:{Nt(b,319065,Md);break}case 113:{c[Nd>>2]=319091;Nt(b,313868,Nd);break}case 115:{Nt(b,319107,Od);break}case 117:{Nt(b,319138,Pd);break}case 120:{c[Qd>>2]=319169;Nt(b,319185,Qd);break}case 122:{Nt(b,319215,Sd);break}case 124:{Nt(b,319246,Td);break}case 127:{c[Ud>>2]=319293;c[Ud+4>>2]=319277;Nt(b,312170,Ud);break}case 129:{Nt(b,319299,Vd);break}case 131:{Nt(b,319330,X);break}case 133:{c[Y>>2]=319374;c[Y+4>>2]=319358;Nt(b,312170,Y);break}case 135:{Nt(b,319381,Z);break}case 137:{Nt(b,319412,_);break}case 139:{c[ba>>2]=329741;c[ba+4>>2]=319440;Nt(b,312170,ba);break}case 141:{Nt(b,319457,ca);break}case 143:{Nt(b,319489,da);break}case 146:{c[ia>>2]=319518;Nt(b,312373,ia);break}case 148:{Nt(b,319542,ja);break}case 150:{Nt(b,318784,ka);break}case 152:{c[la>>2]=319574;Nt(b,312373,la);break}case 154:{Nt(b,319596,ma);break}case 156:{Nt(b,318784,oa);break}case 158:{c[pa>>2]=319627;Nt(b,312373,pa);break}case 160:{Nt(b,319651,qa);break}case 162:{Nt(b,318784,ra);break}case 164:{c[sa>>2]=319683;Nt(b,312373,sa);break}case 166:{Nt(b,319705,ta);break}case 168:{Nt(b,318784,ua);break}case 170:{c[va>>2]=319736;Nt(b,312373,va);break}case 172:{c[wa>>2]=g;Nt(b,319756,wa);break}case 174:{Nt(b,319788,xa);break}case 176:{Nt(b,318784,ya);break}case 178:{c[za>>2]=319815;Nt(b,312373,za);break}case 180:{Nt(b,319845,Aa);break}case 183:{c[Ca>>2]=319883;Nt(b,312373,Ca);break}case 185:{Nt(b,319909,Da);break}case 187:{c[Ea>>2]=315050;c[Ea+4>>2]=319943;Nt(b,312170,Ea);break}case 189:{Nt(b,319966,Fa);break}case 191:{Nt(b,320005,Ga);break}case 193:{Nt(b,320040,Ha);break}case 195:{c[Ia>>2]=329996;Nt(b,312373,Ia);break}case 197:{c[Ja>>2]=g;Nt(b,320077,Ja);break}case 199:{Nt(b,320116,La);break}case 201:{Nt(b,318784,Ma);break}case 203:{c[Na>>2]=330008;Nt(b,312373,Na);break}case 205:{Nt(b,320149,Oa);break}case 208:{c[Pa>>2]=320194;Nt(b,312373,Pa);break}case 210:{Nt(b,320227,Qa);break}case 212:{c[Ra>>2]=315050;c[Ra+4>>2]=320268;Nt(b,312170,Ra);break}case 214:{Nt(b,320298,Ta);break}case 216:{Nt(b,320344,Ua);break}case 218:{Nt(b,320040,Va);break}case 220:{c[Wa>>2]=320385;Nt(b,312373,Wa);break}case 222:{Nt(b,320407,Xa);break}case 224:{Nt(b,318784,Ya);break}case 226:{c[Za>>2]=320438;Nt(b,312373,Za);break}case 228:{c[_a>>2]=320453;Nt(b,312373,_a);Wd=233;break}case 230:{Nt(b,320465,$a);Wd=233;break}case 232:{Nt(b,320040,bb);Wd=233;break}case 236:{c[cb>>2]=320492;Nt(b,312373,cb);break}case 238:{c[db>>2]=320508;Nt(b,312373,db);Wd=243;break}case 240:{Nt(b,320521,eb);Wd=243;break}case 242:{Nt(b,320040,fb);Wd=243;break}case 246:{c[gb>>2]=315050;c[gb+4>>2]=320549;Nt(b,312170,gb);break}case 248:{Nt(b,320570,hb);break}case 250:{Nt(b,320607,ib);break}case 252:{Nt(b,319138,jb);break}case 254:{c[kb>>2]=315050;c[kb+4>>2]=320640;Nt(b,312170,kb);break}case 256:{Nt(b,320661,lb);break}case 258:{Nt(b,320698,mb);break}case 260:{Nt(b,319138,ob);break}case 262:{Nt(b,320731,pb);break}case 264:{Nt(b,318457,qb);break}case 266:{Nt(b,320760,rb);break}case 268:{Nt(b,318457,sb);break}case 270:{Nt(b,320790,tb);break}case 272:{Nt(b,318457,ub);break}case 274:{Nt(b,320818,vb);break}case 276:{Nt(b,318457,wb);break}case 278:{c[xb>>2]=315050;c[xb+4>>2]=320848;Nt(b,312170,xb);break}case 280:{Nt(b,320857,zb);break}case 282:{Nt(b,319246,Ab);break}case 284:{c[Bb>>2]=329741;c[Bb+4>>2]=320890;Nt(b,312170,Bb);break}case 286:{Nt(b,320904,Cb);break}case 288:{Nt(b,319489,Db);break}case 291:{Nt(b,320940,Eb);break}case 293:{Nt(b,318457,Fb);break}case 295:{c[Gb>>2]=320970;Nt(b,313868,Gb);break}case 304:{Nt(b,318507,Ib);break}case 306:{Nt(b,320989,Jb);break}case 308:{Nt(b,318571,Kb);break}case 310:{Nt(b,321015,Lb);break}case 312:{Nt(b,318457,Nb);break}case 314:{Nt(b,321043,Ob);break}case 316:{Nt(b,318457,Pb);break}case 318:{c[Qb>>2]=321073;Nt(b,312373,Qb);break}case 320:{Nt(b,321085,Rb);break}case 322:{Nt(b,318784,Tb);break}case 324:{c[Ub>>2]=321113;Nt(b,312373,Ub);break}case 326:{c[Vb>>2]=321073;Nt(b,312373,Vb);break}case 328:{Nt(b,321129,Wb);break}case 330:{Nt(b,321159,Xb);break}case 332:{Nt(b,320790,Yb);break}case 334:{Nt(b,318457,Zb);break}case 336:{Nt(b,320940,_b);break}case 338:{Nt(b,318457,$b);break}case 340:{c[bc>>2]=320438;Nt(b,312373,bc);break}case 342:{c[cc>>2]=320453;Nt(b,312373,cc);Wd=347;break}case 344:{Nt(b,321194,dc);Wd=347;break}case 346:{Nt(b,320040,ec);Wd=347;break}case 350:{c[fc>>2]=320438;Nt(b,312373,fc);break}case 352:{c[gc>>2]=320453;Nt(b,312373,gc);Wd=357;break}case 354:{Nt(b,321229,hc);Wd=357;break}case 356:{Nt(b,320040,ic);Wd=357;break}case 360:{c[kc>>2]=320438;Nt(b,312373,kc);break}case 362:{c[lc>>2]=320453;Nt(b,312373,lc);Wd=367;break}case 364:{Nt(b,321262,mc);Wd=367;break}case 366:{Nt(b,320040,nc);Wd=367;break}case 370:{c[oc>>2]=320492;Nt(b,312373,oc);break}case 372:{c[pc>>2]=320508;Nt(b,312373,pc);Wd=377;break}case 374:{Nt(b,321295,qc);Wd=377;break}case 376:{Nt(b,320040,rc);Wd=377;break}case 380:{c[tc>>2]=321329;Nt(b,312373,tc);break}case 382:{c[uc>>2]=321346;Nt(b,312373,uc);Wd=387;break}case 384:{Nt(b,321360,vc);Wd=387;break}case 386:{Nt(b,320040,wc);Wd=387;break}case 390:{c[xc>>2]=321329;Nt(b,312373,xc);break}case 392:{c[yc>>2]=321346;Nt(b,312373,yc);Wd=397;break}case 394:{Nt(b,321392,zc);Wd=397;break}case 396:{Nt(b,320040,Ac);Wd=397;break}case 400:{c[Cc>>2]=321431;Nt(b,312373,Cc);break}case 402:{c[Dc>>2]=315050;c[Dc+4>>2]=321450;Nt(b,312170,Dc);break}case 404:{Nt(b,321471,Ec);break}case 406:{Nt(b,321496,Fc);break}case 408:{Nt(b,320040,Gc);break}case 410:{c[Hc>>2]=321431;Nt(b,312373,Hc);break}case 412:{c[Ic>>2]=315050;c[Ic+4>>2]=321528;Nt(b,312170,Ic);break}case 414:{Nt(b,321471,Jc);break}case 416:{Nt(b,321550,Kc);break}case 418:{Nt(b,320040,Lc);break}case 420:{c[Mc>>2]=321583;Nt(b,312373,Mc);break}case 423:{Nt(b,321597,Oc);break}case 425:{Nt(b,321628,Pc);break}case 427:{Nt(b,319138,Qc);break}case 429:{c[Rc>>2]=315050;c[Rc+4>>2]=321528;Nt(b,312170,Rc);break}case 431:{Nt(b,321471,Sc);break}case 433:{Nt(b,321659,Tc);break}case 435:{Nt(b,319138,Uc);break}case 437:{c[Vc>>2]=315050;c[Vc+4>>2]=321528;Nt(b,312170,Vc);break}case 439:{Nt(b,321471,Xc);break}case 441:{c[Yc>>2]=315050;c[Yc+4>>2]=321528;Nt(b,312170,Yc);break}case 443:{Nt(b,321471,Zc);break}case 445:{Nt(b,321692,_c);break}case 447:{Nt(b,320040,$c);break}case 449:{c[ad>>2]=315050;c[ad+4>>2]=321450;Nt(b,312170,ad);break}case 451:{Nt(b,321471,bd);break}case 453:{c[cd>>2]=315050;c[cd+4>>2]=321450;Nt(b,312170,cd);break}case 455:{Nt(b,321471,ed);break}case 457:{Nt(b,321725,fd);break}case 459:{Nt(b,320040,gd);break}case 461:{c[hd>>2]=321757;Nt(b,312373,hd);break}case 463:{Nt(b,321769,id);break}case 465:{Nt(b,319138,jd);break}case 467:{c[kd>>2]=321757;Nt(b,312373,kd);break}case 469:{Nt(b,321800,ld);break}case 471:{Nt(b,319138,md);break}case 473:{c[nd>>2]=321757;Nt(b,312373,nd);break}case 475:{Nt(b,321831,od);break}case 477:{Nt(b,319138,pd);break}case 479:{c[qd>>2]=321757;Nt(b,312373,qd);break}case 481:{Nt(b,321863,sd);break}case 483:{Nt(b,319138,td);break}case 485:{Nt(b,321895,ud);break}case 487:{Nt(b,318457,vd);break}case 489:{Nt(b,321925,xd);break}case 491:{Nt(b,318457,yd);break}case 492:{Yt(b,j,0);break}}_d=1;aa=Zd;return _d|0}else f=0;while(0);if((g|0)!=(e|0)){Nt(b,321957,Xd);_d=1;aa=Zd;return _d|0}if(f){_d=0;aa=Zd;return _d|0}Nt(b,321994,Yd);_d=1;aa=Zd;return _d|0}function Xt(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;n=aa;aa=aa+16|0;m=n+8|0;f=n;k=n+12|0;l=b+12|0;g=c[l>>2]|0;j=g+1|0;h=c[b>>2]|0;if(j>>>0>h>>>0){c[f>>2]=315050;c[f+4>>2]=322059;Nt(b,312170,f);d=1;aa=n;return d|0}f=c[b+4>>2]|0;i=a[f+g>>0]|0;c[l>>2]=j;if((i+4&255)>=3){m=i&255;b=c[17040+(m<<2)>>2]|0;c[d>>2]=i<<24>>24==0|(b|0)!=0?b:0-m|0;d=0;aa=n;return d|0}f=Rl(f+j|0,f+h|0,k)|0;if(!f){c[m>>2]=322059;Nt(b,312373,m);d=1;aa=n;return d|0}c[l>>2]=(c[l>>2]|0)+f;g=c[k>>2]|0;f=(g>>>0<255?g:255)|(i&255)<<8;if(!(f>>>0<65536?(e=c[17040+(f<<2)>>2]|0,(g|0)==0|(e|0)!=0):0))e=0-f|0;c[d>>2]=e;d=0;aa=n;return d|0}function Yt(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;q=aa;aa=aa+48|0;n=q+8|0;p=q;o=q+36|0;k=q+24|0;m=q+12|0;g=RA(32)|0;c[o>>2]=g;c[o+8>>2]=-2147483616;c[o+4>>2]=17;h=g;i=322033;j=h+17|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[g+17>>0]=0;if(f|0){nB(o,32);mB(o,f)|0}mB(o,322051)|0;jm(k,e);l=c[k>>2]|0;j=k+4|0;g=c[j>>2]|0;if((l|0)!=(g|0)){h=m+11|0;i=m+4|0;f=l;do{c[n>>2]=d[f>>0];Aj(m,322053,n);r=a[h>>0]|0;k=r<<24>>24<0;e=c[m>>2]|0;lB(o,k?e:m,k?c[i>>2]|0:r&255)|0;if(k)SA(e);f=f+1|0}while((f|0)!=(g|0))}g=o+11|0;c[p>>2]=(a[g>>0]|0)<0?c[o>>2]|0:o;Nt(b,329683,p);if(l|0){c[j>>2]=l;SA(l)}if((a[g>>0]|0)>=0){aa=q;return}SA(c[o>>2]|0);aa=q;return}function Zt(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;k=a+8|0;e=c[k>>2]|0;j=a+4|0;d=c[j>>2]|0;if(e-d>>2>>>0>=b>>>0){lC(d|0,0,b<<2|0)|0;c[j>>2]=d+(b<<2);return}i=c[a>>2]|0;g=d-i|0;f=g>>2;d=f+b|0;if(d>>>0>1073741823)yB();m=e-i|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{l=RA(e<<2)|0;h=l;break}else{h=0;l=0}while(0);d=l+(f<<2)|0;lC(d|0,0,b<<2|0)|0;if((g|0)>0)jC(h|0,i|0,g|0)|0;c[a>>2]=l;c[j>>2]=d+(b<<2);c[k>>2]=l+(e<<2);if(!i)return;SA(i);return}function _t(a){a=a|0;return}function $t(a){a=a|0;SA(a);return}function au(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+8>>2]&511](a,b)|0}function bu(a,b){a=a|0;b=b|0;c[a+4>>2]=b;a=c[a+12>>2]|0;na[c[(c[a>>2]|0)+12>>2]&31](a,b);return}function cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,328806,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;b=fa[c[(c[h>>2]|0)+16>>2]&511](h,b)|0;aa=i;return b|0}function du(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,328795,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+20>>2]&127](g)|0;aa=h;return g|0}function eu(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+24>>2]&127](a,b,d)|0}function fu(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=aa;aa=aa+32|0;j=k+8|0;h=k;i=a+16|0;e=c[i>>2]|0;if(e>>>0<=142){f=a+8|0;if(!e)e=f;else g=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[i>>2]|0;g=6}if((g|0)==6){un(c[f>>2]|0,16864,e,0,0);e=f}f=c[e>>2]|0;g=c[d>>2]|0;c[j>>2]=c[d+4>>2];c[j+4>>2]=g;c[j+8>>2]=b;tn(f,328756,j);c[i>>2]=(c[i>>2]|0)+2;a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+28>>2]|0;f=d;g=c[f+4>>2]|0;d=h;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];j=ga[i&127](a,b,j)|0;aa=k;return j|0}function gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,328738,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+32>>2]&127](g)|0;aa=h;return g|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,328715,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+36>>2]&511](h,b)|0;aa=i;return h|0}function iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,328698,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+40>>2]&511](h,b)|0;aa=i;return h|0}function ju(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=aa;aa=aa+80|0;u=v+64|0;t=v+56|0;s=v+48|0;r=v+40|0;q=v+32|0;p=v+24|0;o=v+16|0;n=v+8|0;m=v;j=a+16|0;h=c[j>>2]|0;if(h>>>0<=142){i=a+8|0;if(!h)l=i;else k=6}else{i=a+8|0;do{un(c[i>>2]|0,16864,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[j>>2]|0;k=6}if((k|0)==6){un(c[i>>2]|0,16864,h,0,0);l=i}k=c[l>>2]|0;c[m>>2]=b;tn(k,328657,m);tn(c[l>>2]|0,328684,n);if(d|0){i=d+-1|0;j=a+8|0;h=0;do{Cx(c[j>>2]|0,c[e+(h<<2)>>2]|0);if((h|0)!=(i|0))tn(c[l>>2]|0,329762,o);h=h+1|0}while((h|0)!=(d|0))}tn(c[l>>2]|0,329686,p);tn(c[l>>2]|0,328686,q);tn(c[l>>2]|0,328684,r);if(!f){s=c[l>>2]|0;tn(s,329686,t);t=c[l>>2]|0;tn(t,325669,u);u=a+12|0;u=c[u>>2]|0;t=c[u>>2]|0;t=t+44|0;t=c[t>>2]|0;u=ja[t&31](u,b,d,e,f,g)|0;aa=v;return u|0}i=f+-1|0;j=a+8|0;h=0;do{Cx(c[j>>2]|0,c[g+(h<<2)>>2]|0);if((h|0)!=(i|0))tn(c[l>>2]|0,329762,s);h=h+1|0}while((h|0)!=(f|0));s=c[l>>2]|0;tn(s,329686,t);t=c[l>>2]|0;tn(t,325669,u);u=a+12|0;u=c[u>>2]|0;t=c[u>>2]|0;t=t+44|0;t=c[t>>2]|0;u=ja[t&31](u,b,d,e,f,g)|0;aa=v;return u|0}function ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{un(c[b>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)un(c[b>>2]|0,16864,d,0,0);tn(c[b>>2]|0,328641,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+48>>2]&127](g)|0;aa=h;return g|0}function lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{un(c[e>>2]|0,16864,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){un(c[e>>2]|0,16864,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;tn(f,328616,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+52>>2]&511](h,b)|0;aa=i;return h|0}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{un(c[d>>2]|0,16864,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)un(c[d>>2]|0,16864,e,0,0);g=c[d>>2]|0;c[h>>2]=b;tn(g,328597,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+56>>2]&511](h,b)|0;aa=i;return h|0}function nu(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;n=aa;aa=aa+48|0;m=n+16|0;l=n+40|0;j=n+8|0;k=n;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{un(c[f>>2]|0,16864,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)un(c[f>>2]|0,16864,g,0,0);i=c[f>>2]|0;o=c[d+4>>2]|0;f=c[d>>2]|0;h=c[e+4>>2]|0;g=c[e>>2]|0;c[m>>2]=b;c[m+4>>2]=o;c[m+8>>2]=f;c[m+12>>2]=h;c[m+16>>2]=g;tn(i,328545,m);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+60>>2]|0;g=d;d=c[g+4>>2]|0;h=j;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=e;e=c[h+4>>2]|0;d=k;c[d>>2]=c[h>>2];c[d+4>>2]=e;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=ha[i&63](a,b,l,m)|0;aa=n;return m|0}function ou(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;p=aa;aa=aa+48|0;o=p+16|0;n=p+32|0;l=p+8|0;m=p;j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){h=a+8|0;if(i)k=6}else{h=a+8|0;do{un(c[h>>2]|0,16864,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)un(c[h>>2]|0,16864,i,0,0);k=c[h>>2]|0;c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=g;tn(k,328482,o);a=c[a+12>>2]|0;k=c[(c[a>>2]|0)+64>>2]|0;i=d;d=c[i+4>>2]|0;j=l;c[j>>2]=c[i>>2];c[j+4>>2]=d;j=e;e=c[j+4>>2]|0;d=m;c[d>>2]=c[j>>2];c[d+4>>2]=e;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];o=ja[k&31](a,b,n,o,f,g)|0;aa=p;return o|0}function pu(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;t=aa;aa=aa+176|0;s=t+144|0;r=t+160|0;m=t+136|0;l=t+120|0;q=t;o=t+112|0;p=t+104|0;k=i;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!(a[i+16>>0]|0)){l=m;c[l>>2]=j;c[l+4>>2]=k;Jz(q,100,327912,m)|0}else{u=i+8|0;v=c[u>>2]|0;u=c[u+4>>2]|0;m=l;c[m>>2]=j;c[m+4>>2]=k;m=l+8|0;c[m>>2]=v;c[m+4>>2]=u;Jz(q,100,327887,l)|0}l=b+16|0;k=c[l>>2]|0;if(k>>>0<=142){j=b+8|0;if(k)n=9}else{j=b+8|0;do{un(c[j>>2]|0,16864,142,0,0);k=k+-142|0}while(k>>>0>142);k=c[l>>2]|0;n=9}if((n|0)==9)un(c[j>>2]|0,16864,k,0,0);j=c[j>>2]|0;do switch(h|0){case -1:{k=329758;break}case -2:{k=329754;break}case -3:{k=329750;break}case -4:{k=329746;break}case -5:{k=329741;break}case -16:{k=329733;break}case -32:{k=329728;break}case -24:{k=329717;break}case -64:{k=329712;break}case 0:{k=329708;break}case -17:{k=329701;break}default:k=329688}while(0);c[s>>2]=d;c[s+4>>2]=g;c[s+8>>2]=k;c[s+12>>2]=q;tn(j,328413,s);v=c[b+12>>2]|0;u=c[(c[v>>2]|0)+68>>2]|0;q=e;b=c[q+4>>2]|0;e=o;c[e>>2]=c[q>>2];c[e+4>>2]=b;e=c[f+4>>2]|0;b=p;c[b>>2]=c[f>>2];c[b+4>>2]=e;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];v=ka[u&31](v,d,r,s,g,h,i)|0;aa=t;return v|0} +function sa(a){a=a|0;var b=0;b=aa;aa=aa+a|0;aa=aa+15&-16;return b|0}function ta(){return aa|0}function ua(a){a=a|0;aa=a}function va(a,b){a=a|0;b=b|0;aa=a;ba=b}function wa(){var b=0,c=0,d=0;b=RA(10)|0;a[b>>0]=0;a[b+1>>0]=1;c=b+2|0;d=c;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;c=c+4|0;a[c>>0]=0;a[c+1>>0]=0;a[c+2>>0]=0;a[c+3>>0]=0;return b|0}function xa(a){a=a|0;if(!a)return;SA(a);return}function ya(b){b=b|0;return (a[b>>0]|0)!=0|0}function za(b,c){b=b|0;c=c|0;a[b>>0]=(c|0)!=0&1;return}function Aa(b){b=b|0;return (a[b+1>>0]|0)!=0|0}function Ba(b,c){b=b|0;c=c|0;a[b+1>>0]=(c|0)!=0&1;return}function Ca(b){b=b|0;return (a[b+2>>0]|0)!=0|0}function Da(b,c){b=b|0;c=c|0;a[b+2>>0]=(c|0)!=0&1;return}function Ea(b){b=b|0;return (a[b+3>>0]|0)!=0|0}function Fa(b,c){b=b|0;c=c|0;a[b+3>>0]=(c|0)!=0&1;return}function Ga(b){b=b|0;return (a[b+4>>0]|0)!=0|0}function Ha(b,c){b=b|0;c=c|0;a[b+4>>0]=(c|0)!=0&1;return}function Ia(b){b=b|0;return (a[b+5>>0]|0)!=0|0}function Ja(b,c){b=b|0;c=c|0;a[b+5>>0]=(c|0)!=0&1;return}function Ka(b){b=b|0;return (a[b+6>>0]|0)!=0|0}function La(b,c){b=b|0;c=c|0;a[b+6>>0]=(c|0)!=0&1;return}function Ma(b){b=b|0;return (a[b+7>>0]|0)!=0|0}function Na(b,c){b=b|0;c=c|0;a[b+7>>0]=(c|0)!=0&1;return}function Oa(b){b=b|0;return (a[b+8>>0]|0)!=0|0}function Pa(b,c){b=b|0;c=c|0;a[b+8>>0]=(c|0)!=0&1;return}function Qa(b){b=b|0;return (a[b+9>>0]|0)!=0|0}function Ra(b,c){b=b|0;c=c|0;a[b+9>>0]=(c|0)!=0&1;return}function Sa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=aa;aa=aa+16|0;e=f;up(e,a,Lz(a)|0,b,d);aa=f;return c[e>>2]|0}function Ta(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;h=j+4|0;g=j;i=h;f=i+10|0;do{a[i>>0]=a[d>>0]|0;i=i+1|0;d=d+1|0}while((i|0)<(f|0));a[h+10>>0]=0;i=RA(8)|0;c[g>>2]=0;h=as(b,g,e,h)|0;c[i>>2]=h;c[i+4>>2]=c[g>>2];aa=j;return i|0}function Ua(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;g=j+4|0;h=j;i=g;f=i+10|0;do{a[i>>0]=a[d>>0]|0;i=i+1|0;d=d+1|0}while((i|0)<(f|0));a[g+10>>0]=0;i=RA(8)|0;c[h>>2]=0;g=bs(b,h,e,g)|0;c[i>>2]=g;c[i+4>>2]=c[h>>2];aa=j;return i|0}function Va(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;l=aa;aa=aa+32|0;i=l;c[i+12>>2]=0;j=i+16|0;a[i+17>>0]=1;a[i+18>>0]=1;k=i;h=k+10|0;do{a[k>>0]=a[f>>0]|0;k=k+1|0;f=f+1|0}while((k|0)<(h|0));a[j>>0]=(e|0)!=0&1;k=RA(8)|0;j=RA(376)|0;lC(j|0,0,212)|0;c[j+212>>2]=1065353216;e=j+216|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+232>>2]=1065353216;e=j+236|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+252>>2]=1065353216;e=j+256|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+272>>2]=1065353216;e=j+276|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+292>>2]=1065353216;e=j+296|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+312>>2]=1065353216;e=j+316|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+332>>2]=1065353216;e=j+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+352>>2]=1065353216;e=j+356|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j+372>>2]=1065353216;d=Nc(291792,b,d,i,g,j)|0;c[k>>2]=d;c[k+4>>2]=j;aa=l;return k|0}function Wa(a,b){a=a|0;b=b|0;return lm(a,b)|0}function Xa(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;f=h;g=f;e=g+10|0;do{a[g>>0]=a[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(e|0));g=sp(b,d,f)|0;aa=h;return g|0}function Ya(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;f=h;g=f;e=g+10|0;do{a[g>>0]=a[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(e|0));g=Fn(b,d,f)|0;aa=h;return g|0}function Za(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;v=aa;aa=aa+112|0;q=v+80|0;p=v+64|0;u=v+44|0;k=v+88|0;t=v+32|0;n=v+12|0;o=v;wn(u,0);j=(f|0)!=0;l=j?u:0;a[k>>0]=0;a[k+1>>0]=1;r=k+2|0;s=r;a[s>>0]=0;a[s+1>>0]=0;a[s+2>>0]=0;a[s+3>>0]=0;r=r+4|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;a[k+10>>0]=(g|0)!=0&1;a[k+11>>0]=(h|0)!=0&1;a[k+12>>0]=(i|0)!=0&1;c[t>>2]=0;r=t+4|0;c[r>>2]=0;c[t+8>>2]=0;wn(n,l);s=(e|0)==0?d:e;Kj(q,s,Lz(s)|0);An(o,c[q>>2]|0,c[q+4>>2]|0);s=RA(24)|0;f=s+4|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;h=Lz(d)|0;m=o+11|0;e=a[m>>0]|0;i=e<<24>>24<0;l=mj(n,b,d,h,i?c[o>>2]|0:o,i?c[o+4>>2]|0:e&255,k,t,l)|0;c[s>>2]=l;if(!l){xn(q,n);l=c[q>>2]|0;c[q>>2]=0;c[f>>2]=l;c[q>>2]=0;if(j){xn(q,u);f=c[q>>2]|0}else{c[q>>2]=0;f=0}c[q>>2]=0;c[s+8>>2]=f;c[q>>2]=0;f=c[t>>2]|0;i=c[r>>2]|0;k=s+12|0;if((f|0)!=(i|0)){l=p+12|0;e=s+16|0;d=s+20|0;b=p+12|0;j=p+11|0;do{xn(q,c[f+12>>2]|0);VA(p,f);c[l>>2]=c[q>>2];g=c[e>>2]|0;if(g>>>0<(c[d>>2]|0)>>>0){c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;h=c[l>>2]|0;c[l>>2]=0;c[g+12>>2]=h;c[e>>2]=g+16}else zb(k,p);g=c[b>>2]|0;c[b>>2]=0;if(g|0){h=c[g>>2]|0;if(h|0){c[g+4>>2]=h;SA(h)}SA(g)}if((a[j>>0]|0)<0)SA(c[p>>2]|0);f=f+16|0}while((f|0)!=(i|0))}}if((a[m>>0]|0)<0)SA(c[o>>2]|0);c[n>>2]=289456;q=n+16|0;f=c[q>>2]|0;c[q>>2]=0;if(f|0){g=c[f>>2]|0;if(g|0){c[f+4>>2]=g;SA(g)}SA(f)}h=c[t>>2]|0;if(h|0){f=c[r>>2]|0;if((f|0)==(h|0))f=h;else{do{q=f+-4|0;f=f+-16|0;g=c[q>>2]|0;c[q>>2]=0;if(g|0)ma[c[(c[g>>2]|0)+4>>2]&255](g);if((a[f+11>>0]|0)<0)SA(c[f>>2]|0)}while((f|0)!=(h|0));f=c[t>>2]|0}c[r>>2]=h;SA(f)}c[u>>2]=289456;u=u+16|0;f=c[u>>2]|0;c[u>>2]=0;if(!f){aa=v;return s|0}g=c[f>>2]|0;if(g|0){c[f+4>>2]=g;SA(g)}SA(f);aa=v;return s|0}function _a(a){a=a|0;return Ab(a)|0}function $a(a){a=a|0;Mj(a);return 0}function ab(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;k=aa;aa=aa+64|0;j=k+24|0;l=k+44|0;i=k+4|0;h=k;wn(j,0);a[l>>0]=0;a[l+1>>0]=1;m=l+2|0;n=m;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;m=m+4|0;a[m>>0]=0;a[m+1>>0]=0;a[m+2>>0]=0;a[m+3>>0]=0;a[l+10>>0]=(e|0)!=0&1;a[l+11>>0]=(f|0)!=0&1;a[l+12>>0]=(g|0)!=0&1;d=(d|0)!=0;wn(i,d?j:0);g=RA(12)|0;f=g+8|0;e=g+4|0;m=e;c[m>>2]=0;c[m+4>>2]=0;b=Vi(i,b,l)|0;c[g>>2]=b;if(!b){xn(h,i);c[e>>2]=c[h>>2];if(d){xn(h,j);e=c[h>>2]|0}else{c[h>>2]=0;e=0}c[f>>2]=e}c[i>>2]=289456;n=i+16|0;e=c[n>>2]|0;c[n>>2]=0;if(e|0){d=c[e>>2]|0;if(d|0){c[e+4>>2]=d;SA(d)}SA(e)}c[j>>2]=289456;n=j+16|0;e=c[n>>2]|0;c[n>>2]=0;if(!e){aa=k;return g|0}d=c[e>>2]|0;if(d|0){c[e+4>>2]=d;SA(d)}SA(e);aa=k;return g|0}function bb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=aa;aa=aa+32|0;j=i+24|0;h=i+4|0;g=i;a[j+2>>0]=0;a[j>>0]=(d|0)!=0&1;a[j+1>>0]=(e|0)!=0&1;wn(h,0);f=RA(12)|0;d=f+4|0;e=d;c[e>>2]=0;c[e+4>>2]=0;b=cs(h,b,j)|0;c[f>>2]=b;if(!b){xn(g,h);c[d>>2]=c[g>>2]}c[h>>2]=289456;j=h+16|0;d=c[j>>2]|0;c[j>>2]=0;if(!d){aa=i;return f|0}e=c[d>>2]|0;if(e|0){c[d+4>>2]=e;SA(e)}SA(d);aa=i;return f|0}function cb(a){a=a|0;if(!a)return;db(a);SA(a);return}function db(b){b=b|0;var d=0,e=0,f=0;d=c[b+364>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+356|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+344>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+336|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+324>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+316|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+304>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+296|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+284>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+276|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+264>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+256|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+244>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+236|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+224>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+216|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+204>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+196|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+184>>2]|0;if(d|0){c[b+188>>2]=d;SA(d)}d=c[b+172>>2]|0;if(d|0){c[b+176>>2]=d;SA(d)}d=c[b+160>>2]|0;if(d|0){c[b+164>>2]=d;SA(d)}d=c[b+148>>2]|0;if(d|0){c[b+152>>2]=d;SA(d)}d=c[b+136>>2]|0;if(d|0){c[b+140>>2]=d;SA(d)}d=c[b+124>>2]|0;if(d|0){c[b+128>>2]=d;SA(d)}d=c[b+112>>2]|0;if(d|0){c[b+116>>2]=d;SA(d)}d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}d=c[b+76>>2]|0;if(d|0){c[b+80>>2]=d;SA(d)}d=c[b+64>>2]|0;if(d|0){c[b+68>>2]=d;SA(d)}e=b+32|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+36>>2]=0;c[e>>2]=0;c[b+40>>2]=0;d=b+20|0;if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function eb(b){b=b|0;var d=0;if(!b)return;d=b+4|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=c[b>>2]|0;c[b>>2]=0;if(d|0)SA(d);SA(b);return}function fb(){var a=0;a=RA(12)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return a|0}function gb(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;t=aa;aa=aa+48|0;r=t+24|0;e=t+16|0;f=t;Vl(e,c[d>>2]|0);s=RA(24)|0;d=c[e>>2]|0;c[e>>2]=0;c[r>>2]=d;_l(s,r);d=c[r>>2]|0;c[r>>2]=0;if(d|0)SA(d);c[e>>2]=0;xj(e,0,0);c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;zj(r,c[b>>2]|0,c[b+4>>2]|0,0,s,e,f);p=RA(12)|0;l=p+4|0;m=p+8|0;o=r+11|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;d=a[o>>0]|0;k=d<<24>>24<0;b=k?c[r>>2]|0:r;k=k?c[r+4>>2]|0:d&255;n=b+k|0;do if(k){d=0;e=0;f=0;while(1){j=a[b>>0]|0;g=f;if(e>>>0>=f>>>0){k=e-d|0;e=k+1|0;i=d;if((e|0)<0){d=8;break}g=g-d|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<e>>>0?e:h):2147483647;if(!h)g=0;else g=RA(h)|0;e=g+k|0;a[e>>0]=j;e=e+1|0;f=g;if((k|0)>0)jC(g|0,i|0,k|0)|0;c[p>>2]=f;c[l>>2]=e;c[m>>2]=g+h;if(!d)d=f;else{SA(i);d=f}}else{a[e>>0]=j;e=e+1|0;c[l>>2]=e}b=b+1|0;if((b|0)==(n|0)){d=17;break}f=c[m>>2]|0}if((d|0)==8)yB();else if((d|0)==17){q=a[o>>0]|0;break}}else q=d;while(0);if(q<<24>>24<0)SA(c[r>>2]|0);d=c[s+4>>2]|0;if(d|0){c[s+8>>2]=d;SA(d)}d=c[s>>2]|0;c[s>>2]=0;if(!d){SA(s);aa=t;return p|0}SA(d);SA(s);aa=t;return p|0}function hb(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;s=aa;aa=aa+48|0;r=s+24|0;l=s+16|0;p=s;xj(l,0,0);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;zj(r,c[b>>2]|0,c[b+4>>2]|0,1,0,l,p);p=RA(12)|0;l=p+4|0;m=p+8|0;o=r+11|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;b=a[o>>0]|0;k=b<<24>>24<0;d=k?c[r>>2]|0:r;k=k?c[r+4>>2]|0:b&255;n=d+k|0;do if(k){b=0;f=0;k=0;while(1){h=a[d>>0]|0;e=f;if(b>>>0>=f>>>0){j=b-k|0;b=j+1|0;i=k;if((b|0)<0){b=6;break}f=e-k|0;g=f<<1;g=f>>>0<1073741823?(g>>>0<b>>>0?b:g):2147483647;if(!g)f=0;else f=RA(g)|0;b=f+j|0;a[b>>0]=h;b=b+1|0;e=f;if((j|0)>0)jC(f|0,i|0,j|0)|0;c[p>>2]=e;c[l>>2]=b;c[m>>2]=f+g;if(k)SA(i)}else{a[b>>0]=h;b=b+1|0;c[l>>2]=b;e=k}d=d+1|0;if((d|0)==(n|0)){b=15;break}f=c[m>>2]|0;k=e}if((b|0)==6)yB();else if((b|0)==15){q=a[o>>0]|0;break}}else q=b;while(0);if(q<<24>>24>=0){aa=s;return p|0}SA(c[r>>2]|0);aa=s;return p|0}function ib(b){b=b|0;var d=0,e=0,f=0,g=0;if(!b)return;f=c[b>>2]|0;if(f|0){g=b+4|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{e=d+-12|0;d=d+-36|0;if((a[e+11>>0]|0)<0)SA(c[e>>2]|0)}while((d|0)!=(f|0));d=c[b>>2]|0}c[g>>2]=f;SA(d)}SA(b);return}function jb(a){a=a|0;return c[a>>2]|0}function kb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function lb(a){a=a|0;var b=0,d=0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){db(b);SA(b)}SA(a);return}function mb(a){a=a|0;return c[a>>2]|0}function nb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function ob(a){a=a|0;return c[a>>2]|0}function pb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function qb(a){a=a|0;var b=0,d=0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){db(b);SA(b)}SA(a);return}function rb(a){a=a|0;return c[a>>2]|0}function sb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function tb(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function ub(a){a=a|0;var b=0,d=0;if(!a)return;d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){d=c[b>>2]|0;if(d|0){c[b+4>>2]=d;SA(d)}SA(b)}d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){d=c[b>>2]|0;if(d|0){c[b+4>>2]=d;SA(d)}SA(b)}SA(a);return}function vb(a){a=a|0;return c[a>>2]|0}function wb(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)|0}function xb(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0){c[a+4>>2]=b;SA(b)}SA(a);return}function yb(){return}function zb(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;l=b+4|0;e=c[b>>2]|0;k=(c[l>>2]|0)-e>>4;f=k+1|0;if(f>>>0>268435455)yB();m=b+8|0;j=(c[m>>2]|0)-e|0;e=j>>3;e=j>>4>>>0<134217727?(e>>>0<f>>>0?f:e):268435455;do if(e)if(e>>>0>268435455)U();else{h=RA(e<<4)|0;break}else h=0;while(0);f=h+(k<<4)|0;j=h+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;e=d+12|0;i=c[e>>2]|0;c[e>>2]=0;c[h+(k<<4)+12>>2]=i;i=f+16|0;e=c[b>>2]|0;g=e;d=c[l>>2]|0;if((d|0)==(e|0))h=g;else{g=(d+-16-g|0)>>>4;do{n=f;f=f+-16|0;p=d;d=d+-16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;p=p+-4|0;o=c[p>>2]|0;c[p>>2]=0;c[n+-4>>2]=o}while((d|0)!=(e|0));f=h+(k+-1-g<<4)|0;h=c[b>>2]|0;e=c[l>>2]|0}c[b>>2]=f;c[l>>2]=i;c[m>>2]=j;g=h;if((e|0)!=(g|0))do{p=e+-4|0;e=e+-16|0;f=c[p>>2]|0;c[p>>2]=0;if(f|0){d=c[f>>2]|0;if(d|0){c[f+4>>2]=d;SA(d)}SA(f)}if((a[e+11>>0]|0)<0)SA(c[e>>2]|0)}while((e|0)!=(g|0));if(!h)return;SA(h);return}function Ab(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=aa;aa=aa+80|0;r=u;c[r>>2]=286616;s=r+4|0;c[s>>2]=0;k=r+8|0;c[k>>2]=0;t=r+12|0;Bj(t,r);l=r+52|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[s>>2]=b;l=b+76|0;j=b+80|0;d=c[l>>2]|0;a:do if((c[j>>2]|0)!=(d|0)){m=r+52|0;i=0;while(1){d=c[d+(i<<2)>>2]|0;c[k>>2]=d;if(a[d+12>>0]|0){h=d+16|0;e=Tk(c[s>>2]|0,h)|0;if(!e){d=1;e=48;break}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+36>>2]|0)==1))Cl(h,g?c[e>>2]|0:e,f)}h=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;ul(h+(Gk(c[d+76>>2]|0,c[d+80>>2]|0)|0)|0,d+88|0,m);if((Jj(t,d)|0)==1){d=1;e=48;break}c[k>>2]=0;i=i+1|0;d=c[l>>2]|0;if(i>>>0>=(c[j>>2]|0)-d>>2>>>0)break a}if((e|0)==48){Bb(r);aa=u;return d|0}}while(0);g=b+88|0;f=b+92|0;d=c[g>>2]|0;b:do if((c[f>>2]|0)!=(d|0)){e=0;while(1){if((Ij(t,(c[d+(e<<2)>>2]|0)+20|0)|0)==1){d=1;break}e=e+1|0;d=c[g>>2]|0;if(e>>>0>=(c[f>>2]|0)-d>>2>>>0)break b}Bb(r);aa=u;return d|0}while(0);m=b+64|0;l=b+68|0;e=c[l>>2]|0;d=c[m>>2]|0;c:do if((e|0)!=(d|0)){k=0;while(1){f=c[d+(k<<2)>>2]|0;if(a[f+12>>0]|0){j=f+16|0;g=Tk(c[s>>2]|0,j)|0;if(!g){d=1;break}h=a[g+11>>0]|0;i=h<<24>>24<0;h=i?c[g+4>>2]|0:h&255;if(!((h|0)==0?1:(c[f+36>>2]|0)==1)){Cl(j,i?c[g>>2]|0:g,h);e=c[l>>2]|0;d=c[m>>2]|0}}k=k+1|0;if(k>>>0>=e-d>>2>>>0)break c}Bb(r);aa=u;return d|0}while(0);i=b+112|0;h=b+116|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){g=0;do{f=c[d+(g<<2)>>2]|0;if(((c[f+12>>2]|0)==0?(q=f+16|0,n=Kk(c[s>>2]|0,q)|0,(n|0)!=0):0)?(o=a[n+11>>0]|0,p=o<<24>>24<0,o=p?c[n+4>>2]|0:o&255,!((o|0)==0?1:(c[f+36>>2]|0)==1)):0){Cl(q,p?c[n>>2]|0:n,o);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}k=b+148|0;j=b+152|0;d=c[k>>2]|0;d:do if((c[j>>2]|0)!=(d|0)){i=0;e:while(1){h=c[d+(i<<2)>>2]|0;f=h+12|0;d=Nk(c[s>>2]|0,f)|0;if(!d){d=1;e=48;break}e=a[d+11>>0]|0;g=e<<24>>24<0;e=g?c[d+4>>2]|0:e&255;if(!((e|0)==0?1:(c[h+32>>2]|0)==1))Cl(f,g?c[d>>2]|0:d,e);if((Ij(t,h+52|0)|0)==1){d=1;e=48;break}d=c[h+64>>2]|0;h=c[h+68>>2]|0;if((d|0)!=(h|0))do{e=Kk(c[s>>2]|0,d)|0;if(!e){d=1;e=48;break e}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+20>>2]|0)==1))Cl(d,g?c[e>>2]|0:e,f);d=d+36|0}while((d|0)!=(h|0));i=i+1|0;d=c[k>>2]|0;if(i>>>0>=(c[j>>2]|0)-d>>2>>>0)break d}if((e|0)==48){Bb(r);aa=u;return d|0}}while(0);k=b+172|0;j=b+176|0;d=c[k>>2]|0;f:do if((c[j>>2]|0)!=(d|0)){i=0;while(1){d=c[d+(i<<2)>>2]|0;g=d+12|0;e=Ok(c[s>>2]|0,g)|0;if(!e){d=1;e=48;break}f=a[e+11>>0]|0;h=f<<24>>24<0;f=h?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+32>>2]|0)==1))Cl(g,h?c[e>>2]|0:e,f);i=i+1|0;if((Ij(t,d+52|0)|0)==1){d=1;e=48;break}d=c[k>>2]|0;if(i>>>0>=(c[j>>2]|0)-d>>2>>>0)break f}if((e|0)==48){Bb(r);aa=u;return d|0}}while(0);c[s>>2]=0;t=0;Bb(r);aa=u;return t|0}function Bb(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=286616;e=b+64|0;f=c[e>>2]|0;if(f|0){g=b+68|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;SA(d)}e=b+52|0;f=c[e>>2]|0;if(f|0){g=b+56|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;SA(d)}d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;SA(d)}d=c[b+28>>2]|0;if(d|0){c[b+32>>2]=d;SA(d)}d=c[b+16>>2]|0;if(!d)return;c[b+20>>2]=d;SA(d);return}function Cb(a){a=a|0;Bb(a);SA(a);return}function Db(a,b){a=a|0;b=b|0;return 0}function Eb(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+36|0;d=a+68|0;b=c[d>>2]|0;if((b|0)==(c[a+72>>2]|0)){Kc(a+64|0,e);return 0}else{VA(b,e);c[d>>2]=(c[d>>2]|0)+12;return 0}return 0}function Fb(b,d){b=b|0;d=d|0;d=b+68|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}SA(c[b>>2]|0);c[d>>2]=b;return 0}function Gb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=aa;aa=aa+16|0;d=f;e=b+36|0;Mc(d,a,e);a=c[d+4>>2]|0;if((a|0)==0?1:(c[b+56>>2]|0)==1){aa=f;return 0}Cl(e,c[d>>2]|0,a);aa=f;return 0}function Hb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=aa;aa=aa+16|0;d=f;e=b+36|0;Mc(d,a,e);a=c[d+4>>2]|0;if((a|0)==0?1:(c[b+56>>2]|0)==1){aa=f;return 0}Cl(e,c[d>>2]|0,a);aa=f;return 0}function Ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;g=d+36|0;Mc(f,b,g);e=c[f+4>>2]|0;if(!((e|0)==0?1:(c[d+56>>2]|0)==1))Cl(g,c[f>>2]|0,e);h=d+72|0;e=Pk(c[b+4>>2]|0,h)|0;if(!e){d=1;aa=i;return d|0}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if((f|0)==0?1:(c[d+92>>2]|0)==1){d=0;aa=i;return d|0}Cl(h,g?c[e>>2]|0:e,f);d=0;aa=i;return d|0}function Jb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;d=c[b+36>>2]|0;f=c[b+40>>2]|0;if((d|0)!=(f|0)){g=h+4|0;do{Mc(h,a,d);e=c[g>>2]|0;if(!((e|0)==0?1:(c[d+20>>2]|0)==1))Cl(d,c[h>>2]|0,e);d=d+36|0}while((d|0)!=(f|0))}e=b+48|0;Mc(h,a,e);d=c[h+4>>2]|0;if((d|0)==0?1:(c[b+68>>2]|0)==1){aa=i;return 0}Cl(e,c[h>>2]|0,d);aa=i;return 0}function Kb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Kk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function Lb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(a[d+36>>0]|0){h=d+40|0;b=b+4|0;e=Tk(c[b>>2]|0,h)|0;if(!e){d=1;return d|0}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+60>>2]|0)==1))Cl(h,g?c[e>>2]|0:e,f)}else b=b+4|0;g=d+100|0;b=Nk(c[b>>2]|0,g)|0;if(!b){d=1;return d|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+120>>2]|0)==1){d=0;return d|0}Cl(g,f?c[b>>2]|0:b,e);d=0;return d|0}function Mb(a,b){a=a|0;b=b|0;return 0}function Nb(a,b){a=a|0;b=b|0;return 0}function Ob(a,b){a=a|0;b=b|0;return 0}function Pb(a,b){a=a|0;b=b|0;return 0}function Qb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Mk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function Rb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Mk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function Sb(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+36|0;d=a+68|0;b=c[d>>2]|0;if((b|0)==(c[a+72>>2]|0)){Kc(a+64|0,e);return 0}else{VA(b,e);c[d>>2]=(c[d>>2]|0)+12;return 0}return 0}function Tb(a,b){a=a|0;b=b|0;return 0}function Ub(b,d){b=b|0;d=d|0;d=b+68|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}SA(c[b>>2]|0);c[d>>2]=b;return 0}function Vb(a,b){a=a|0;b=b|0;return 0}function Wb(a,b){a=a|0;b=b|0;return (Lc(a,c[a+8>>2]|0,b+36|0)|0)==1|0}function Xb(a,b){a=a|0;b=b|0;return (Lc(a,c[a+8>>2]|0,b+36|0)|0)==1|0}function Yb(a,b){a=a|0;b=b|0;return (Lc(a,c[a+8>>2]|0,b+36|0)|0)==1|0}function Zb(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+36|0;d=a+68|0;b=c[d>>2]|0;if((b|0)==(c[a+72>>2]|0)){Kc(a+64|0,e);return 0}else{VA(b,e);c[d>>2]=(c[d>>2]|0)+12;return 0}return 0}function _b(b,d){b=b|0;d=d|0;d=b+68|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}SA(c[b>>2]|0);c[d>>2]=b;return 0}function $b(a,b){a=a|0;b=b|0;return 0}function ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Qk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function bc(a,b){a=a|0;b=b|0;return 0}function cc(a,b){a=a|0;b=b|0;return 0}function dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Qk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function ec(a,b){a=a|0;b=b|0;return 0}function fc(a,b){a=a|0;b=b|0;return 0}function gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Rk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Rk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Nk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Nk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Nk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Nk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function mc(a,b){a=a|0;b=b|0;return 0}function nc(a,b){a=a|0;b=b|0;return 0}function oc(a,b){a=a|0;b=b|0;return 0}function pc(a,b){a=a|0;b=b|0;return 0}function qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Kk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(a[d+36>>0]|0){h=d+40|0;b=b+4|0;e=Tk(c[b>>2]|0,h)|0;if(!e){d=1;return d|0}f=a[e+11>>0]|0;g=f<<24>>24<0;f=g?c[e+4>>2]|0:f&255;if(!((f|0)==0?1:(c[d+60>>2]|0)==1))Cl(h,g?c[e>>2]|0:e,f)}else b=b+4|0;g=d+100|0;b=Nk(c[b>>2]|0,g)|0;if(!b){d=1;return d|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+120>>2]|0)==1){d=0;return d|0}Cl(g,f?c[b>>2]|0:b,e);d=0;return d|0}function sc(a,b){a=a|0;b=b|0;return 0}function tc(a,b){a=a|0;b=b|0;return 0}function uc(a,b){a=a|0;b=b|0;return 0}function vc(a,b){a=a|0;b=b|0;return 0}function wc(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+36|0;d=a+68|0;b=c[d>>2]|0;if((b|0)==(c[a+72>>2]|0)){Kc(a+64|0,e);return 0}else{VA(b,e);c[d>>2]=(c[d>>2]|0)+12;return 0}return 0}function xc(a,b){a=a|0;b=b|0;return 0}function yc(b,d){b=b|0;d=d|0;d=b+68|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}SA(c[b>>2]|0);c[d>>2]=b;return 0}function zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+36|0;b=Pk(c[b+4>>2]|0,g)|0;if(!b){g=1;return g|0}e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[b+4>>2]|0:e&255;if((e|0)==0?1:(c[d+56>>2]|0)==1){g=0;return g|0}Cl(g,f?c[b>>2]|0:b,e);g=0;return g|0}function Ac(a,b){a=a|0;b=b|0;return 0}function Bc(a,b){a=a|0;b=b|0;return 0}function Cc(a,b){a=a|0;b=b|0;return 0}function Dc(a,b){a=a|0;b=b|0;return 0}function Ec(a,b){a=a|0;b=b|0;return 0}function Fc(a,b){a=a|0;b=b|0;return 0}function Gc(a,b){a=a|0;b=b|0;return 0}function Hc(a,b){a=a|0;b=b|0;return 0}function Ic(a,b){a=a|0;b=b|0;return 0}function Jc(a,b){a=a|0;b=b|0;return 0}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b+4|0;e=c[b>>2]|0;g=((c[j>>2]|0)-e|0)/12|0;f=g+1|0;if(f>>>0>357913941)yB();k=b+8|0;i=((c[k>>2]|0)-e|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0<f>>>0?f:e):357913941;do if(e)if(e>>>0>357913941)U();else{h=RA(e*12|0)|0;break}else h=0;while(0);f=h+(g*12|0)|0;i=h+(e*12|0)|0;VA(f,d);d=f+12|0;h=c[b>>2]|0;e=c[j>>2]|0;if((e|0)==(h|0)){g=h;e=h}else{do{f=f+-12|0;e=e+-12|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}while((e|0)!=(h|0));g=c[b>>2]|0;e=c[j>>2]|0}c[b>>2]=f;c[j>>2]=d;c[k>>2]=i;f=g;if((e|0)!=(f|0))do{e=e+-12|0;if((a[e+11>>0]|0)<0)SA(c[e>>2]|0)}while((e|0)!=(f|0));if(!g)return;SA(g);return}function Lc(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=aa;aa=aa+16|0;h=j;f=Ik(d,e)|0;k=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;if(f>>>0>=(k+(Gk(c[d+76>>2]|0,c[d+80>>2]|0)|0)|0)>>>0){k=1;aa=j;return k|0}VA(h,(c[b+52>>2]|0)+(f*12|0)|0);f=h+11|0;if((c[e+20>>2]|0)!=1?(g=a[f>>0]|0,i=g<<24>>24<0,g=i?c[h+4>>2]|0:g&255,g|0):0)Cl(e,i?c[h>>2]|0:h,g);if((a[f>>0]|0)<0)SA(c[h>>2]|0);k=0;aa=j;return k|0}function Mc(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;if((c[e+20>>2]|0)!=1){f=c[e+24>>2]|0;o=c[d+64>>2]|0;e=((c[d+68>>2]|0)-o|0)/12|0;d=o;if(f>>>0<e>>>0){n=e+~f|0;l=d+(n*12|0)|0;o=a[l+11>>0]|0;m=o<<24>>24<0;c[b>>2]=m?c[l>>2]|0:l;c[b+4>>2]=m?c[d+(n*12|0)+4>>2]|0:o&255;return}else{c[b>>2]=0;c[b+4>>2]=0;return}}n=c[d+64>>2]|0;o=(c[d+68>>2]|0)-n|0;f=((o|0)/12|0)+-1|0;a:do if((o|0)>0){o=e+24|0;d=a[o+11>>0]|0;l=d<<24>>24<0;d=l?c[e+28>>2]|0:d&255;m=(d|0)==0;b:do if(l)while(1){l=n+(f*12|0)|0;g=a[l+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?c[n+(f*12|0)+4>>2]|0:g)|0)==(d|0)){e=c[l>>2]|0;i=j?e:l;k=c[o>>2]|0;h=e&255;if(j){if(m){d=0;break b}if(!(Kz(i,k,d)|0))break b;else break}if(m){e=l;d=0;break b}if((a[k>>0]|0)==h<<24>>24){h=l;e=k;do{g=g+-1|0;h=h+1|0;if(!g){e=l;break b}e=e+1|0}while((a[h>>0]|0)==(a[e>>0]|0))}}while(0);f=f+-1|0;if((f|0)<=-1)break a}else while(1){k=n+(f*12|0)|0;i=a[k+11>>0]|0;j=i<<24>>24<0;i=i&255;do if(((j?c[n+(f*12|0)+4>>2]|0:i)|0)==(d|0)){e=c[k>>2]|0;h=j?e:k;g=e&255;if(j){if(m){d=0;break b}if(!(Kz(h,o,d)|0))break b;else break}if(m){e=k;d=0;break b}if((a[o>>0]|0)==g<<24>>24){e=i;g=k;h=o;do{e=e+-1|0;g=g+1|0;if(!e){e=k;break b}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);f=f+-1|0;if((f|0)<=-1)break a}while(0);c[b>>2]=e;c[b+4>>2]=d;return}while(0);c[b>>2]=0;c[b+4>>2]=0;return}function Nc(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=aa;aa=aa+48|0;h=i;c[h+4>>2]=0;c[h>>2]=286876;c[h+8>>2]=f;c[h+12>>2]=g;f=h+16|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[h+36>>2]=a;f=Mt(b,d,h,e)|0;c[h>>2]=286876;b=c[h+20>>2]|0;if(!b){aa=i;return f|0}c[h+24>>2]=b;SA(b);aa=i;return f|0}function Oc(a){a=a|0;var b=0;c[a>>2]=286876;b=c[a+20>>2]|0;if(!b)return;c[a+24>>2]=b;SA(b);return}function Pc(a){a=a|0;var b=0;c[a>>2]=286876;b=c[a+20>>2]|0;if(!b){SA(a);return}c[a+24>>2]=b;SA(b);SA(a);return}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0;a=c[a+8>>2]|0;e=a+4|0;d=c[e>>2]|0;if((d|0)==(c[a+8>>2]|0)){Si(a,b);return 1}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];VA(d+24|0,b+24|0);c[e>>2]=(c[e>>2]|0)+36;return 1}return 0}function Rc(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Sc(a,b){a=a|0;b=b|0;return 0}function Tc(a){a=a|0;return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Wc(a){a=a|0;return 0}function Xc(a,b){a=a|0;b=b|0;return 0}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+124|0;g=a+132|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+128|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=RA(b<<2)|0;if((e|0)>0)jC(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;SA(f);return 0}function Zc(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;h=aa;aa=aa+16|0;i=h;l=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;k=Lz(l)|0;j=RA(72)|0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=l;c[j+16>>2]=k;c[j+20>>2]=b;b=j+24|0;c[b>>2]=0;c[b+4>>2]=0;c[j+32>>2]=4;c[j>>2]=288788;An(j+36|0,0,0);b=j+48|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;vg(b,e,e+(d<<2)|0);vg(j+60|0,g,g+(f<<2)|0);b=c[a+12>>2]|0;c[i>>2]=j;el(b,i);b=c[i>>2]|0;c[i>>2]=0;if(!b){aa=h;return 0}ma[c[(c[b>>2]|0)+4>>2]&255](b);aa=h;return 0}function _c(a){a=a|0;return 0}function $c(a,b){a=a|0;b=b|0;return 0}function ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+100|0;g=a+108|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+104|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=RA(b<<2)|0;if((e|0)>0)jC(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;SA(f);return 0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function cd(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,q=0,r=0;r=aa;aa=aa+64|0;l=r+24|0;m=r;q=r+20|0;p=RA(152)|0;j=p+4|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;c[j+24>>2]=0;c[p>>2]=288772;An(p+32|0,0,0);k=p+44|0;a[k>>0]=0;n=p+48|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;wl(n,-1,l);o=p+84|0;g=p+136|0;d=o;i=d+52|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(i|0));c[g>>2]=1065353216;c[p+140>>2]=0;c[p+144>>2]=0;c[p+148>>2]=0;An(l,c[e>>2]|0,c[e+4>>2]|0);g=p+15|0;if((a[g>>0]|0)<0){a[c[j>>2]>>0]=0;c[p+8>>2]=0}else{a[j>>0]=0;a[g>>0]=0}gB(j);c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];An(l,c[f>>2]|0,c[f+4>>2]|0);d=p+16|0;g=p+27|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[p+20>>2]=0}else{a[d>>0]=0;a[g>>0]=0}gB(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];e=b+4|0;j=c[e>>2]|0;f=b+36|0;d=c[f>>2]|0;a[k>>0]=1;j=c[j+8>>2]|0;g=m+12|0;c[g>>2]=0;c[g+4>>2]=0;g=Lz(d)|0;c[m>>2]=d;c[m+4>>2]=g;c[m+8>>2]=j;wl(l,h,m);yl(n,l)|0;Dl(l);j=b+12|0;g=c[j>>2]|0;d=c[(c[g+124>>2]|0)+(h<<2)>>2]|0;i=d+12|0;if((i|0)!=(o|0)){vg(o,c[i>>2]|0,c[d+16>>2]|0);vg(p+96|0,c[d+24>>2]|0,c[d+28>>2]|0);g=c[j>>2]|0}n=c[f>>2]|0;o=c[(c[e>>2]|0)+8>>2]|0;b=Lz(n)|0;h=RA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=n;c[h+16>>2]=b;c[h+20>>2]=o;o=h+24|0;c[o>>2]=0;c[o+4>>2]=0;c[h+32>>2]=2;c[h>>2]=288692;c[h+36>>2]=p;c[q>>2]=h;il(g,q);g=c[q>>2]|0;c[q>>2]=0;if(!g){aa=r;return 0}ma[c[(c[g>>2]|0)+4>>2]&255](g);aa=r;return 0}function dd(d,e,f,g,h,i,j){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=aa;aa=aa+16|0;l=n+4|0;m=n;h=RA(80)|0;e=h+4|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[h+28>>2]=1;c[h>>2]=288756;An(h+32|0,0,0);k=h+48|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k+16>>1]=0;c[h+72>>2]=-16;An(l,c[f>>2]|0,c[f+4>>2]|0);i=h+15|0;if((a[i>>0]|0)<0){a[c[e>>2]>>0]=0;c[h+8>>2]=0}else{a[e>>0]=0;a[i>>0]=0}gB(e);c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];An(l,c[g>>2]|0,c[g+4>>2]|0);e=h+16|0;i=h+27|0;if((a[i>>0]|0)<0){a[c[e>>2]>>0]=0;c[h+20>>2]=0}else{a[e>>0]=0;a[i>>0]=0}gB(e);c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];i=c[d+12>>2]|0;g=c[d+4>>2]|0;l=c[d+36>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];b[k+16>>1]=b[j+16>>1]|0;j=c[g+8>>2]|0;g=Lz(l)|0;d=RA(40)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=l;c[d+16>>2]=g;c[d+20>>2]=j;j=d+24|0;c[j>>2]=0;c[j+4>>2]=0;c[d+32>>2]=2;c[d>>2]=288692;c[d+36>>2]=h;c[m>>2]=d;il(i,m);i=c[m>>2]|0;c[m>>2]=0;if(!i){aa=n;return 0}ma[c[(c[i>>2]|0)+4>>2]&255](i);aa=n;return 0}function ed(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;n=aa;aa=aa+16|0;l=n+4|0;m=n;j=RA(72)|0;h=j+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[j+28>>2]=2;c[j>>2]=288740;An(j+32|0,0,0);k=j+48|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k+16>>1]=0;An(l,c[f>>2]|0,c[f+4>>2]|0);e=j+15|0;if((a[e>>0]|0)<0){a[c[h>>2]>>0]=0;c[j+8>>2]=0}else{a[h>>0]=0;a[e>>0]=0}gB(h);c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];An(l,c[g>>2]|0,c[g+4>>2]|0);h=j+16|0;e=j+27|0;if((a[e>>0]|0)<0){a[c[h>>2]>>0]=0;c[j+20>>2]=0}else{a[h>>0]=0;a[e>>0]=0}gB(h);c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];e=c[d+12>>2]|0;l=c[d+4>>2]|0;g=c[d+36>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];b[k+16>>1]=b[i+16>>1]|0;i=c[l+8>>2]|0;l=Lz(g)|0;d=RA(40)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=g;c[d+16>>2]=l;c[d+20>>2]=i;i=d+24|0;c[i>>2]=0;c[i+4>>2]=0;c[d+32>>2]=2;c[d>>2]=288692;c[d+36>>2]=j;c[m>>2]=d;il(e,m);e=c[m>>2]|0;c[m>>2]=0;if(!e){aa=n;return 0}ma[c[(c[e>>2]|0)+4>>2]&255](e);aa=n;return 0}function fd(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;o=aa;aa=aa+16|0;l=o+4|0;n=o;k=RA(64)|0;d=k+4|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;c[k+28>>2]=3;c[k>>2]=288724;An(k+32|0,0,0);m=k+44|0;c[m>>2]=-64;j=k+48|0;a[j>>0]=0;c[k+52>>2]=0;c[k+56>>2]=0;c[k+60>>2]=0;An(l,c[e>>2]|0,c[e+4>>2]|0);g=k+15|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[k+8>>2]=0}else{a[d>>0]=0;a[g>>0]=0}gB(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];An(l,c[f>>2]|0,c[f+4>>2]|0);d=k+16|0;g=k+27|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[k+20>>2]=0}else{a[d>>0]=0;a[g>>0]=0}gB(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];g=c[b+12>>2]|0;f=c[b+4>>2]|0;l=c[b+36>>2]|0;c[m>>2]=h;a[j>>0]=i&1;b=c[f+8>>2]|0;i=Lz(l)|0;h=RA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=l;c[h+16>>2]=i;c[h+20>>2]=b;b=h+24|0;c[b>>2]=0;c[b+4>>2]=0;c[h+32>>2]=2;c[h>>2]=288692;c[h+36>>2]=k;c[n>>2]=h;il(g,n);g=c[n>>2]|0;c[n>>2]=0;if(!g){aa=o;return 0}ma[c[(c[g>>2]|0)+4>>2]&255](g);aa=o;return 0}function gd(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,q=0,r=0;r=aa;aa=aa+64|0;l=r+24|0;m=r;q=r+20|0;p=RA(108)|0;d=p+4|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;c[p+28>>2]=4;c[p>>2]=288676;An(p+32|0,0,0);k=p+44|0;a[k>>0]=0;n=p+48|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;wl(n,-1,l);o=p+84|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;An(l,c[e>>2]|0,c[e+4>>2]|0);g=p+15|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[p+8>>2]=0}else{a[d>>0]=0;a[g>>0]=0}gB(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];An(l,c[f>>2]|0,c[f+4>>2]|0);d=p+16|0;g=p+27|0;if((a[g>>0]|0)<0){a[c[d>>2]>>0]=0;c[p+20>>2]=0}else{a[d>>0]=0;a[g>>0]=0}gB(d);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];i=b+4|0;f=c[i>>2]|0;j=b+36|0;d=c[j>>2]|0;a[k>>0]=1;f=c[f+8>>2]|0;g=m+12|0;c[g>>2]=0;c[g+4>>2]=0;g=Lz(d)|0;c[m>>2]=d;c[m+4>>2]=g;c[m+8>>2]=f;wl(l,h,m);yl(n,l)|0;Dl(l);f=b+12|0;g=c[f>>2]|0;d=c[(c[g+124>>2]|0)+(h<<2)>>2]|0;e=d+12|0;if((e|0)!=(o|0)){vg(o,c[e>>2]|0,c[d+16>>2]|0);vg(p+96|0,c[d+24>>2]|0,c[d+28>>2]|0);g=c[f>>2]|0}n=c[j>>2]|0;o=c[(c[i>>2]|0)+8>>2]|0;b=Lz(n)|0;h=RA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=n;c[h+16>>2]=b;c[h+20>>2]=o;o=h+24|0;c[o>>2]=0;c[o+4>>2]=0;c[h+32>>2]=2;c[h>>2]=288692;c[h+36>>2]=p;c[q>>2]=h;il(g,q);g=c[q>>2]|0;c[q>>2]=0;if(!g){aa=r;return 0}ma[c[(c[g>>2]|0)+4>>2]&255](g);aa=r;return 0}function hd(a){a=a|0;return 0}function id(a,b){a=a|0;b=b|0;return 0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+76|0;g=(c[a+48>>2]|0)+b|0;f=a+84|0;e=c[h>>2]|0;if((c[f>>2]|0)-e>>2>>>0>=g>>>0)return 0;a=a+80|0;if(g>>>0>1073741823)U();d=(c[a>>2]|0)-e|0;b=RA(g<<2)|0;if((d|0)>0)jC(b|0,e|0,d|0)|0;c[h>>2]=b;c[a>>2]=b+(d>>2<<2);c[f>>2]=b+(g<<2);if(!e)return 0;SA(e);return 0}function kd(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=aa;aa=aa+64|0;g=q+24|0;h=q;p=q+20|0;i=b+4|0;j=b+36|0;n=c[j>>2]|0;d=c[(c[i>>2]|0)+8>>2]|0;k=Lz(n)|0;o=RA(156)|0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=n;c[o+16>>2]=k;c[o+20>>2]=d;d=o+24|0;c[d>>2]=0;c[d+4>>2]=0;c[o+32>>2]=0;c[o>>2]=288660;An(o+36|0,0,0);d=o+48|0;a[d>>0]=0;k=o+52|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;wl(k,-1,g);n=o+88|0;f=o+140|0;l=n;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[f>>2]=1065353216;c[o+144>>2]=0;c[o+148>>2]=0;c[o+152>>2]=0;a[d>>0]=1;m=c[j>>2]|0;d=c[(c[i>>2]|0)+8>>2]|0;f=h+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Lz(m)|0;c[h>>2]=m;c[h+4>>2]=f;c[h+8>>2]=d;wl(g,e,h);yl(k,g)|0;Dl(g);h=b+12|0;d=c[h>>2]|0;f=c[(c[d+124>>2]|0)+(e<<2)>>2]|0;g=f+12|0;if((g|0)!=(n|0)){vg(n,c[g>>2]|0,c[f+16>>2]|0);vg(o+100|0,c[f+24>>2]|0,c[f+28>>2]|0);d=c[h>>2]|0}c[p>>2]=o;cl(d,p);d=c[p>>2]|0;c[p>>2]=0;if(!d){aa=q;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return 0}function ld(a){a=a|0;return 0}function md(a,b){a=a|0;b=b|0;return 0}function nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+136|0;g=(c[a+52>>2]|0)+b|0;f=a+144|0;e=c[h>>2]|0;if((c[f>>2]|0)-e>>2>>>0>=g>>>0)return 0;a=a+140|0;if(g>>>0>1073741823)U();d=(c[a>>2]|0)-e|0;b=RA(g<<2)|0;if((d|0)>0)jC(b|0,e|0,d|0)|0;c[h>>2]=b;c[a>>2]=b+(d>>2<<2);c[f>>2]=b+(g<<2);if(!e)return 0;SA(e);return 0}function od(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;g=aa;aa=aa+16|0;h=g;k=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;j=Lz(k)|0;i=RA(88)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=k;c[i+16>>2]=j;c[i+20>>2]=d;d=i+24|0;c[d>>2]=0;c[d+4>>2]=0;c[i+32>>2]=5;c[i>>2]=288644;An(i+40|0,0,0);d=i+56|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];b[d+16>>1]=b[f+16>>1]|0;c[i+80>>2]=e;d=c[a+12>>2]|0;c[h>>2]=i;ql(d,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=g;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=g;return 0}function pd(a){a=a|0;return 0}function qd(a,b){a=a|0;b=b|0;return 0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+160|0;g=(c[a+56>>2]|0)+b|0;f=a+168|0;e=c[h>>2]|0;if((c[f>>2]|0)-e>>2>>>0>=g>>>0)return 0;a=a+164|0;if(g>>>0>1073741823)U();d=(c[a>>2]|0)-e|0;b=RA(g<<2)|0;if((d|0)>0)jC(b|0,e|0,d|0)|0;c[h>>2]=b;c[a>>2]=b+(d>>2<<2);c[f>>2]=b+(g<<2);if(!e)return 0;SA(e);return 0}function sd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=aa;aa=aa+16|0;g=f;j=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(j)|0;h=RA(80)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=j;c[h+16>>2]=i;c[h+20>>2]=d;d=h+24|0;c[d>>2]=0;c[d+4>>2]=0;c[h+32>>2]=7;c[h>>2]=288628;An(h+40|0,0,0);d=h+56|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];b[d+16>>1]=b[e+16>>1]|0;d=c[a+12>>2]|0;c[g>>2]=h;nl(d,g);d=c[g>>2]|0;c[g>>2]=0;if(!d){aa=f;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=f;return 0}function td(a){a=a|0;return 0}function ud(a,b){a=a|0;b=b|0;return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+88|0;g=(c[a+60>>2]|0)+b|0;f=a+96|0;e=c[h>>2]|0;if((c[f>>2]|0)-e>>2>>>0>=g>>>0)return 0;a=a+92|0;if(g>>>0>1073741823)U();d=(c[a>>2]|0)-e|0;b=RA(g<<2)|0;if((d|0)>0)jC(b|0,e|0,d|0)|0;c[h>>2]=b;c[a>>2]=b+(d>>2<<2);c[f>>2]=b+(g<<2);if(!e)return 0;SA(e);return 0}function wd(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;g=aa;aa=aa+16|0;h=g;k=c[b+36>>2]|0;d=c[(c[b+4>>2]|0)+8>>2]|0;j=Lz(k)|0;i=RA(68)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=k;c[i+16>>2]=j;c[i+20>>2]=d;d=i+24|0;c[d>>2]=0;c[d+4>>2]=0;c[i+32>>2]=1;c[i>>2]=288612;An(i+36|0,0,0);c[i+56>>2]=0;c[i+60>>2]=0;c[i+64>>2]=0;c[i+48>>2]=e;a[i+52>>0]=f&1;d=c[b+12>>2]|0;c[h>>2]=i;gl(d,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=g;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=g;return 0}function xd(a,b){a=a|0;b=b|0;c[a+32>>2]=(c[(c[(c[a+12>>2]|0)+88>>2]|0)+(b<<2)>>2]|0)+20;return 0}function yd(a,b){a=a|0;b=b|0;c[a+32>>2]=0;return 0}function zd(a,b){a=a|0;b=b|0;return 0}function Ad(a){a=a|0;return 0}function Bd(a,b){a=a|0;b=b|0;return 0}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+112|0;g=a+120|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+116|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=RA(b<<2)|0;if((e|0)>0)jC(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;SA(f);return 0}function Dd(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;p=aa;aa=aa+64|0;j=p+24|0;k=p;o=p+20|0;l=b+4|0;m=b+36|0;d=c[m>>2]|0;i=c[(c[l>>2]|0)+8>>2]|0;n=Lz(d)|0;h=RA(88)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=d;c[h+16>>2]=n;c[h+20>>2]=i;i=h+24|0;c[i>>2]=0;c[i+4>>2]=0;c[h+32>>2]=3;c[h>>2]=288596;i=h+36|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;n=h+52|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;wl(n,-1,j);An(j,c[g>>2]|0,c[g+4>>2]|0);d=h+47|0;if((a[d>>0]|0)<0){a[c[i>>2]>>0]=0;c[h+40>>2]=0}else{a[i>>0]=0;a[d>>0]=0}gB(i);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];g=c[m>>2]|0;d=c[(c[l>>2]|0)+8>>2]|0;m=k+12|0;c[m>>2]=0;c[m+4>>2]=0;m=Lz(g)|0;c[k>>2]=g;c[k+4>>2]=m;c[k+8>>2]=d;wl(j,f,k);yl(n,j)|0;Dl(j);c[h+48>>2]=e;d=c[b+12>>2]|0;c[o>>2]=h;al(d,o);d=c[o>>2]|0;c[o>>2]=0;if(!d){aa=p;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=p;return 0}function Ed(a){a=a|0;return 0}function Fd(a,b){a=a|0;b=b|0;return 0}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;e=aa;aa=aa+80|0;g=e+40|0;d=e+4|0;f=e;h=a+4|0;j=a+36|0;l=c[j>>2]|0;i=c[(c[h>>2]|0)+8>>2]|0;k=g+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Lz(l)|0;c[g>>2]=l;c[g+4>>2]=k;c[g+8>>2]=i;wl(d,b,g);b=c[a+12>>2]|0;j=c[j>>2]|0;h=c[(c[h>>2]|0)+8>>2]|0;i=Lz(j)|0;a=RA(72)|0;zl(g,d);c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=j;c[a+16>>2]=i;c[a+20>>2]=h;h=a+24|0;c[h>>2]=0;c[h+4>>2]=0;c[a+32>>2]=9;c[a>>2]=288580;zl(a+36|0,g);c[f>>2]=a;Dl(g);ol(b,f);b=c[f>>2]|0;c[f>>2]=0;if(!b){Dl(d);aa=e;return 0}ma[c[(c[b>>2]|0)+4>>2]&255](b);Dl(d);aa=e;return 0}function Hd(a){a=a|0;return 0}function Id(a,b){a=a|0;b=b|0;return 0}function Jd(a,b){a=a|0;b=b|0;return 0}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;d=c[(c[(c[a+12>>2]|0)+76>>2]|0)+(b<<2)>>2]|0;c[a+16>>2]=d;Vg(a,0,d+108|0,0);return 0}function Ld(a,b){a=a|0;b=b|0;return 0}function Md(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=aa;aa=aa+16|0;h=i+4|0;g=i;b=c[a+16>>2]|0;c[h>>2]=e;c[g>>2]=d;if(!d){aa=i;return 0}f=b+80|0;a=c[f>>2]|0;if(a>>>0<(c[b+84>>2]|0)>>>0){c[a>>2]=e;c[a+4>>2]=d;c[f>>2]=a+8;aa=i;return 0}else{oi(b+76|0,h,g);aa=i;return 0}return 0}function Nd(a,b){a=a|0;b=b|0;return 0}function Od(a){a=a|0;return 0}function Pd(a,b){a=a|0;b=b|0;return 0}function Qd(a,b){a=a|0;b=b|0;return 0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Ud(a,b){a=a|0;b=b|0;return 0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Wd(a,b){a=a|0;b=b|0;return 0}function Xd(a,b){a=a|0;b=b|0;return 0}function Yd(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=aa;aa=aa+16|0;f=h;g=RA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;c[g>>2]=288564;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Lz(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Gg(a,292505,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function Zd(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=aa;aa=aa+16|0;f=h;g=RA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=3;c[g>>2]=288548;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Lz(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Gg(a,292505,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function _d(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=aa;aa=aa+16|0;f=h;g=RA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=1;c[g>>2]=288532;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Lz(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Gg(a,292505,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function $d(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=aa;aa=aa+16|0;f=h;g=RA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=2;c[g>>2]=288516;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Lz(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Gg(a,292505,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|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;h=aa;aa=aa+16|0;f=h;g=RA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=5;c[g>>2]=288500;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Lz(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Gg(a,292505,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function be(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=aa;aa=aa+16|0;f=h;g=RA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=4;c[g>>2]=288484;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Lz(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Gg(a,292505,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=6;c[f>>2]=288468;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;h=k;f=k+8|0;j=RA(144)|0;g=j+4|0;i=j+8|0;e=j+12|0;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;c[g+24>>2]=0;c[j+32>>2]=7;c[j>>2]=288452;g=j+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+12>>0]=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;wl(j+52|0,-1,f);f=j+88|0;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Ug(b,j+48|0,d);f=c[b+36>>2]|0;g=c[(c[b+4>>2]|0)+8>>2]|0;d=Lz(f)|0;c[e>>2]=f;c[j+16>>2]=d;c[j+20>>2]=g;e=j+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[b+20>>2]|0;g=(c[b+24>>2]|0)-e|0;d=(g|0)/12|0;if(!g){c[h>>2]=0;c[h+4>>2]=d;Gg(b,292505,h);ma[c[(c[j>>2]|0)+4>>2]&255](j);b=1;aa=k;return b|0}d=c[e+((d+-1|0)*12|0)+4>>2]|0;f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[i>>2]=e;e=e+4|0}c[e>>2]=j;c[f>>2]=j;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;Vg(b,1,j+112|0,0);b=0;aa=k;return b|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=8;c[f>>2]=288436;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=9;c[f>>2]=288420;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function ge(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;g=aa;aa=aa+64|0;e=g;h=g+28|0;j=g+8|0;f=RA(108)|0;k=f+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[f+32>>2]=10;c[f>>2]=288404;k=f+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;wl(k,-1,h);i=f+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;wl(i,-1,h);c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;wl(h,b,j);yl(k,h)|0;Dl(h);c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;wl(h,d,j);yl(i,h)|0;Dl(h);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);k=1;aa=g;return k|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;k=d+8|0;c[k>>2]=(c[k>>2]|0)+1;k=0;aa=g;return k|0}function he(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;q=aa;aa=aa+64|0;n=q;l=q+28|0;m=q+8|0;p=RA(84)|0;j=p+4|0;o=p+8|0;k=p+12|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;c[j+24>>2]=0;c[p+32>>2]=11;c[p>>2]=288388;j=p+36|0;c[j>>2]=0;h=p+40|0;c[h>>2]=0;c[p+44>>2]=0;f=p+48|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;wl(f,-1,l);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;wl(l,e,m);yl(f,l)|0;Dl(l);e=c[h>>2]|0;f=c[j>>2]|0;g=(e-f|0)/36|0;if(g>>>0>=b>>>0){if(g>>>0>b>>>0){f=f+(b*36|0)|0;if((f|0)!=(e|0))do{e=e+-36|0;Dl(e)}while((e|0)!=(f|0));c[h>>2]=f}if(b|0)i=9}else{Yh(j,b-g|0);i=9}if((i|0)==9){e=0;do{i=c[d+(e<<2)>>2]|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;wl(l,i,m);yl((c[j>>2]|0)+(e*36|0)|0,l)|0;Dl(l);e=e+1|0}while((e|0)!=(b|0))}f=c[a+36>>2]|0;e=c[(c[a+4>>2]|0)+8>>2]|0;d=Lz(f)|0;c[k>>2]=f;c[p+16>>2]=d;c[p+20>>2]=e;e=p+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[a+20>>2]|0;d=(c[a+24>>2]|0)-e|0;f=(d|0)/12|0;if(!d){c[n>>2]=0;c[n+4>>2]=f;Gg(a,292505,n);ma[c[(c[p>>2]|0)+4>>2]&255](p);p=1;aa=q;return p|0}f=c[e+((f+-1|0)*12|0)+4>>2]|0;g=f+4|0;e=c[g>>2]|0;if(!e)e=f;else{c[o>>2]=e;e=e+4|0}c[e>>2]=p;c[g>>2]=p;p=f+8|0;c[p>>2]=(c[p>>2]|0)+1;p=0;aa=q;return p|0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=12;c[f>>2]=288372;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function je(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;o=aa;aa=aa+64|0;m=o;g=o+28|0;h=o+8|0;n=RA(136)|0;k=n+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[n+32>>2]=13;c[n>>2]=288356;k=n+36|0;a[k>>0]=0;f=n+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;wl(f,-1,g);i=n+76|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;j=n+100|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;wl(j,-1,g);a[k>>0]=1;k=b+4|0;l=b+36|0;r=c[l>>2]|0;p=c[(c[k>>2]|0)+8>>2]|0;q=h+12|0;c[q>>2]=0;c[q+4>>2]=0;q=Lz(r)|0;c[h>>2]=r;c[h+4>>2]=q;c[h+8>>2]=p;wl(g,d,h);yl(f,g)|0;Dl(g);d=c[(c[(c[b+12>>2]|0)+124>>2]|0)+(d<<2)>>2]|0;f=d+12|0;if((f|0)!=(i|0)){vg(i,c[f>>2]|0,c[d+16>>2]|0);vg(n+88|0,c[d+24>>2]|0,c[d+28>>2]|0)};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;wl(g,e,h);yl(j,g)|0;Dl(g);f=c[l>>2]|0;d=c[(c[k>>2]|0)+8>>2]|0;r=Lz(f)|0;c[n+12>>2]=f;c[n+16>>2]=r;c[n+20>>2]=d;d=n+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[b+20>>2]|0;r=(c[b+24>>2]|0)-d|0;f=(r|0)/12|0;if(!r){c[m>>2]=0;c[m+4>>2]=f;Gg(b,292505,m);ma[c[(c[n>>2]|0)+4>>2]&255](n);r=1;aa=o;return r|0}f=c[d+((f+-1|0)*12|0)+4>>2]|0;g=f+4|0;d=c[g>>2]|0;if(!d)d=f;else{c[n+8>>2]=d;d=d+4|0}c[d>>2]=n;c[g>>2]=n;r=f+8|0;c[r>>2]=(c[r>>2]|0)+1;r=0;aa=o;return r|0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+32|0;g=h+16|0;d=h;b=c[a+20>>2]|0;e=(c[a+24>>2]|0)-b|0;f=(e|0)/12|0;if(!e){c[d>>2]=0;c[d+4>>2]=f;Gg(a,292505,d);g=1;aa=h;return g|0}e=f+-1|0;d=b+(e*12|0)|0;if((c[d>>2]|0)!=5){Gg(a,294934,h+8|0);g=1;aa=h;return g|0}if(f>>>0>1){c[d>>2]=6;c[b+(e*12|0)+4>>2]=(c[(c[b+((f+-2|0)*12|0)+4>>2]|0)+4>>2]|0)+144;g=0;aa=h;return g|0}else{c[g>>2]=1;c[g+4>>2]=f;Gg(a,292505,g);g=1;aa=h;return g|0}return 0}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=14;c[f>>2]=288340;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=16;c[f>>2]=288324;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=17;c[f>>2]=288308;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function oe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+32|0;f=h+8|0;d=h;b=c[a+20>>2]|0;e=(c[a+24>>2]|0)-b|0;g=(e|0)/12|0;if(!e){c[d>>2]=0;c[d+4>>2]=g;Gg(a,292505,d);a=1;aa=h;return a|0}e=g+-1|0;if(g>>>0<=1){c[f>>2]=1;c[f+4>>2]=g;Gg(a,292505,f);a=1;aa=h;return a|0}d=b+(e*12|0)|0;if((c[d>>2]|0)==3){g=c[(c[b+((g+-2|0)*12|0)+4>>2]|0)+4>>2]|0;i=c[a+36>>2]|0;a=c[(c[a+4>>2]|0)+8>>2]|0;f=Lz(i)|0;c[g+124>>2]=i;c[g+128>>2]=f;c[g+132>>2]=a;a=g+136|0;c[a>>2]=0;c[a+4>>2]=0;c[b+(e*12|0)+4>>2]=g+144;c[d>>2]=4;a=0;aa=h;return a|0}else{Gg(a,294709,h+16|0);i=1;aa=h;return i|0}return 0}function pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+32|0;k=m+16|0;g=m+8|0;e=m;i=a+20|0;j=a+24|0;d=c[j>>2]|0;b=c[i>>2]|0;f=d-b|0;h=(f|0)/12|0;if(!f){c[e>>2]=0;c[e+4>>2]=h;Gg(a,292505,e);l=1;aa=m;return l|0}f=b;if(h>>>0<=1){c[g>>2]=1;c[g+4>>2]=h;Gg(a,292505,g);l=1;aa=m;return l|0}e=c[(c[f+((h+-2|0)*12|0)+4>>2]|0)+4>>2]|0;switch(c[f+((h+-1|0)*12|0)>>2]|0){case 1:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Lz(f)|0;b=e;l=e;c[b+124>>2]=f;c[l+128>>2]=g;c[l+132>>2]=h;b=b+136|0;l=11;break}case 2:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Lz(f)|0;b=e;l=e;c[b+124>>2]=f;c[l+128>>2]=g;c[l+132>>2]=h;b=b+136|0;l=11;break}case 3:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Lz(f)|0;b=e;l=e;c[b+124>>2]=f;c[l+128>>2]=g;c[l+132>>2]=h;b=b+136|0;l=11;break}case 4:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Lz(f)|0;b=e;l=e;c[b+156>>2]=f;c[l+160>>2]=g;c[l+164>>2]=h;b=b+168|0;l=11;break}case 5:{f=c[a+36>>2]|0;h=c[(c[a+4>>2]|0)+8>>2]|0;g=Lz(f)|0;b=e;l=e;c[b+124>>2]=f;c[l+128>>2]=g;c[l+132>>2]=h;b=b+136|0;l=11;break}default:{}}if((l|0)==11){d=b;c[d>>2]=0;c[d+4>>2]=0;d=c[j>>2]|0;b=c[i>>2]|0}if((d|0)==(b|0)){Gg(a,292668,k);l=1;aa=m;return l|0}else{c[j>>2]=d+-12;l=0;aa=m;return l|0}return 0}function qe(a){a=a|0;return 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;l=aa;aa=aa+80|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;f=c[h>>2]|0;d=c[(c[g>>2]|0)+8>>2]|0;j=k+12|0;c[j>>2]=0;c[j+4>>2]=0;j=Lz(f)|0;c[k>>2]=f;c[k+4>>2]=j;c[k+8>>2]=d;Gl(e,b,k);k=RA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287652;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=c[h>>2]|0;h=c[(c[g>>2]|0)+8>>2]|0;d=Lz(f)|0;c[b>>2]=f;c[k+16>>2]=d;c[k+20>>2]=h;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[i>>2]=0;c[i+4>>2]=d;Gg(a,292505,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;k=d+8|0;c[k>>2]=(c[k>>2]|0)+1;k=0;aa=l;return k|0}function se(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=aa;aa=aa+80|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;m=c[h>>2]|0;j=c[(c[g>>2]|0)+8>>2]|0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Lz(m)|0;c[k>>2]=m;c[k+4>>2]=f;c[k+8>>2]=j;Hl(e,b,d,k);k=RA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287652;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));h=c[h>>2]|0;m=c[(c[g>>2]|0)+8>>2]|0;d=Lz(h)|0;c[b>>2]=h;c[k+16>>2]=d;c[k+20>>2]=m;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;m=(c[a+24>>2]|0)-b|0;d=(m|0)/12|0;if(!m){c[i>>2]=0;c[i+4>>2]=d;Gg(a,292505,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);m=1;aa=l;return m|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;m=d+8|0;c[m>>2]=(c[m>>2]|0)+1;m=0;aa=l;return m|0}function te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=aa;aa=aa+96|0;d=l+72|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;m=c[h>>2]|0;j=c[(c[g>>2]|0)+8>>2]|0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Lz(m)|0;c[k>>2]=m;c[k+4>>2]=f;c[k+8>>2]=j;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];Il(e,d,k);k=RA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287652;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));h=c[h>>2]|0;m=c[(c[g>>2]|0)+8>>2]|0;d=Lz(h)|0;c[b>>2]=h;c[k+16>>2]=d;c[k+20>>2]=m;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;m=(c[a+24>>2]|0)-b|0;d=(m|0)/12|0;if(!m){c[i>>2]=0;c[i+4>>2]=d;Gg(a,292505,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);m=1;aa=l;return m|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;m=d+8|0;c[m>>2]=(c[m>>2]|0)+1;m=0;aa=l;return m|0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Lz(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;wl(g,b,f);f=RA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=18;c[f>>2]=287668;zl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Dl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Dl(g);aa=h;return l|0}function ve(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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Lz(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;wl(g,b,f);f=RA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=19;c[f>>2]=288292;zl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Dl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Dl(g);aa=h;return l|0}function we(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=aa;aa=aa+80|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;f=c[h>>2]|0;d=c[(c[g>>2]|0)+8>>2]|0;j=k+12|0;c[j>>2]=0;c[j+4>>2]=0;j=Lz(f)|0;c[k>>2]=f;c[k+4>>2]=j;c[k+8>>2]=d;El(e,b,k);k=RA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287652;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=c[h>>2]|0;h=c[(c[g>>2]|0)+8>>2]|0;d=Lz(f)|0;c[b>>2]=f;c[k+16>>2]=d;c[k+20>>2]=h;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[i>>2]=0;c[i+4>>2]=d;Gg(a,292505,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;k=d+8|0;c[k>>2]=(c[k>>2]|0)+1;k=0;aa=l;return k|0}function xe(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=aa;aa=aa+80|0;i=l+40|0;e=l;k=l+48|0;g=a+4|0;h=a+36|0;m=c[h>>2]|0;j=c[(c[g>>2]|0)+8>>2]|0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Lz(m)|0;c[k>>2]=m;c[k+4>>2]=f;c[k+8>>2]=j;Fl(e,b,d,k);k=RA(80)|0;d=k+4|0;j=k+8|0;b=k+12|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;c[d+24>>2]=0;c[k+32>>2]=15;c[k>>2]=287652;d=k+40|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));h=c[h>>2]|0;m=c[(c[g>>2]|0)+8>>2]|0;d=Lz(h)|0;c[b>>2]=h;c[k+16>>2]=d;c[k+20>>2]=m;b=k+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;m=(c[a+24>>2]|0)-b|0;d=(m|0)/12|0;if(!m){c[i>>2]=0;c[i+4>>2]=d;Gg(a,292505,i);ma[c[(c[k>>2]|0)+4>>2]&255](k);m=1;aa=l;return m|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;e=d+4|0;b=c[e>>2]|0;if(!b)b=d;else{c[j>>2]=b;b=b+4|0}c[b>>2]=k;c[e>>2]=k;m=d+8|0;c[m>>2]=(c[m>>2]|0)+1;m=0;aa=l;return m|0}function ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;h=k;f=k+8|0;j=RA(176)|0;g=j+4|0;i=j+8|0;e=j+12|0;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;c[g+24>>2]=0;c[j+32>>2]=20;c[j>>2]=288276;g=j+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+12>>0]=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;wl(j+52|0,-1,f);f=j+88|0;g=f+88|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Ug(b,j+48|0,d);f=c[b+36>>2]|0;g=c[(c[b+4>>2]|0)+8>>2]|0;d=Lz(f)|0;c[e>>2]=f;c[j+16>>2]=d;c[j+20>>2]=g;e=j+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[b+20>>2]|0;g=(c[b+24>>2]|0)-e|0;d=(g|0)/12|0;if(!g){c[h>>2]=0;c[h+4>>2]=d;Gg(b,292505,h);ma[c[(c[j>>2]|0)+4>>2]&255](j);b=1;aa=k;return b|0}d=c[e+((d+-1|0)*12|0)+4>>2]|0;f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[i>>2]=e;e=e+4|0}c[e>>2]=j;c[f>>2]=j;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;Vg(b,3,j+112|0,0);b=0;aa=k;return b|0}function ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=aa;aa=aa+16|0;f=h;g=RA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=21;c[g>>2]=288260;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Lz(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Gg(a,292505,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Lz(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;wl(g,b,f);f=RA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=22;c[f>>2]=288244;zl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Dl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Dl(g);aa=h;return l|0}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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Lz(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;wl(g,b,f);f=RA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=23;c[f>>2]=288228;zl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Dl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Dl(g);aa=h;return l|0}function Ce(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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Lz(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;wl(g,b,f);f=RA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=24;c[f>>2]=288212;zl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Dl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Dl(g);aa=h;return l|0}function De(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;h=k;f=k+8|0;j=RA(144)|0;g=j+4|0;i=j+8|0;e=j+12|0;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;c[g+24>>2]=0;c[j+32>>2]=25;c[j>>2]=288196;g=j+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+12>>0]=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;wl(j+52|0,-1,f);f=j+88|0;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Ug(b,j+48|0,d);f=c[b+36>>2]|0;g=c[(c[b+4>>2]|0)+8>>2]|0;d=Lz(f)|0;c[e>>2]=f;c[j+16>>2]=d;c[j+20>>2]=g;e=j+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[b+20>>2]|0;g=(c[b+24>>2]|0)-e|0;d=(g|0)/12|0;if(!g){c[h>>2]=0;c[h+4>>2]=d;Gg(b,292505,h);ma[c[(c[j>>2]|0)+4>>2]&255](j);b=1;aa=k;return b|0}d=c[e+((d+-1|0)*12|0)+4>>2]|0;f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[i>>2]=e;e=e+4|0}c[e>>2]=j;c[f>>2]=j;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;Vg(b,2,j+112|0,0);b=0;aa=k;return b|0}function Ee(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=26;c[f>>2]=288180;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=27;c[f>>2]=288164;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function Ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=28;c[f>>2]=288148;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function He(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=29;c[f>>2]=288132;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=30;c[f>>2]=288116;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function Je(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=31;c[f>>2]=288100;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=43;c[f>>2]=288084;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=44;c[f>>2]=288068;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=45;c[f>>2]=288052;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=46;c[f>>2]=288036;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=49;c[f>>2]=288020;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=47;c[f>>2]=288004;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=48;c[f>>2]=287988;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}function Re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=34;c[f>>2]=287972;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=33;c[f>>2]=287956;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=32;c[f>>2]=287940;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=35;c[f>>2]=287924;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=36;c[f>>2]=287908;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|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;wl(g,b,f);f=RA(72)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=37;c[f>>2]=287892;zl(f+36|0,g);d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;Dl(g);aa=h;return i|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;Dl(g);aa=h;return i|0}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;o=aa;aa=aa+64|0;m=o;g=o+28|0;h=o+8|0;n=RA(136)|0;k=n+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[n+32>>2]=38;c[n>>2]=287876;k=n+36|0;a[k>>0]=0;f=n+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;wl(f,-1,g);i=n+76|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;j=n+100|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;wl(j,-1,g);a[k>>0]=1;k=b+4|0;l=b+36|0;r=c[l>>2]|0;p=c[(c[k>>2]|0)+8>>2]|0;q=h+12|0;c[q>>2]=0;c[q+4>>2]=0;q=Lz(r)|0;c[h>>2]=r;c[h+4>>2]=q;c[h+8>>2]=p;wl(g,d,h);yl(f,g)|0;Dl(g);d=c[(c[(c[b+12>>2]|0)+124>>2]|0)+(d<<2)>>2]|0;f=d+12|0;if((f|0)!=(i|0)){vg(i,c[f>>2]|0,c[d+16>>2]|0);vg(n+88|0,c[d+24>>2]|0,c[d+28>>2]|0)};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;wl(g,e,h);yl(j,g)|0;Dl(g);f=c[l>>2]|0;d=c[(c[k>>2]|0)+8>>2]|0;r=Lz(f)|0;c[n+12>>2]=f;c[n+16>>2]=r;c[n+20>>2]=d;d=n+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[b+20>>2]|0;r=(c[b+24>>2]|0)-d|0;f=(r|0)/12|0;if(!r){c[m>>2]=0;c[m+4>>2]=f;Gg(b,292505,m);ma[c[(c[n>>2]|0)+4>>2]&255](n);r=1;aa=o;return r|0}f=c[d+((f+-1|0)*12|0)+4>>2]|0;g=f+4|0;d=c[g>>2]|0;if(!d)d=f;else{c[n+8>>2]=d;d=d+4|0}c[d>>2]=n;c[g>>2]=n;r=f+8|0;c[r>>2]=(c[r>>2]|0)+1;r=0;aa=o;return r|0}function Ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=39;c[f>>2]=287860;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function Ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=aa;aa=aa+16|0;f=h;g=RA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=42;c[g>>2]=287844;c[g+36>>2]=b;c[g+40>>2]=1<<d;c[g+44>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Lz(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Gg(a,292505,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function _e(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;h=aa;aa=aa+64|0;e=h;g=h+28|0;f=h+8|0;i=a+4|0;d=a+36|0;l=c[d>>2]|0;j=c[(c[i>>2]|0)+8>>2]|0;k=f+12|0;c[k>>2]=0;c[k+4>>2]=0;k=Lz(l)|0;c[f>>2]=l;c[f+4>>2]=k;c[f+8>>2]=j;wl(g,b,f);f=RA(72)|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=51;c[f>>2]=287828;zl(f+36|0,g);d=c[d>>2]|0;b=c[(c[i>>2]|0)+8>>2]|0;i=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=i;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;i=(c[a+24>>2]|0)-b|0;d=(i|0)/12|0;if(!i){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);l=1;Dl(g);aa=h;return l|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=0;Dl(g);aa=h;return l|0}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;k=aa;aa=aa+32|0;h=k;f=k+8|0;j=RA(156)|0;g=j+4|0;i=j+8|0;e=j+12|0;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;c[g+24>>2]=0;c[j+32>>2]=52;c[j>>2]=287812;g=j+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+12>>0]=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;wl(j+52|0,-1,f);f=j+88|0;g=f+68|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Ug(b,j+48|0,d);f=c[b+36>>2]|0;g=c[(c[b+4>>2]|0)+8>>2]|0;d=Lz(f)|0;c[e>>2]=f;c[j+16>>2]=d;c[j+20>>2]=g;e=j+24|0;c[e>>2]=0;c[e+4>>2]=0;e=c[b+20>>2]|0;g=(c[b+24>>2]|0)-e|0;d=(g|0)/12|0;if(!g){c[h>>2]=0;c[h+4>>2]=d;Gg(b,292505,h);ma[c[(c[j>>2]|0)+4>>2]&255](j);b=1;aa=k;return b|0}d=c[e+((d+-1|0)*12|0)+4>>2]|0;f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[i>>2]=e;e=e+4|0}c[e>>2]=j;c[f>>2]=j;i=d+8|0;c[i>>2]=(c[i>>2]|0)+1;Vg(b,5,j+112|0,j);b=0;aa=k;return b|0}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=53;c[f>>2]=287796;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(40)|0;d=c[b>>2]|0;b=f+4|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;c[b+24>>2]=0;c[f+32>>2]=50;c[f>>2]=287780;c[f+36>>2]=d;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(36)|0;d=f+4|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;c[d+24>>2]=0;c[f+32>>2]=54;c[f>>2]=287764;d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function df(a,b){a=a|0;b=b|0;var d=0,e=0;e=aa;aa=aa+16|0;d=a+24|0;b=c[d>>2]|0;if((b|0)==(c[a+20>>2]|0)){Gg(a,292668,e);a=1;aa=e;return a|0}else{c[d>>2]=b+-12;c[a+16>>2]=0;a=0;aa=e;return a|0}return 0}function ef(a){a=a|0;return 0}function ff(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=aa;aa=aa+16|0;f=h;g=RA(48)|0;b=c[b>>2]|0;i=g+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[g+32>>2]=40;c[g>>2]=287748;c[g+36>>2]=b;b=g+40|0;c[b>>2]=d;c[b+4>>2]=e;e=c[a+36>>2]|0;d=c[(c[a+4>>2]|0)+8>>2]|0;b=Lz(e)|0;c[g+12>>2]=e;c[g+16>>2]=b;c[g+20>>2]=d;d=g+24|0;c[d>>2]=0;c[d+4>>2]=0;d=c[a+20>>2]|0;b=(c[a+24>>2]|0)-d|0;e=(b|0)/12|0;if(!b){c[f>>2]=0;c[f+4>>2]=e;Gg(a,292505,f);ma[c[(c[g>>2]|0)+4>>2]&255](g);i=1;aa=h;return i|0}e=c[d+((e+-1|0)*12|0)+4>>2]|0;b=e+4|0;d=c[b>>2]|0;if(!d)d=e;else{c[g+8>>2]=d;d=d+4|0}c[d>>2]=g;c[b>>2]=g;i=e+8|0;c[i>>2]=(c[i>>2]|0)+1;i=0;aa=h;return i|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;e=g;f=RA(56)|0;b=c[b>>2]|0;h=f+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[f+32>>2]=41;c[f>>2]=287732;c[f+36>>2]=b;b=f+40|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];d=c[a+36>>2]|0;b=c[(c[a+4>>2]|0)+8>>2]|0;h=Lz(d)|0;c[f+12>>2]=d;c[f+16>>2]=h;c[f+20>>2]=b;b=f+24|0;c[b>>2]=0;c[b+4>>2]=0;b=c[a+20>>2]|0;h=(c[a+24>>2]|0)-b|0;d=(h|0)/12|0;if(!h){c[e>>2]=0;c[e+4>>2]=d;Gg(a,292505,e);ma[c[(c[f>>2]|0)+4>>2]&255](f);h=1;aa=g;return h|0}d=c[b+((d+-1|0)*12|0)+4>>2]|0;a=d+4|0;b=c[a>>2]|0;if(!b)b=d;else{c[f+8>>2]=b;b=b+4|0}c[b>>2]=f;c[a>>2]=f;h=d+8|0;c[h>>2]=(c[h>>2]|0)+1;h=0;aa=g;return h|0}function hf(a,b){a=a|0;b=b|0;return 0} +function cj(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;f=b+4|0;if(!d){e=c[b>>2]|0;c[b>>2]=0;if(e|0)SA(e);c[f>>2]=0;return}if(d>>>0>1073741823)U();r=RA(d<<2)|0;e=c[b>>2]|0;c[b>>2]=r;if(e|0)SA(e);c[f>>2]=d;e=0;do{c[(c[b>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(d|0));f=b+8|0;g=c[f>>2]|0;if(!g)return;e=c[g+4>>2]|0;q=d+-1|0;r=(q&d|0)==0;if(!r){if(e>>>0>=d>>>0)e=(e>>>0)%(d>>>0)|0}else e=e&q;c[(c[b>>2]|0)+(e<<2)>>2]=f;f=c[g>>2]|0;if(!f)return;p=g;while(1){g=c[f+4>>2]|0;if(!r){if(g>>>0>=d>>>0)g=(g>>>0)%(d>>>0)|0}else g=g&q;do if((g|0)==(e|0))g=f;else{h=(c[b>>2]|0)+(g<<2)|0;if(!(c[h>>2]|0)){c[h>>2]=p;e=g;g=f;break}h=c[f>>2]|0;a:do if(!h)h=f;else{n=f+8|0;m=a[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?c[f+12>>2]|0:m;l=(o|0)==0;if(k){i=f;while(1){j=h+8|0;m=a[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?c[h+12>>2]|0:m&255)|0)){h=i;break a}if(!l?Kz(c[n>>2]|0,k?c[j>>2]|0:j,o)|0:0){h=i;break a}i=c[h>>2]|0;if(!i)break a;else{m=h;h=i;i=m}}}if(l){i=f;while(1){o=a[h+8+11>>0]|0;if((o<<24>>24<0?c[h+12>>2]|0:o&255)|0){h=i;break a}i=c[h>>2]|0;if(!i)break a;else{o=h;h=i;i=o}}}l=f;while(1){i=h+8|0;k=a[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?c[h+12>>2]|0:k&255)|0)){h=l;break a}i=j?c[i>>2]|0:i;if((a[i>>0]|0)!=(c[n>>2]&255)<<24>>24){h=l;break a}j=m;k=n;while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((a[k>>0]|0)!=(a[i>>0]|0)){h=l;break a}}i=c[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);c[p>>2]=c[h>>2];c[h>>2]=c[c[(c[b>>2]|0)+(g<<2)>>2]>>2];c[c[(c[b>>2]|0)+(g<<2)>>2]>>2]=f;g=p}while(0);f=c[g>>2]|0;if(!f)break;else p=g}return}function dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+40|0;if((c[d+44>>2]|0)==(c[g>>2]|0)?(f=c[d+52>>2]|0,h=(c[d+56>>2]|0)-f|0,f,h>>2>>>0<2):0){e=c[b>>2]|0;if(!h){Pl(e,-64,329712);return}else{Ui(e,c[f>>2]|0);return}}e=c[b+8>>2]|0;if(!(a[d>>0]|0))e=Uk(e,g)|0;else e=Ak(e,d+4|0)|0;Pl(c[b>>2]|0,e,298477);return}function ej(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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=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;va=aa;aa=aa+464|0;ua=va+440|0;G=va+432|0;F=va+424|0;E=va+416|0;D=va+408|0;C=va+400|0;B=va+392|0;A=va+384|0;z=va+376|0;y=va+368|0;x=va+360|0;v=va+352|0;u=va+344|0;t=va+336|0;s=va+328|0;sa=va+320|0;ra=va+312|0;qa=va+304|0;pa=va+296|0;na=va+288|0;ma=va+280|0;la=va+272|0;ka=va+264|0;ja=va+256|0;ia=va+248|0;ha=va+240|0;ga=va+232|0;da=va+224|0;ca=va+216|0;ba=va+208|0;$=va+200|0;_=va+192|0;Z=va+184|0;Y=va+176|0;W=va+168|0;V=va+160|0;T=va+152|0;S=va+144|0;R=va+136|0;Q=va+128|0;P=va+120|0;N=va+112|0;M=va+104|0;L=va+96|0;K=va+88|0;J=va+80|0;I=va+72|0;H=va+64|0;w=va+56|0;oa=va+48|0;ea=va+40|0;X=va+32|0;O=va+24|0;r=va+16|0;q=va;p=va+448|0;c[b>>2]=d;ta=b+4|0;tn(c[ta>>2]|0,298521,q);n=b+32|0;e=a[n+11>>0]|0;o=e<<24>>24<0;fj(b,o?c[n>>2]|0:n,o?c[b+36>>2]|0:e&255);tn(c[ta>>2]|0,298542,r);e=c[b>>2]|0;if((c[e+4>>2]|0)==(c[e>>2]|0)){sa=b+60|0;ta=c[ta>>2]|0;tn(ta,298616,ua);ua=c[sa>>2]|0;aa=va;return ua|0}n=b+64|0;k=q+11|0;l=q+4|0;m=p+4|0;j=b+24|0;o=b+56|0;d=b+60|0;i=0;a:while(1){h=c[(c[e>>2]|0)+(i<<2)>>2]|0;if(i|0){tn(c[ta>>2]|0,329762,O);tn(c[ta>>2]|0,298560,X)}tn(c[ta>>2]|0,298562,ea);g=c[ta>>2]|0;c[oa>>2]=329174;tn(g,298566,oa);g=h+4|0;f=c[ta>>2]|0;c[w>>2]=c[16+(c[g>>2]<<2)>>2];tn(f,298573,w);tn(c[ta>>2]|0,329762,H);do switch(c[g>>2]|0){case 0:{gj(q,b,299521);g=c[ta>>2]|0;c[I>>2]=298578;tn(g,298566,I);g=c[ta>>2]|0;c[J>>2]=c[h+16>>2];tn(g,330371,J);tn(c[ta>>2]|0,329762,K);g=h+28|0;f=g+11|0;e=a[f>>0]|0;if(e<<24>>24<0)e=c[g+4>>2]|0;else e=e&255;if(e|0){e=c[ta>>2]|0;c[L>>2]=312625;tn(e,298566,L);f=a[f>>0]|0;e=f<<24>>24<0;fj(b,e?c[g>>2]|0:g,e?c[g+4>>2]|0:f&255);tn(c[ta>>2]|0,329762,M)}g=c[ta>>2]|0;c[N>>2]=298583;tn(g,298566,N);g=a[k>>0]|0;f=g<<24>>24<0;Lj(p,f?c[q>>2]|0:q,f?c[l>>2]|0:g&255);fj(b,c[p>>2]|0,c[m>>2]|0);g=a[k>>0]|0;f=g<<24>>24<0;g=f?c[l>>2]|0:g&255;e=r;c[e>>2]=f?c[q>>2]|0:q;c[e+4>>2]=g;e=c[j>>2]|0;if(!e){e=13;break a}h=Vi(fa[c[(c[e>>2]|0)+24>>2]&511](e,r)|0,h+8|0,c[o>>2]|0)|0;c[d>>2]=((h|0)==1|(c[d>>2]|0)==1)&1;c[n>>2]=(c[n>>2]|0)+1;if((a[k>>0]|0)<0)SA(c[q>>2]|0);break}case 1:{h=c[h+8>>2]|0;g=c[ta>>2]|0;c[P>>2]=298578;tn(g,298566,P);g=c[ta>>2]|0;c[Q>>2]=c[h+12>>2];tn(g,330371,Q);tn(c[ta>>2]|0,329762,R);hj(b,h);tn(c[ta>>2]|0,329762,S);g=c[ta>>2]|0;c[T>>2]=298592;tn(g,298566,T);ij(b,h);break}case 2:{f=h+20|0;e=c[ta>>2]|0;c[V>>2]=298578;tn(e,298566,V);e=c[ta>>2]|0;c[W>>2]=c[f+8>>2];tn(e,330371,W);tn(c[ta>>2]|0,329762,Y);e=f+20|0;if((c[e>>2]|0)==1){g=c[ta>>2]|0;c[Z>>2]=312625;tn(g,298566,Z);if(!(c[e>>2]|0)){g=c[ta>>2]|0;c[_>>2]=c[f+24>>2];tn(g,298601,_)}else{wa=f+24|0;g=a[wa+11>>0]|0;e=g<<24>>24<0;fj(b,e?c[wa>>2]|0:wa,e?c[f+28>>2]|0:g&255)}tn(c[ta>>2]|0,329762,$)}f=c[ta>>2]|0;c[ba>>2]=298606;tn(f,298566,ba);f=h+8|0;wa=a[f+11>>0]|0;g=wa<<24>>24<0;fj(b,g?c[f>>2]|0:f,g?c[h+12>>2]|0:wa&255);break}case 3:{g=h+12|0;wa=a[g+11>>0]|0;f=wa<<24>>24<0;jj(b,c[h+8>>2]|0,f?c[g>>2]|0:g,f?c[g+4>>2]|0:wa&255);c[n>>2]=(c[n>>2]|0)+1;break}case 4:{g=h+12|0;wa=a[g+11>>0]|0;f=wa<<24>>24<0;jj(b,c[h+8>>2]|0,f?c[g>>2]|0:g,f?c[g+4>>2]|0:wa&255);c[n>>2]=(c[n>>2]|0)+1;break}case 5:{g=h+12|0;wa=a[g+11>>0]|0;f=wa<<24>>24<0;jj(b,c[h+8>>2]|0,f?c[g>>2]|0:g,f?c[g+4>>2]|0:wa&255);c[n>>2]=(c[n>>2]|0)+1;break}case 6:{g=h+12|0;wa=a[g+11>>0]|0;f=wa<<24>>24<0;jj(b,c[h+8>>2]|0,f?c[g>>2]|0:g,f?c[g+4>>2]|0:wa&255);c[n>>2]=(c[n>>2]|0)+1;break}case 7:{wa=h+8|0;f=c[wa>>2]|0;g=c[ta>>2]|0;c[ca>>2]=298578;tn(g,298566,ca);g=c[ta>>2]|0;c[da>>2]=c[f+12>>2];tn(g,330371,da);tn(c[ta>>2]|0,329762,ga);hj(b,c[wa>>2]|0);tn(c[ta>>2]|0,329762,ha);wa=c[ta>>2]|0;c[ia>>2]=298592;tn(wa,298566,ia);kj(b,h+12|0);break}case 8:{wa=h+8|0;g=c[wa>>2]|0;h=c[ta>>2]|0;c[ja>>2]=298578;tn(h,298566,ja);h=c[ta>>2]|0;c[ka>>2]=c[g+12>>2];tn(h,330371,ka);tn(c[ta>>2]|0,329762,la);hj(b,c[wa>>2]|0);tn(c[ta>>2]|0,329762,ma);h=c[ta>>2]|0;c[na>>2]=298592;tn(h,298566,na);ij(b,c[wa>>2]|0);break}case 9:{wa=h+8|0;g=c[wa>>2]|0;h=c[ta>>2]|0;c[pa>>2]=298578;tn(h,298566,pa);h=c[ta>>2]|0;c[qa>>2]=c[g+12>>2];tn(h,330371,qa);tn(c[ta>>2]|0,329762,ra);hj(b,c[wa>>2]|0);tn(c[ta>>2]|0,329762,sa);h=c[ta>>2]|0;c[s>>2]=298592;tn(h,298566,s);ij(b,c[wa>>2]|0);break}case 10:{wa=h+8|0;f=c[wa>>2]|0;g=c[ta>>2]|0;c[t>>2]=298578;tn(g,298566,t);g=c[ta>>2]|0;c[u>>2]=c[f+12>>2];tn(g,330371,u);tn(c[ta>>2]|0,329762,v);hj(b,c[wa>>2]|0);tn(c[ta>>2]|0,329762,x);g=c[ta>>2]|0;c[y>>2]=298609;tn(g,298566,y);g=h+12|0;h=a[g+11>>0]|0;f=h<<24>>24<0;fj(b,f?c[g>>2]|0:g,f?c[g+4>>2]|0:h&255);tn(c[ta>>2]|0,329762,z);h=c[ta>>2]|0;c[A>>2]=298592;tn(h,298566,A);ij(b,c[wa>>2]|0);break}case 11:{wa=h+8|0;g=c[wa>>2]|0;h=c[ta>>2]|0;c[B>>2]=298578;tn(h,298566,B);h=c[ta>>2]|0;c[C>>2]=c[g+12>>2];tn(h,330371,C);tn(c[ta>>2]|0,329762,D);hj(b,c[wa>>2]|0);tn(c[ta>>2]|0,329762,E);h=c[ta>>2]|0;c[F>>2]=298592;tn(h,298566,F);ij(b,c[wa>>2]|0);break}default:{}}while(0);tn(c[ta>>2]|0,298614,G);i=i+1|0;e=c[b>>2]|0;if(i>>>0>=(c[e+4>>2]|0)-(c[e>>2]|0)>>2>>>0){e=34;break}}if((e|0)==13)U();else if((e|0)==34){wa=c[ta>>2]|0;tn(wa,298616,ua);wa=c[d>>2]|0;aa=va;return wa|0}return 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,k=0;k=aa;aa=aa+16|0;j=k;i=k+4|0;h=b+4|0;g=c[h>>2]|0;a[i>>0]=34;un(g,i,1,0,0);if(!e){j=c[h>>2]|0;a[i>>0]=34;un(j,i,1,0,0);aa=k;return}g=0;do{b=a[d+g>>0]|0;f=c[h>>2]|0;if(b<<24>>24<0|(b<<24>>24==34|((b&255)<32|b<<24>>24==92))){c[j>>2]=b&255;tn(f,298680,j)}else{a[i>>0]=b;un(f,i,1,0,0)}g=g+1|0}while((g|0)!=(e|0));j=c[h>>2]|0;a[i>>0]=34;un(j,i,1,0,0);aa=k;return}function gj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=aa;aa=aa+16|0;i=f;VA(b,d+44|0);nB(b,46);vB(i,c[d+64>>2]|0);h=a[i+11>>0]|0;g=h<<24>>24<0;d=c[i>>2]|0;lB(b,g?d:i,g?c[i+4>>2]|0:h&255)|0;if(g)SA(d);mB(b,e)|0;e=a[b+11>>0]|0;if(e<<24>>24<0){d=c[b>>2]|0;e=c[b+4>>2]|0}else{d=b;e=e&255}b=d+e|0;if(!e){aa=f;return}do{if((a[d>>0]|0)==92)a[d>>0]=47;d=d+1|0}while((d|0)!=(b|0));aa=f;return}function hj(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;q=aa;aa=aa+112|0;p=q+96|0;o=q+88|0;n=q+80|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;g=q+32|0;f=q+24|0;i=q+16|0;e=q;h=b+4|0;r=c[h>>2]|0;c[e>>2]=301074;tn(r,298566,e);tn(c[h>>2]|0,298620,q+8|0);e=c[h>>2]|0;c[i>>2]=329174;tn(e,298566,i);i=d+72|0;e=c[h>>2]|0;if(!(c[i>>2]|0)){c[f>>2]=329072;tn(e,298573,f)}else{c[g>>2]=329054;tn(e,298573,g)}tn(c[h>>2]|0,329762,q+40|0);e=d+44|0;if((c[e>>2]|0)==1){r=c[h>>2]|0;c[j>>2]=329094;tn(r,298566,j);if(!(c[e>>2]|0)){r=c[h>>2]|0;c[k>>2]=c[d+48>>2];tn(r,298601,k)}else{j=d+48|0;r=a[j+11>>0]|0;k=r<<24>>24<0;fj(b,k?c[j>>2]|0:j,k?c[d+52>>2]|0:r&255)}tn(c[h>>2]|0,329762,l)}r=(c[i>>2]|0)==0;k=c[h>>2]|0;c[m>>2]=298647;tn(k,298566,m);k=d+60|0;m=a[k+11>>0]|0;l=m<<24>>24<0;fj(b,l?c[k>>2]|0:k,l?c[d+64>>2]|0:m&255);if(!r){r=c[h>>2]|0;tn(r,298614,p);aa=q;return}tn(c[h>>2]|0,329762,n);r=c[h>>2]|0;c[o>>2]=298653;tn(r,298566,o);kj(b,d+76|0);r=c[h>>2]|0;tn(r,298614,p);aa=q;return}function ij(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+16|0;i=j+8|0;e=tl(c[b>>2]|0,d+24|0)|0;h=b+4|0;tn(c[h>>2]|0,328684,j);switch(c[d+72>>2]|0){case 0:{k=d+60|0;f=a[k+11>>0]|0;g=f<<24>>24<0;d=Jk(e,(vk(e,g?c[k>>2]|0:k,g?c[d+64>>2]|0:f&255)|0)+16|0)|0;e=c[d+64>>2]|0;f=(c[d+68>>2]|0)-e|0;g=f>>2;if(!f){k=c[h>>2]|0;tn(k,329686,i);aa=j;return}f=d+64|0;lj(b,c[e>>2]|0);if(g>>>0<=1){k=c[h>>2]|0;tn(k,329686,i);aa=j;return}d=1;do{lj(b,c[(c[f>>2]|0)+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(g|0));k=c[h>>2]|0;tn(k,329686,i);aa=j;return}case 1:{f=d+60|0;k=a[f+11>>0]|0;g=k<<24>>24<0;k=(Lk(e,(vk(e,g?c[f>>2]|0:f,g?c[d+64>>2]|0:k&255)|0)+16|0)|0)+12|0;lj(b,c[k>>2]|0);k=c[h>>2]|0;tn(k,329686,i);aa=j;return}default:{k=c[h>>2]|0;tn(k,329686,i);aa=j;return}}}function jj(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,r=0,s=0,t=0,u=0,v=0,w=0;u=aa;aa=aa+96|0;r=u+72|0;o=u+64|0;n=u+56|0;m=u+48|0;p=u+40|0;j=u+32|0;t=u+16|0;i=u+8|0;h=u;k=u+80|0;q=d+4|0;switch(c[q>>2]|0){case 0:{g=299521;l=308187;break}case 1:{g=299521;l=308187;break}case 2:{g=299527;l=298609;break}default:{g=351956;l=351956}}w=ea[c[(c[d>>2]|0)+8>>2]&127](d)|0;v=b+4|0;s=c[v>>2]|0;c[h>>2]=298578;tn(s,298566,h);s=c[v>>2]|0;c[i>>2]=c[w+8>>2];tn(s,330371,i);tn(c[v>>2]|0,329762,t);gj(t,b,g);s=c[v>>2]|0;c[j>>2]=298583;tn(s,298566,j);s=t+11|0;h=a[s>>0]|0;g=h<<24>>24<0;j=t+4|0;Lj(k,g?c[t>>2]|0:t,g?c[j>>2]|0:h&255);fj(b,c[k>>2]|0,c[k+4>>2]|0);tn(c[v>>2]|0,329762,p);h=c[v>>2]|0;c[m>>2]=298609;tn(h,298566,m);fj(b,e,f);tn(c[v>>2]|0,329762,n);h=c[v>>2]|0;c[o>>2]=298635;tn(h,298566,o);h=c[v>>2]|0;c[r>>2]=l;tn(h,298573,r);h=a[s>>0]|0;g=h<<24>>24<0;h=g?c[j>>2]|0:h&255;g=g?c[t>>2]|0:t;a:do switch(c[q>>2]|0){case 0:{w=r;c[w>>2]=g;c[w+4>>2]=h;g=c[b+24>>2]|0;if(!g)U();else{v=fa[c[(c[g>>2]|0)+24>>2]&511](g,r)|0;v=Vi(v,d+8|0,c[b+56>>2]|0)|0;w=b+60|0;c[w>>2]=((v|0)==1|(c[w>>2]|0)==1)&1;break a}break}case 1:{w=r;c[w>>2]=g;c[w+4>>2]=h;g=c[b+24>>2]|0;if(!g)U();j=fa[c[(c[g>>2]|0)+24>>2]&511](g,r)|0;g=c[d+40>>2]|0;i=(c[d+44>>2]|0)-g|0;if(i|0){if((i|0)<0)yB();h=RA(i)|0;jC(h|0,g|0,i|0)|0;un(j,h,i,351956,0);if(h|0)SA(h)}break}case 2:{w=r;c[w>>2]=g;c[w+4>>2]=h;g=c[b+24>>2]|0;if(!g)U();j=fa[c[(c[g>>2]|0)+24>>2]&511](g,r)|0;g=c[d+40>>2]|0;i=(c[d+44>>2]|0)-g|0;if(i|0){if((i|0)<0)yB();h=RA(i)|0;jC(h|0,g|0,i|0)|0;un(j,h,i,351956,0);if(h|0)SA(h)}break}default:{}}while(0);if((a[s>>0]|0)>=0){aa=u;return}SA(c[t>>2]|0);aa=u;return}function kj(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;C=aa;aa=aa+176|0;A=C+168|0;z=C+160|0;x=C+152|0;w=C+144|0;v=C+136|0;u=C+128|0;t=C+120|0;s=C+112|0;r=C+104|0;p=C+96|0;o=C+88|0;n=C+80|0;m=C+72|0;l=C+64|0;k=C+56|0;j=C+48|0;i=C+40|0;B=C+32|0;y=C+24|0;q=C+16|0;h=C+8|0;g=a+4|0;tn(c[g>>2]|0,328684,C);f=b+4|0;a=c[b>>2]|0;if((c[f>>2]|0)==(a|0)){B=c[g>>2]|0;tn(B,329686,h);aa=C;return}e=0;do{tn(c[g>>2]|0,298620,q);d=c[g>>2]|0;c[y>>2]=329174;tn(d,298566,y);switch(c[a+(e*40|0)+20>>2]|0){case -1:{d=c[g>>2]|0;c[B>>2]=329758;tn(d,298573,B);tn(c[g>>2]|0,329762,i);d=c[g>>2]|0;c[j>>2]=298622;tn(d,298566,j);d=c[g>>2]|0;c[k>>2]=c[a+(e*40|0)+24>>2];tn(d,298601,k);break}case -2:{d=c[g>>2]|0;c[l>>2]=329754;tn(d,298573,l);tn(c[g>>2]|0,329762,m);d=c[g>>2]|0;c[n>>2]=298622;tn(d,298566,n);d=c[g>>2]|0;E=a+(e*40|0)+24|0;D=c[E+4>>2]|0;a=o;c[a>>2]=c[E>>2];c[a+4>>2]=D;tn(d,298628,o);break}case -3:{E=c[g>>2]|0;c[p>>2]=329750;tn(E,298573,p);tn(c[g>>2]|0,329762,r);E=c[g>>2]|0;c[s>>2]=298622;tn(E,298566,s);E=c[g>>2]|0;c[t>>2]=c[a+(e*40|0)+24>>2];tn(E,298601,t);break}case -4:{E=c[g>>2]|0;c[u>>2]=329746;tn(E,298573,u);tn(c[g>>2]|0,329762,v);E=c[g>>2]|0;c[w>>2]=298622;tn(E,298566,w);E=c[g>>2]|0;a=a+(e*40|0)+24|0;d=c[a+4>>2]|0;D=x;c[D>>2]=c[a>>2];c[D+4>>2]=d;tn(E,298628,x);break}default:{}}tn(c[g>>2]|0,298614,z);a=c[b>>2]|0;d=((c[f>>2]|0)-a|0)/40|0;if((e|0)!=(d+-1|0)){tn(c[g>>2]|0,329762,A);d=c[b>>2]|0;a=d;d=((c[f>>2]|0)-d|0)/40|0}e=e+1|0}while(e>>>0<d>>>0);E=c[g>>2]|0;tn(E,329686,h);aa=C;return}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+32|0;f=g+24|0;e=g+16|0;h=g+8|0;d=a+4|0;tn(c[d>>2]|0,298620,g);a=c[d>>2]|0;c[h>>2]=329174;tn(a,298566,h);do switch(b|0){case -1:{a=329758;break}case -2:{a=329754;break}case -3:{a=329750;break}case -4:{a=329746;break}case -5:{a=329741;break}case -16:{a=329733;break}case -32:{a=329728;break}case -24:{a=329717;break}case -64:{a=329712;break}case 0:{a=329708;break}case -17:{a=329701;break}default:a=329688}while(0);h=c[d>>2]|0;c[e>>2]=a;tn(h,298573,e);tn(c[d>>2]|0,298614,f);aa=g;return}function mj(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;q=aa;aa=aa+128|0;m=q+124|0;s=q+120|0;p=q+96|0;o=q+24|0;r=q;c[m>>2]=j;c[s>>2]=k;n=p+16|0;c[p>>2]=288804;j=p+4|0;c[j>>2]=m;c[p+8>>2]=s;c[n>>2]=p;k=r+16|0;c[k>>2]=r;c[r>>2]=288804;s=c[j>>2]|0;j=c[j+4>>2]|0;m=r+4|0;c[m>>2]=s;c[m+4>>2]=j;c[o>>2]=0;c[o+4>>2]=b;m=o+8|0;l=o+24|0;c[l>>2]=m;c[m>>2]=288804;m=o+12|0;c[m>>2]=s;c[m+4>>2]=j;m=o+32|0;zn(m,e,f);b=o+44|0;zn(b,g,h);c[o+56>>2]=i;c[o+60>>2]=0;c[o+64>>2]=0;k=c[k>>2]|0;if((r|0)!=(k|0)){if(k|0)ma[c[(c[k>>2]|0)+20>>2]&255](k)}else ma[c[(c[k>>2]|0)+16>>2]&255](k);j=ej(o,d)|0;if((a[b+11>>0]|0)<0)SA(c[b>>2]|0);if((a[m+11>>0]|0)<0)SA(c[m>>2]|0);k=c[l>>2]|0;if((o+8|0)!=(k|0)){if(k|0)ma[c[(c[k>>2]|0)+20>>2]&255](k)}else ma[c[(c[k>>2]|0)+16>>2]&255](k);k=c[n>>2]|0;if((p|0)==(k|0)){ma[c[(c[k>>2]|0)+16>>2]&255](k);aa=q;return j|0}if(!k){aa=q;return j|0}ma[c[(c[k>>2]|0)+20>>2]&255](k);aa=q;return j|0}function nj(a){a=a|0;return}function oj(a){a=a|0;SA(a);return}function pj(a){a=a|0;var b=0,d=0,e=0;b=RA(12)|0;c[b>>2]=288804;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0;c[b>>2]=288804;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return}function rj(a){a=a|0;return}function sj(a){a=a|0;SA(a);return}function tj(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=aa;aa=aa+16|0;i=k;j=k+8|0;g=c[b>>2]|0;e=c[b+4>>2]|0;c[i>>2]=g;c[i+4>>2]=e;h=a+4|0;f=c[c[h>>2]>>2]|0;d=c[a+8>>2]|0;b=RA(20)|0;wn(b,c[d>>2]|0);c[j>>2]=b;d=f+4|0;a=c[d>>2]|0;if(a>>>0>=(c[f+8>>2]|0)>>>0){wj(f,i,j);b=c[j>>2]|0;c[j>>2]=0;if(b|0)ma[c[(c[b>>2]|0)+4>>2]&255](b)}else{c[j>>2]=0;zn(a,g,e);c[a+12>>2]=b;c[d>>2]=(c[d>>2]|0)+16;c[j>>2]=0}aa=k;return c[(c[(c[c[h>>2]>>2]|0)+4>>2]|0)+-4>>2]|0}function uj(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==298687?a+4|0:0)|0}function vj(a){a=a|0;return 285720}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,k=0,l=0,m=0,n=0,o=0,p=0;l=b+4|0;f=c[b>>2]|0;k=(c[l>>2]|0)-f>>4;g=k+1|0;if(g>>>0>268435455)yB();m=b+8|0;i=(c[m>>2]|0)-f|0;f=i>>3;f=i>>4>>>0<134217727?(f>>>0<g>>>0?g:f):268435455;do if(f)if(f>>>0>268435455)U();else{j=RA(f<<4)|0;break}else j=0;while(0);g=j+(k<<4)|0;i=j+(f<<4)|0;n=c[d>>2]|0;f=c[d+4>>2]|0;h=c[e>>2]|0;c[e>>2]=0;zn(g,n,f);c[j+(k<<4)+12>>2]=h;h=g+16|0;f=c[b>>2]|0;e=f;d=c[l>>2]|0;if((d|0)!=(f|0)){e=(d+-16-e|0)>>>4;do{n=g;g=g+-16|0;p=d;d=d+-16|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;p=p+-4|0;o=c[p>>2]|0;c[p>>2]=0;c[n+-4>>2]=o}while((d|0)!=(f|0));g=j+(k+-1-e<<4)|0;e=c[b>>2]|0;f=c[l>>2]|0}c[b>>2]=g;c[l>>2]=h;c[m>>2]=i;d=e;if((f|0)!=(d|0))do{p=f+-4|0;f=f+-16|0;g=c[p>>2]|0;c[p>>2]=0;if(g|0)ma[c[(c[g>>2]|0)+4>>2]&255](g);if((a[f+11>>0]|0)<0)SA(c[f>>2]|0)}while((f|0)!=(d|0));if(!e)return;SA(e);return}function xj(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;if(e){e=Y(299155)|0;if(!e)e=KA(FA(d)|0)|0;else e=GA(e)|0;e=(e|0)!=0&1}else e=0;a[b+4>>0]=e;return}function yj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+12>>2]=f;return}function zj(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,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;H=aa;aa=aa+64|0;G=H+8|0;F=H;C=H+40|0;E=H+24|0;D=H+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((d|0)==(e|0)){aa=H;return}B=i+11|0;z=i+4|0;y=C+11|0;x=h+4|0;u=(f|0)==0;k=E+11|0;p=E+4|0;l=E+11|0;r=E+4|0;w=(g|0)==0;n=E+11|0;t=E+4|0;m=E+11|0;s=E+4|0;j=D+11|0;o=D+4|0;q=C+4|0;v=E+12|0;do{f=a[B>>0]|0;f=((f<<24>>24<0?c[z>>2]|0:f&255)|0)==0;i=f?0:2;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;a[y>>0]=i;if(!f)lC(C|0,32,i|0)|0;a[C+i>>0]=0;VA(D,C);mB(D,(a[x>>0]|0)==0?351956:299488)|0;i=c[d+8>>2]|0;if(i|0){An(E,c[d+4>>2]|0,i);h=a[k>>0]|0;f=h<<24>>24<0;i=c[E>>2]|0;lB(D,f?i:E,f?c[p>>2]|0:h&255)|0;if(f)SA(i);mB(D,322051)|0}if(u){h=c[d+16>>2]|0;c[F>>2]=c[d+12>>2];c[F+4>>2]=h;Aj(E,299493,F);h=a[l>>0]|0;f=h<<24>>24<0;i=c[E>>2]|0;lB(D,f?i:E,f?c[r>>2]|0:h&255)|0;if(f)SA(i)}else{i=c[d+12>>2]|0;if((i|0)!=-1?(c[G>>2]=i,Aj(E,301015,G),h=a[m>>0]|0,f=h<<24>>24<0,A=c[E>>2]|0,lB(D,f?A:E,f?c[s>>2]|0:h&255)|0,f):0)SA(A)}mB(D,(a[x>>0]|0)==0?351956:299501)|0;mB(D,(c[d>>2]|0)==0?323157:323165)|0;mB(D,299507)|0;mB(D,(a[x>>0]|0)==0?351956:299510)|0;i=d+24|0;f=a[i+11>>0]|0;h=f<<24>>24<0;lB(D,h?c[i>>2]|0:i,h?c[d+28>>2]|0:f&255)|0;nB(D,10);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!w){h=d+16|0;f=d+20|0;am(g,c[d+12>>2]|0,c[h>>2]|0,c[f>>2]|0,E);i=a[n>>0]|0;if((i<<24>>24<0?c[t>>2]|0:i&255)|0){i=a[y>>0]|0;J=i<<24>>24<0;I=J?c[C>>2]|0:C;i=J?c[q>>2]|0:i&255;lB(D,I,i)|0;J=a[n>>0]|0;K=J<<24>>24<0;lB(D,K?c[E>>2]|0:E,K?c[t>>2]|0:J&255)|0;nB(D,10);lB(D,I,i)|0;i=c[h>>2]|0;h=i+-1-(c[v>>2]|0)|0;i=(c[f>>2]|0)-i|0;f=a[n>>0]|0;f=(f<<24>>24<0?c[t>>2]|0:f&255)-h|0;i=f>>>0<i>>>0?f:i;jB(D,h,32)|0;mB(D,(a[x>>0]|0)==0?351956:299488)|0;mB(D,(a[x>>0]|0)==0?351956:299515)|0;jB(D,(i|0)==0?1:i,94)|0;mB(D,(a[x>>0]|0)==0?351956:299510)|0;nB(D,10);i=a[n>>0]|0}if(i<<24>>24<0)SA(c[E>>2]|0)}if((a[y>>0]|0)<0)SA(c[C>>2]|0);K=a[j>>0]|0;J=K<<24>>24<0;lB(b,J?c[D>>2]|0:D,J?c[o>>2]|0:K&255)|0;if((a[j>>0]|0)<0)SA(c[D>>2]|0);d=d+36|0}while((d|0)!=(e|0));aa=H;return}function Aj(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=aa;aa=aa+32|0;j=l+16|0;i=l;c[j>>2]=e;c[i>>2]=c[j>>2];j=Mz(0,0,d,j)|0;h=j+1|0;if(!h)e=0;else{if((j|0)<-1)yB();g=RA(h)|0;e=h;f=g;while(1){a[f>>0]=0;e=e+-1|0;if(!e){e=g;break}else f=f+1|0}}Mz(e,h,d,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(j>>>0>4294967279)TA();if(j>>>0<11){a[b+11>>0]=j;if(j)k=11}else{d=j+16&-16;k=RA(d)|0;c[b>>2]=k;c[b+8>>2]=d|-2147483648;c[b+4>>2]=j;b=k;k=11}if((k|0)==11)jC(b|0,e|0,j|0)|0;a[b+j>>0]=0;if(!e){aa=l;return}SA(e);aa=l;return}function Bj(a,b){a=a|0;b=b|0;c[a>>2]=b;b=a+4|0;a=b+36|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Cj(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;w=aa;aa=aa+16|0;q=w+12|0;u=w+8|0;t=w;v=a+4|0;e=c[v>>2]|0;m=a+8|0;c[m>>2]=e;s=a+16|0;d=c[s>>2]|0;n=a+20|0;c[n>>2]=d;r=a+28|0;o=a+32|0;c[o>>2]=c[r>>2];c[q>>2]=b;c[u>>2]=0;p=a+12|0;if((c[p>>2]|0)>>>0>e>>>0){c[e>>2]=0;c[m>>2]=e+4}else{Dj(v,u);d=c[n>>2]|0}l=a+24|0;if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Ej(s,q);d=c[m>>2]|0;if((c[v>>2]|0)==(d|0)){a=0;aa=w;return a|0}k=t+4|0;i=a+36|0;j=t+4|0;a:while(1){e=d+-4|0;g=c[n>>2]|0;b=g+-4|0;h=c[b>>2]|0;b:do switch(c[e>>2]|0){case 0:{c[m>>2]=e;c[n>>2]=b;if((Fj(a,h)|0)==1){d=1;e=93;break a}break}case 1:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(!e){g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+16>>2]&511](g,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Dj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Ej(s,q);break}case 2:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(e|0){b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Dj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Ej(s,q);break b}g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+72>>2]&511](g,h)|0)==1){d=1;e=93;break a}e=c[m>>2]|0;b=e+-4|0;c[m>>2]=b;d=(c[n>>2]|0)+-4|0;c[n>>2]=d;c[o>>2]=(c[o>>2]|0)+-8;f=h+144|0;c[q>>2]=3;c[u>>2]=h;if(b>>>0<(c[p>>2]|0)>>>0){c[b>>2]=3;c[m>>2]=e}else{Gj(v,q);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=h;c[n>>2]=(c[n>>2]|0)+4}else Ej(s,u);d=c[f>>2]|0;c[t>>2]=f;c[k>>2]=d;d=c[o>>2]|0;if(d>>>0<(c[i>>2]|0)>>>0){f=t;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[o>>2]=(c[o>>2]|0)+8}else Hj(r,t);break}case 3:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(!e){g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+76>>2]&511](g,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Dj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Ej(s,q);break}case 4:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(!e){g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+100>>2]&511](g,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Dj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Ej(s,q);break}case 5:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(e|0){b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Dj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Ej(s,q);break b}f=h+144|0;d=c[a>>2]|0;e=c[d>>2]|0;if(!(c[h+152>>2]|0)){if((fa[c[e+204>>2]&511](d,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}if((fa[c[e+200>>2]&511](d,h)|0)==1){d=1;e=93;break a}e=c[m>>2]|0;b=e+-4|0;c[m>>2]=b;d=(c[n>>2]|0)+-4|0;c[n>>2]=d;c[o>>2]=(c[o>>2]|0)+-8;c[q>>2]=6;c[u>>2]=h;if(b>>>0<(c[p>>2]|0)>>>0){c[b>>2]=6;c[m>>2]=e}else{Gj(v,q);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=h;c[n>>2]=(c[n>>2]|0)+4}else Ej(s,u);d=c[f>>2]|0;c[t>>2]=f;c[j>>2]=d;d=c[o>>2]|0;if(d>>>0<(c[i>>2]|0)>>>0){f=t;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[o>>2]=(c[o>>2]|0)+8}else Hj(r,t);break}case 6:{f=(c[o>>2]|0)+-4|0;e=c[f>>2]|0;if(!e){g=c[a>>2]|0;if((fa[c[(c[g>>2]|0)+204>>2]&511](g,h)|0)==1){d=1;e=93;break a}c[m>>2]=(c[m>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+-8;break b}b=e;c[f>>2]=c[e+4>>2];c[q>>2]=b;c[u>>2]=0;if(d>>>0<(c[p>>2]|0)>>>0){c[d>>2]=0;c[m>>2]=d+4;d=g}else{Dj(v,u);d=c[n>>2]|0}if(d>>>0<(c[l>>2]|0)>>>0){c[d>>2]=b;c[n>>2]=(c[n>>2]|0)+4}else Ej(s,q);break}default:{}}while(0);d=c[m>>2]|0;if((c[v>>2]|0)==(d|0)){d=0;e=93;break}}if((e|0)==93){aa=w;return d|0}return 0}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,l=0,m=0;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);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,l=0,m=0;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function Fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;g=j+12|0;h=j+8|0;i=j;do switch(c[b+32>>2]|0){case 0:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+224>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 3:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+228>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 1:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+232>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 2:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+236>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 5:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+216>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 4:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+220>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 6:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+8>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 7:{f=c[a>>2]|0;if((fa[c[(c[f>>2]|0)+12>>2]&511](f,b)|0)==1){a=1;aa=j;return a|0}f=b+112|0;c[g>>2]=1;c[h>>2]=b;e=a+8|0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=1;c[e>>2]=d+4}else Gj(a+4|0,g);e=a+20|0;d=c[e>>2]|0;if(d>>>0<(c[a+24>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=(c[e>>2]|0)+4}else Ej(a+16|0,h);e=c[f>>2]|0;c[i>>2]=f;c[i+4>>2]=e;e=a+32|0;d=c[e>>2]|0;if(d>>>0<(c[a+36>>2]|0)>>>0){h=i;i=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=i;c[e>>2]=(c[e>>2]|0)+8}else Hj(a+28|0,i);break}case 8:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+20>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 9:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+24>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 10:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+28>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 11:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+32>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 12:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+36>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 13:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+40>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 14:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+44>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 15:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+48>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 16:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+52>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 17:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+56>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 18:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+60>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 19:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+64>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 20:{f=c[a>>2]|0;if((fa[c[(c[f>>2]|0)+68>>2]&511](f,b)|0)==1){a=1;aa=j;return a|0}f=b+112|0;c[g>>2]=2;c[h>>2]=b;e=a+8|0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=2;c[e>>2]=d+4}else Gj(a+4|0,g);e=a+20|0;d=c[e>>2]|0;if(d>>>0<(c[a+24>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=(c[e>>2]|0)+4}else Ej(a+16|0,h);e=c[f>>2]|0;c[i>>2]=f;c[i+4>>2]=e;e=a+32|0;d=c[e>>2]|0;if(d>>>0<(c[a+36>>2]|0)>>>0){h=i;i=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=i;c[e>>2]=(c[e>>2]|0)+8}else Hj(a+28|0,i);break}case 21:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+80>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 22:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+84>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 23:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+88>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 24:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+92>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 25:{f=c[a>>2]|0;if((fa[c[(c[f>>2]|0)+96>>2]&511](f,b)|0)==1){a=1;aa=j;return a|0}f=b+112|0;c[g>>2]=4;c[h>>2]=b;e=a+8|0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=4;c[e>>2]=d+4}else Gj(a+4|0,g);e=a+20|0;d=c[e>>2]|0;if(d>>>0<(c[a+24>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=(c[e>>2]|0)+4}else Ej(a+16|0,h);e=c[f>>2]|0;c[i>>2]=f;c[i+4>>2]=e;e=a+32|0;d=c[e>>2]|0;if(d>>>0<(c[a+36>>2]|0)>>>0){h=i;i=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=i;c[e>>2]=(c[e>>2]|0)+8}else Hj(a+28|0,i);break}case 26:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+104>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 27:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+108>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 28:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+112>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 29:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+116>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 30:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+120>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 31:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+124>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 43:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+128>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 44:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+132>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 45:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+136>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 46:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+140>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 49:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+144>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 47:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+148>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 48:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+152>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 34:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+156>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 33:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+160>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 32:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+164>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 35:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+212>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 36:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+168>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 37:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+172>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 38:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+176>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 39:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+180>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 42:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+184>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 51:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+208>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 52:{f=c[a>>2]|0;if((fa[c[(c[f>>2]|0)+196>>2]&511](f,b)|0)==1){a=1;aa=j;return a|0}f=b+112|0;c[g>>2]=5;c[h>>2]=b;e=a+8|0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=5;c[e>>2]=d+4}else Gj(a+4|0,g);e=a+20|0;d=c[e>>2]|0;if(d>>>0<(c[a+24>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=(c[e>>2]|0)+4}else Ej(a+16|0,h);e=c[f>>2]|0;c[i>>2]=f;c[i+4>>2]=e;e=a+32|0;d=c[e>>2]|0;if(d>>>0<(c[a+36>>2]|0)>>>0){h=i;i=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=i;c[e>>2]=(c[e>>2]|0)+8}else Hj(a+28|0,i);break}case 53:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+188>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 50:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+240>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 40:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+244>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 41:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+248>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}case 54:{a=c[a>>2]|0;if((fa[c[(c[a>>2]|0)+192>>2]&511](a,b)|0)==1){a=1;aa=j;return a|0}break}default:{}}while(0);a=0;aa=j;return a|0}function Gj(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function Hj(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>3;d=f+1|0;if(d>>>0>536870911)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>2;e=m>>3>>>0<268435455?(e>>>0<d>>>0?d:e):536870911;do if(e)if(e>>>0>536870911)U();else{k=RA(e<<3)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<3)|0;f=b;b=c[f+4>>2]|0;m=d;c[m>>2]=c[f>>2];c[m+4>>2]=b;if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+8;c[j>>2]=k+(e<<3);if(!g)return;SA(g);return}function Ij(a,b){a=a|0;b=b|0;b=c[b>>2]|0;if(!b){a=0;return a|0}while(1){if((Cj(a,b)|0)==1){b=1;a=5;break}b=c[b+4>>2]|0;if(!b){b=0;a=5;break}}if((a|0)==5)return b|0;return 0}function Jj(a,b){a=a|0;b=b|0;b=c[b+108>>2]|0;if(!b){a=0;return a|0}while(1){if((Cj(a,b)|0)==1){b=1;a=5;break}b=c[b+4>>2]|0;if(!b){b=0;a=5;break}}if((a|0)==5)return b|0;return 0}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;Bn(a,b,c,0,En(b,c,46)|0);return}function Lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=b;g=En(b,d,47)|0;e=En(b,d,92)|0;h=(e|0)==-1;if((e&g|0)==-1){c[a>>2]=f;c[a+4>>2]=d;return}if((g|0)==-1){if(h){c[a>>2]=f;c[a+4>>2]=d;return}}else e=h?g:g>>>0<e>>>0?e:g;Bn(a,b,d,e+1|0,-1);return}function Mj(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,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=aa;aa=aa+128|0;E=I+112|0;G=I+88|0;A=I+72|0;H=I;c[H>>2]=288848;F=H+4|0;c[F>>2]=0;D=H+8|0;Bj(D,H);C=H+48|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[F>>2]=b;d=c[b+100>>2]|0;m=c[b+104>>2]|0;a:do if((d|0)!=(m|0)){t=H+52|0;w=H+56|0;v=H+60|0;u=H+64|0;s=H+68|0;q=G+11|0;n=G+8|0;o=G+4|0;p=A+11|0;r=G+20|0;while(1){i=c[d>>2]|0;switch(c[i+28>>2]|0){case 0:{k=c[t>>2]|0;l=(c[F>>2]|0)+216|0;e=t;B=9;break}case 1:{k=c[w>>2]|0;l=(c[F>>2]|0)+296|0;e=w;B=9;break}case 2:{k=c[v>>2]|0;l=(c[F>>2]|0)+316|0;e=v;B=9;break}case 3:{k=c[u>>2]|0;l=(c[F>>2]|0)+236|0;e=u;B=9;break}case 4:{k=c[s>>2]|0;l=(c[F>>2]|0)+196|0;e=s;B=9;break}default:{}}if((B|0)==9){B=0;c[e>>2]=k+1;j=i+32|0;g=i+4|0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;f=a[g+11>>0]|0;h=f<<24>>24<0;f=h?c[i+8>>2]|0:f&255;e=f+1|0;if(e>>>0>4294967279)break;if(e>>>0<11){a[q>>0]=1;e=G}else{J=f+17&-16;e=RA(J)|0;c[G>>2]=e;c[n>>2]=J|-2147483648;c[o>>2]=1}a[e>>0]=36;a[e+1>>0]=0;lB(G,h?c[g>>2]|0:g,f)|0;nB(G,46);c[E>>2]=c[G>>2];c[E+4>>2]=c[G+4>>2];c[E+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;g=i+16|0;J=a[g+11>>0]|0;h=J<<24>>24<0;lB(E,h?c[g>>2]|0:g,h?c[i+20>>2]|0:J&255)|0;c[A>>2]=c[E>>2];c[A+4>>2]=c[E+4>>2];c[A+8>>2]=c[E+8>>2];c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if((a[q>>0]|0)<0)SA(c[G>>2]|0);e=a[p>>0]|0;f=e<<24>>24<0?c[A>>2]|0:A;J=a[j+11>>0]|0;if(!((J<<24>>24<0?c[i+36>>2]|0:J&255)|0)){e=0;while(1){Nj(f,-1,e,j);if(!(Oj(l,j)|0))break;else e=e+1|0}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[r>>2]=k;Ig(E,l,j,G);Ag(l,c[E>>2]|0);e=a[p>>0]|0}if(e<<24>>24<0)SA(c[A>>2]|0)}d=d+4|0;if((d|0)==(m|0))break a}TA()}while(0);d=c[b+112>>2]|0;i=c[b+116>>2]|0;b:do if((d|0)!=(i|0)){l=A+11|0;j=A+8|0;k=A+4|0;m=G+20|0;while(1){h=c[d>>2]|0;switch(c[h+12>>2]|0){case 0:{e=c[F>>2]|0;g=h+16|0;f=Kk(e,g)|0;if(f|0){x=e+216|0;y=wk(e,g)|0;z=f;B=37}break}case 1:{e=c[F>>2]|0;g=h+16|0;f=Nk(e,g)|0;if(f|0){x=e+296|0;y=yk(e,g)|0;z=f;B=37}break}case 2:{e=c[F>>2]|0;g=h+16|0;f=Ok(e,g)|0;if(f|0){x=e+316|0;y=zk(e,g)|0;z=f;B=37}break}case 3:{e=c[F>>2]|0;g=h+16|0;f=Mk(e,g)|0;if(f|0){x=e+236|0;y=xk(e,g)|0;z=f;B=37}break}case 4:{e=c[F>>2]|0;g=h+16|0;f=Pk(e,g)|0;if(f|0){x=e+196|0;y=Bk(e,g)|0;z=f;B=37}break}default:{}}if((B|0)==37?(B=0,z|0):0){c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;f=a[h+11>>0]|0;g=f<<24>>24<0;f=g?c[h+4>>2]|0:f&255;e=f+1|0;if(e>>>0>4294967279)break;if(e>>>0<11){a[l>>0]=1;e=A}else{J=f+17&-16;e=RA(J)|0;c[A>>2]=e;c[j>>2]=J|-2147483648;c[k>>2]=1}a[e>>0]=36;a[e+1>>0]=0;lB(A,g?c[h>>2]|0:h,f)|0;e=a[l>>0]|0;f=e<<24>>24<0?c[A>>2]|0:A;J=a[z+11>>0]|0;if(!((J<<24>>24<0?c[z+4>>2]|0:J&255)|0)){e=0;while(1){Nj(f,-1,e,z);if(!(Oj(x,z)|0))break;else e=e+1|0}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[m>>2]=y;Ig(E,x,z,G);Ag(x,c[E>>2]|0);e=a[l>>0]|0}if(e<<24>>24<0)SA(c[A>>2]|0)}d=d+4|0;if((d|0)==(i|0))break b}TA()}while(0);i=b+88|0;h=b+92|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){j=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+236|0;e=0;while(1){Nj(299532,g,e,f);if(!(Oj(d,f)|0))break;else e=e+1|0}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[j>>2]=g;Ig(E,d,f,G);Ag(d,c[E>>2]|0);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}i=b+124|0;h=b+128|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){j=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+276|0;e=0;while(1){Nj(299535,g,e,f);if(!(Oj(d,f)|0))break;else e=e+1|0}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[j>>2]=g;Ig(E,d,f,G);Ag(d,c[E>>2]|0);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}i=b+76|0;h=b+80|0;d=c[i>>2]|0;c:do if((c[h>>2]|0)!=(d|0)){j=G+20|0;g=0;do{d=c[d+(g<<2)>>2]|0;J=a[d+11>>0]|0;if(!((J<<24>>24<0?c[d+4>>2]|0:J&255)|0)){e=(c[F>>2]|0)+216|0;f=0;while(1){Nj(299538,g,f,d);if(!(Oj(e,d)|0))break;else f=f+1|0}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[j>>2]=g;Ig(E,e,d,G);Ag(e,c[E>>2]|0)}Pj(d);c[C>>2]=0;if((Jj(D,d)|0)==1)break c;g=g+1|0;d=c[i>>2]|0}while(g>>>0<(c[h>>2]|0)-d>>2>>>0)}while(0);j=b+136|0;h=b+140|0;e=c[h>>2]|0;d=c[j>>2]|0;if((e|0)!=(d|0)){i=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+296|0;e=0;while(1){Nj(299541,g,e,f);if(!(Oj(d,f)|0))break;else e=e+1|0}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[i>>2]=g;Ig(E,d,f,G);Ag(d,c[E>>2]|0);e=c[h>>2]|0;d=c[j>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}j=b+160|0;h=b+164|0;e=c[h>>2]|0;d=c[j>>2]|0;if((e|0)!=(d|0)){i=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+316|0;e=0;while(1){Nj(299544,g,e,f);if(!(Oj(d,f)|0))break;else e=e+1|0}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[i>>2]=g;Ig(E,d,f,G);Ag(d,c[E>>2]|0);e=c[h>>2]|0;d=c[j>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}i=b+64|0;h=b+68|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){j=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+196|0;e=0;while(1){Nj(299547,g,e,f);if(!(Oj(d,f)|0))break;else e=e+1|0}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[j>>2]=g;Ig(E,d,f,G);Ag(d,c[E>>2]|0);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}i=b+172|0;h=b+176|0;e=c[h>>2]|0;d=c[i>>2]|0;if((e|0)!=(d|0)){j=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+336|0;e=0;while(1){Nj(299550,g,e,f);if(!(Oj(d,f)|0))break;else e=e+1|0}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[j>>2]=g;Ig(E,d,f,G);Ag(d,c[E>>2]|0);e=c[h>>2]|0;d=c[i>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}j=b+148|0;h=b+152|0;e=c[h>>2]|0;d=c[j>>2]|0;if((e|0)!=(d|0)){i=G+20|0;g=0;do{f=c[d+(g<<2)>>2]|0;J=a[f+11>>0]|0;if(!((J<<24>>24<0?c[f+4>>2]|0:J&255)|0)){d=(c[F>>2]|0)+356|0;e=0;while(1){Nj(299547,g,e,f);if(!(Oj(d,f)|0))break;else e=e+1|0}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[i>>2]=g;Ig(E,d,f,G);Ag(d,c[E>>2]|0);e=c[h>>2]|0;d=c[j>>2]|0}g=g+1|0}while(g>>>0<e-d>>2>>>0)}c[F>>2]=0;c[H>>2]=288848;d=c[H+36>>2]|0;if(d|0){c[H+40>>2]=d;SA(d)}d=c[H+24>>2]|0;if(d|0){c[H+28>>2]=d;SA(d)}d=c[H+12>>2]|0;if(!d){aa=I;return}c[H+16>>2]=d;SA(d);aa=I;return}function Nj(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=aa;aa=aa+32|0;h=j+12|0;i=j;hB(f,b)|0;if((d|0)!=-1?(sB(h,d),d=a[h+11>>0]|0,b=d<<24>>24<0,g=c[h>>2]|0,lB(f,b?g:h,b?c[h+4>>2]|0:d&255)|0,b):0)SA(g);if(!e){aa=j;return}sB(i,e);e=i+11|0;oB(i,(a[e>>0]|0)<0?c[i>>2]|0:i);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=a[h+11>>0]|0;b=d<<24>>24<0;g=c[h>>2]|0;lB(f,b?g:h,b?c[h+4>>2]|0:d&255)|0;if(b)SA(g);if((a[e>>0]|0)<0)SA(c[i>>2]|0);aa=j;return}function Oj(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;s=a[e+11>>0]|0;r=s<<24>>24<0;t=r?c[e>>2]|0:e;s=r?c[e+4>>2]|0:s&255;if(s>>>0>3){e=t;h=s;f=s;while(1){r=v(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24,1540483477)|0;h=(v(r>>>24^r,1540483477)|0)^(v(h,1540483477)|0);f=f+-4|0;if(f>>>0<=3)break;else e=e+4|0}r=s+-4|0;f=r&-4;g=t+(f+4)|0;e=h;f=r-f|0}else{g=t;e=s;f=s}switch(f|0){case 3:{i=d[g+2>>0]<<16^e;l=7;break}case 2:{i=e;l=7;break}case 1:{j=e;l=8;break}default:k=e}if((l|0)==7){j=d[g+1>>0]<<8^i;l=8}if((l|0)==8)k=v(j^d[g>>0],1540483477)|0;r=v(k>>>13^k,1540483477)|0;r=r>>>15^r;p=c[b+4>>2]|0;if(!p){t=0;return t|0}i=p+-1|0;f=(i&p|0)==0;if(!f)if(r>>>0<p>>>0)q=r;else q=(r>>>0)%(p>>>0)|0;else q=r&i;e=c[(c[b>>2]|0)+(q<<2)>>2]|0;if(!e){t=0;return t|0}j=c[e>>2]|0;if(!j){t=0;return t|0}k=(s|0)==0;if(f){e=j;a:while(1){l=c[e+4>>2]|0;f=(l|0)==(r|0);if(!(f|(l&i|0)==(q|0))){e=0;l=45;break}do if(f?(m=e+8|0,n=a[m+11>>0]|0,o=n<<24>>24<0,n=n&255,((o?c[e+12>>2]|0:n)|0)==(s|0)):0){f=c[m>>2]|0;g=o?f:m;f=f&255;if(o){if(k){l=45;break a}if(!(Kz(g,t,s)|0)){l=45;break a}else break}if(k){l=45;break a}if((a[t>>0]|0)==f<<24>>24){f=n;g=m;h=t;do{f=f+-1|0;g=g+1|0;if(!f){l=45;break a}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);e=c[e>>2]|0;if(!e){e=0;l=45;break}}if((l|0)==45)return e|0}b:while(1){e=c[j+4>>2]|0;do if((e|0)==(r|0)){e=j+8|0;g=a[e+11>>0]|0;i=g<<24>>24<0;g=g&255;if(((i?c[j+12>>2]|0:g)|0)==(s|0)){f=c[e>>2]|0;h=i?f:e;f=f&255;if(i){if(k){e=j;l=45;break b}if(!(Kz(h,t,s)|0)){e=j;l=45;break b}else break}if(k){e=j;l=45;break b}if((a[t>>0]|0)==f<<24>>24){f=t;do{g=g+-1|0;e=e+1|0;if(!g){e=j;l=45;break b}f=f+1|0}while((a[e>>0]|0)==(a[f>>0]|0))}}}else{if(e>>>0>=p>>>0)e=(e>>>0)%(p>>>0)|0;if((e|0)!=(q|0)){e=0;l=45;break b}}while(0);j=c[j>>2]|0;if(!j){e=0;l=45;break}}if((l|0)==45)return e|0;return 0}function Pj(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;s=aa;aa=aa+64|0;m=s+48|0;p=s+24|0;j=s+12|0;o=s;c[j>>2]=0;r=j+4|0;c[r>>2]=0;c[j+8>>2]=0;q=b+52|0;l=b+56|0;f=(c[l>>2]|0)-(c[q>>2]|0)>>2;n=b+88|0;ul(f+(Gk(c[b+76>>2]|0,c[b+80>>2]|0)|0)|0,n,j);f=c[r>>2]|0;j=c[j>>2]|0;k=j;b=f;if((f|0)!=(j|0)){i=p+20|0;g=o+11|0;d=k;h=0;do{e=a[d+(h*12|0)+11>>0]|0;if(e<<24>>24<0)d=c[d+(h*12|0)+4>>2]|0;else d=e&255;if(!d){d=h>>>0<(c[l>>2]|0)-(c[q>>2]|0)>>2>>>0?299553:299556;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;e=0;while(1){Nj(d,h,e,o);if(!(Oj(n,o)|0))break;else e=e+1|0}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[i>>2]=h;Ig(m,n,o,p);Ag(n,c[m>>2]|0);cB(k+(h*12|0)|0,o)|0;if((a[g>>0]|0)<0)SA(c[o>>2]|0);d=k}else d=j;h=h+1|0}while(h>>>0<((f-j|0)/12|0)>>>0)}if(!j){aa=s;return}if((b|0)!=(k|0))do{b=b+-12|0;if((a[b+11>>0]|0)<0)SA(c[b>>2]|0)}while((b|0)!=(k|0));c[r>>2]=k;SA(j);aa=s;return}function Qj(a){a=a|0;var b=0;c[a>>2]=288848;b=c[a+36>>2]|0;if(b|0){c[a+40>>2]=b;SA(b)}b=c[a+24>>2]|0;if(b|0){c[a+28>>2]=b;SA(b)}b=c[a+12>>2]|0;if(!b)return;c[a+16>>2]=b;SA(b);return}function Rj(a){a=a|0;var b=0;c[a>>2]=288848;b=c[a+36>>2]|0;if(b|0){c[a+40>>2]=b;SA(b)}b=c[a+24>>2]|0;if(b|0){c[a+28>>2]=b;SA(b)}b=c[a+12>>2]|0;if(!b){SA(a);return}c[a+16>>2]=b;SA(b);SA(a);return}function Sj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;f=g;e=b+48|0;b=c[e>>2]|0;c[e>>2]=b+1;e=d+36|0;h=a[e+11>>0]|0;if((h<<24>>24<0?c[d+40>>2]|0:h&255)|0){aa=g;return 0}hB(e,299565)|0;if((b|0)==-1){aa=g;return 0}sB(f,b);d=a[f+11>>0]|0;h=d<<24>>24<0;b=c[f>>2]|0;lB(e,h?b:f,h?c[f+4>>2]|0:d&255)|0;if(h)SA(b);aa=g;return 0}function Tj(a,b){a=a|0;b=b|0;return 0}function Uj(a,b){a=a|0;b=b|0;return 0}function Vj(a,b){a=a|0;b=b|0;return 0}function Wj(a,b){a=a|0;b=b|0;return 0}function Xj(a,b){a=a|0;b=b|0;return 0}function Yj(a,b){a=a|0;b=b|0;return 0}function Zj(a,b){a=a|0;b=b|0;return 0}function _j(a,b){a=a|0;b=b|0;return 0}function $j(a,b){a=a|0;b=b|0;return 0}function ak(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;f=g;e=b+48|0;b=c[e>>2]|0;c[e>>2]=b+1;e=d+36|0;h=a[e+11>>0]|0;if((h<<24>>24<0?c[d+40>>2]|0:h&255)|0){aa=g;return 0}hB(e,299562)|0;if((b|0)==-1){aa=g;return 0}sB(f,b);d=a[f+11>>0]|0;h=d<<24>>24<0;b=c[f>>2]|0;lB(e,h?b:f,h?c[f+4>>2]|0:d&255)|0;if(h)SA(b);aa=g;return 0}function bk(a,b){a=a|0;b=b|0;return 0}function ck(a,b){a=a|0;b=b|0;return 0}function dk(a,b){a=a|0;b=b|0;return 0}function ek(a,b){a=a|0;b=b|0;return 0}function fk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;f=g;e=b+48|0;b=c[e>>2]|0;c[e>>2]=b+1;e=d+36|0;h=a[e+11>>0]|0;if((h<<24>>24<0?c[d+40>>2]|0:h&255)|0){aa=g;return 0}hB(e,299559)|0;if((b|0)==-1){aa=g;return 0}sB(f,b);d=a[f+11>>0]|0;h=d<<24>>24<0;b=c[f>>2]|0;lB(e,h?b:f,h?c[f+4>>2]|0:d&255)|0;if(h)SA(b);aa=g;return 0}function gk(a,b){a=a|0;b=b|0;return 0}function hk(a,b){a=a|0;b=b|0;return 0}function ik(a,b){a=a|0;b=b|0;return 0}function jk(a,b){a=a|0;b=b|0;return 0}function kk(a,b){a=a|0;b=b|0;return 0}function lk(a,b){a=a|0;b=b|0;return 0}function mk(a,b){a=a|0;b=b|0;return 0}function nk(a,b){a=a|0;b=b|0;return 0}function ok(a,b){a=a|0;b=b|0;return 0}function pk(a,b){a=a|0;b=b|0;return 0}function qk(a,b){a=a|0;b=b|0;return 0}function rk(a,b){a=a|0;b=b|0;return 0}function sk(a,b){a=a|0;b=b|0;return 0}function tk(a,b){a=a|0;b=b|0;return 0}function uk(a){a=a|0;return c[160+(a<<2)>>2]|0}function vk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=aa;aa=aa+16|0;f=g;An(f,d,e);d=Fg(b+256|0,f)|0;if(!d)e=-1;else e=c[d+40>>2]|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);d=c[b+112>>2]|0;if(e>>>0>=(c[b+116>>2]|0)-d>>2>>>0){b=0;aa=g;return b|0}b=c[d+(e<<2)>>2]|0;aa=g;return b|0}function wk(a,b){a=a|0;b=b|0;return Mx(a+216|0,b)|0}function xk(a,b){a=a|0;b=b|0;return Mx(a+236|0,b)|0}function yk(a,b){a=a|0;b=b|0;return Mx(a+296|0,b)|0}function zk(a,b){a=a|0;b=b|0;return Mx(a+316|0,b)|0}function Ak(a,b){a=a|0;b=b|0;return Mx(a+276|0,b)|0}function Bk(a,b){a=a|0;b=b|0;return Mx(a+196|0,b)|0}function Ck(a,b){a=a|0;b=b|0;return Mx(a+336|0,b)|0}function Dk(a,b){a=a|0;b=b|0;return Mx(a+356|0,b)|0}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;switch(b|0){case 0:{d=Mx(a+216|0,d)|0;b=a+48|0;break}case 3:{d=Mx(a+236|0,d)|0;b=a+60|0;break}case 2:{d=Mx(a+316|0,d)|0;b=a+56|0;break}case 1:{d=Mx(a+296|0,d)|0;b=a+52|0;break}case 4:{d=Mx(a+196|0,d)|0;b=a+44|0;break}default:{a=0;return a|0}}a=d>>>0<(c[b>>2]|0)>>>0;return a|0}function Fk(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=aa;aa=aa+16|0;q=r+4|0;p=r;d=c[a>>2]|0;o=a+4|0;c[o>>2]=d;f=c[b>>2]|0;m=b+4|0;n=c[m>>2]|0;i=n;g=f;if((f|0)==(n|0)){aa=r;return}e=d;d=c[f>>2]|0;c[q>>2]=d;c[p>>2]=1;n=a+8|0;if(i-g>>2>>>0>1){e=i;j=f;h=d;f=1;k=g;g=i;l=1;while(1){i=j+(l<<2)|0;if((c[i>>2]|0)==(h|0)){j=e;i=k;f=f+1|0}else{d=c[o>>2]|0;if(d>>>0<(c[n>>2]|0)>>>0){c[d>>2]=h;c[d+4>>2]=f;c[o>>2]=d+8;f=k;d=i}else{oi(a,q,p);d=c[b>>2]|0;e=c[m>>2]|0;f=d;d=d+(l<<2)|0}h=c[d>>2]|0;c[q>>2]=h;j=e;g=e;i=f;d=h;f=1}c[p>>2]=f;l=l+1|0;if(l>>>0>=g-i>>2>>>0)break;else{e=j;j=i;k=i}}e=c[o>>2]|0}else f=1;if(e>>>0<(c[n>>2]|0)>>>0){c[e>>2]=d;c[e+4>>2]=f;c[o>>2]=e+8}else oi(a,q,p);aa=r;return}function Gk(a,b){a=a|0;b=b|0;var d=0;if((a|0)==(b|0)){b=0;return b|0}d=a;a=0;do{a=(c[d+4>>2]|0)+a|0;d=d+8|0}while((d|0)!=(b|0));return a|0}function Hk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((a|0)==(b|0)){g=0;return g|0}e=0;while(1){e=(c[a+4>>2]|0)+e|0;f=a+8|0;if(e>>>0>d>>>0)break;if((f|0)==(b|0)){a=0;g=6;break}else a=f}if((g|0)==6)return a|0;g=c[a>>2]|0;return g|0}function Ik(a,b){a=a|0;b=b|0;if(!(c[b+20>>2]|0)){b=c[b+24>>2]|0;return b|0}else{b=Mx(a+88|0,b)|0;return b|0}return 0}function Jk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+216|0,b)|0;b=c[a+76>>2]|0;if(d>>>0>=(c[a+80>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Kk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+216|0,b)|0;b=c[a+76>>2]|0;if(d>>>0>=(c[a+80>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Lk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+236|0,b)|0;b=c[a+88>>2]|0;if(d>>>0>=(c[a+92>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Mk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+236|0,b)|0;b=c[a+88>>2]|0;if(d>>>0>=(c[a+92>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Nk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+296|0,b)|0;b=c[a+136>>2]|0;if(d>>>0>=(c[a+140>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Ok(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+316|0,b)|0;b=c[a+160>>2]|0;if(d>>>0>=(c[a+164>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Pk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+196|0,b)|0;b=c[a+64>>2]|0;if(d>>>0>=(c[a+68>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Qk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+336|0,b)|0;b=c[a+172>>2]|0;if(d>>>0>=(c[a+176>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Rk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+356|0,b)|0;b=c[a+148>>2]|0;if(d>>>0>=(c[a+152>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Sk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+276|0,b)|0;b=c[a+124>>2]|0;if(d>>>0>=(c[a+128>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Tk(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+276|0,b)|0;b=c[a+124>>2]|0;if(d>>>0>=(c[a+128>>2]|0)-b>>2>>>0){a=0;return a|0}a=c[b+(d<<2)>>2]|0;return a|0}function Uk(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;d=c[a+128>>2]|0;a=c[a+124>>2]|0;j=a;if((d|0)==(a|0)){l=-1;return l|0}k=c[b>>2]|0;l=(c[b+4>>2]|0)-k|0;h=c[b+12>>2]|0;i=(c[b+16>>2]|0)-h|0;g=d-a>>2;a=0;a:while(1){f=c[j+(a<<2)>>2]|0;m=c[f+16>>2]|0;d=c[f+12>>2]|0;b=d;e=m;b:do if((m-d|0)==(l|0)){if((b|0)!=(e|0)){d=k;while(1){if((c[b>>2]|0)!=(c[d>>2]|0))break b;b=b+4|0;if((b|0)==(e|0))break;else d=d+4|0}}d=c[f+28>>2]|0;m=c[f+24>>2]|0;b=m;e=d;if((d-m|0)==(i|0)){if((b|0)==(e|0)){b=14;break a}d=h;while(1){if((c[b>>2]|0)!=(c[d>>2]|0))break b;b=b+4|0;if((b|0)==(e|0)){b=14;break a}else d=d+4|0}}}while(0);a=a+1|0;if(a>>>0>=g>>>0){a=-1;b=14;break}}if((b|0)==14)return a|0;return 0}function Vk(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;if(a[d>>0]|0){m=Mx(b+276|0,d+4|0)|0;return m|0}e=c[b+128>>2]|0;b=c[b+124>>2]|0;k=b;if((e|0)==(b|0)){m=-1;return m|0}l=c[d+40>>2]|0;m=(c[d+44>>2]|0)-l|0;i=c[d+52>>2]|0;j=(c[d+56>>2]|0)-i|0;h=e-b>>2;b=0;a:while(1){f=c[k+(b<<2)>>2]|0;n=c[f+16>>2]|0;e=c[f+12>>2]|0;d=e;g=n;b:do if((n-e|0)==(m|0)){if((d|0)!=(g|0)){e=l;while(1){if((c[d>>2]|0)!=(c[e>>2]|0))break b;d=d+4|0;if((d|0)==(g|0))break;else e=e+4|0}}g=c[f+28>>2]|0;n=c[f+24>>2]|0;d=n;f=g;if((g-n|0)==(j|0)){if((d|0)==(f|0)){d=16;break a}e=i;while(1){if((c[d>>2]|0)!=(c[e>>2]|0))break b;d=d+4|0;if((d|0)==(f|0)){d=16;break a}else e=e+4|0}}}while(0);b=b+1|0;if(b>>>0>=h>>>0){b=-1;d=16;break}}if((d|0)==16)return b|0;return 0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+176|0;else{k=f+12|0;f=b+176|0;e=(c[f>>2]|0)-(c[b+172>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+336|0;Ig(h,e,i,g);Ag(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+180>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else Xk(b+172|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function Xk(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function Yk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+152|0;else{k=f+12|0;f=b+152|0;e=(c[f>>2]|0)-(c[b+148>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+356|0;Ig(h,e,i,g);Ag(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+156>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else Zk(b+148|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function Zk(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function _k(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+68|0;else{k=f+12|0;f=b+68|0;e=(c[f>>2]|0)-(c[b+64>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+196|0;Ig(h,e,i,g);Ag(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+72>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else $k(b+64|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function $k(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function al(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=aa;aa=aa+48|0;f=i+24|0;j=i;k=c[b>>2]|0;g=k+36|0;k=k+12|0;h=a+112|0;e=a+116|0;d=(c[e>>2]|0)-(c[h>>2]|0)>>2;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=d;d=a+256|0;Ig(f,d,g,j);Ag(d,c[f>>2]|0);c[f>>2]=g;d=c[e>>2]|0;if(d>>>0<(c[a+120>>2]|0)>>>0){c[d>>2]=g;c[e>>2]=(c[e>>2]|0)+4}else bl(h,f);f=c[b>>2]|0;c[b>>2]=0;e=a+36|0;d=c[e>>2]|0;if(!d){k=a+32|0;c[k>>2]=f;c[e>>2]=f;k=a+40|0;j=c[k>>2]|0;j=j+1|0;c[k>>2]=j;aa=i;return}else{c[f+8>>2]=d;k=d+4|0;c[k>>2]=f;c[e>>2]=f;k=a+40|0;j=c[k>>2]|0;j=j+1|0;c[k>>2]=j;aa=i;return}}function bl(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function cl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+80|0;else{k=f+12|0;f=b+80|0;e=(c[f>>2]|0)-(c[b+76>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+216|0;Ig(h,e,i,g);Ag(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+84>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else dl(b+76|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function dl(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function el(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+128|0;else{k=f+12|0;f=b+128|0;e=(c[f>>2]|0)-(c[b+124>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+276|0;Ig(h,e,i,g);Ag(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+132>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else fl(b+124|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function fl(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function gl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+36|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+40>>2]|0;else e=e&255;if(!e)f=b+92|0;else{k=f+12|0;f=b+92|0;e=(c[f>>2]|0)-(c[b+88>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+236|0;Ig(h,e,i,g);Ag(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+96>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else hl(b+88|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function hl(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function il(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;n=aa;aa=aa+48|0;k=n+28|0;m=n+24|0;l=n;e=c[(c[d>>2]|0)+36>>2]|0;c[m>>2]=e;switch(c[e+28>>2]|0){case 0:{i=e+32|0;g=b+76|0;f=b+80|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+84>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else dl(g,k);g=b+216|0;f=i;e=b+48|0;j=22;break}case 1:{i=e+32|0;g=b+136|0;f=b+140|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+144>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else jl(g,k);g=b+296|0;f=i;e=b+52|0;j=22;break}case 2:{i=e+32|0;g=b+160|0;f=b+164|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+168>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else kl(g,k);g=b+316|0;f=i;e=b+56|0;j=22;break}case 3:{i=e+32|0;g=b+88|0;f=b+92|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+96>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else hl(g,k);g=b+236|0;f=i;e=b+60|0;j=22;break}case 4:{i=e+32|0;g=b+64|0;f=b+68|0;e=c[f>>2]|0;h=e-(c[g>>2]|0)|0;c[k>>2]=i;if((c[b+72>>2]|0)>>>0>e>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else $k(g,k);g=b+196|0;f=i;e=b+44|0;j=22;break}default:{i=0;g=-1;f=0}}if((j|0)==22){c[e>>2]=(c[e>>2]|0)+1;i=g;g=h>>2}e=a[f+11>>0]|0;if(e<<24>>24<0)e=c[f+4>>2]|0;else e=e&255;if(e|0){j=(c[d>>2]|0)+12|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];c[l+16>>2]=c[j+16>>2];c[l+20>>2]=g;ll(k,i,f,l);Ag(i,c[k>>2]|0)}f=b+104|0;e=c[f>>2]|0;if((e|0)==(c[b+108>>2]|0))ml(b+100|0,m);else{c[e>>2]=c[m>>2];c[f>>2]=(c[f>>2]|0)+4}g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){d=b+32|0;c[d>>2]=g;c[f>>2]=g;b=b+40|0;d=c[b>>2]|0;d=d+1|0;c[b>>2]=d;aa=n;return}else{c[g+8>>2]=e;d=e+4|0;c[d>>2]=g;c[f>>2]=g;b=b+40|0;d=c[b>>2]|0;d=d+1|0;c[b>>2]=d;aa=n;return}}function jl(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function kl(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function ll(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;i=RA(44)|0;c[b>>2]=i;c[b+4>>2]=e+8;e=i+8|0;VA(e,f);h=i+20|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];a[b+8>>0]=1;h=a[i+19>>0]|0;b=h<<24>>24<0;e=b?c[e>>2]|0:e;h=b?c[i+12>>2]|0:h&255;if(h>>>0>3){g=e;f=h;b=h;while(1){k=v(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,1540483477)|0;f=(v(k>>>24^k,1540483477)|0)^(v(f,1540483477)|0);b=b+-4|0;if(b>>>0<=3)break;else g=g+4|0}k=h+-4|0;g=k&-4;e=e+(g+4)|0;g=k-g|0}else{f=h;g=h}switch(g|0){case 3:{f=(d[e+2>>0]|0)<<16^f;j=7;break}case 2:{j=7;break}case 1:break;default:{j=f;k=j>>>13;j=k^j;j=v(j,1540483477)|0;k=j>>>15;j=k^j;k=i+4|0;c[k>>2]=j;c[i>>2]=0;return}}if((j|0)==7)f=(d[e+1>>0]|0)<<8^f;j=v(f^(d[e>>0]|0),1540483477)|0;k=j>>>13;j=k^j;j=v(j,1540483477)|0;k=j>>>15;j=k^j;k=i+4|0;c[k>>2]=j;c[i>>2]=0;return}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,l=0,m=0;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}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;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+40|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+44>>2]|0;else e=e&255;if(!e)f=b+164|0;else{k=f+12|0;f=b+164|0;e=(c[f>>2]|0)-(c[b+160>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+316|0;Ig(h,e,i,g);Ag(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+168>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else kl(b+160|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;f=h;g=(c[b>>2]|0)+36|0;c[f>>2]=g;e=a+188|0;d=c[e>>2]|0;if(d>>>0<(c[a+192>>2]|0)>>>0){c[d>>2]=g;c[e>>2]=(c[e>>2]|0)+4}else pl(a+184|0,f);f=c[b>>2]|0;c[b>>2]=0;e=a+36|0;d=c[e>>2]|0;if(!d){b=a+32|0;c[b>>2]=f;c[e>>2]=f;a=a+40|0;b=c[a>>2]|0;b=b+1|0;c[a>>2]=b;aa=h;return}else{c[f+8>>2]=d;b=d+4|0;c[b>>2]=f;c[e>>2]=f;a=a+40|0;b=c[a>>2]|0;b=b+1|0;c[a>>2]=b;aa=h;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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function ql(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+48|0;h=j+24|0;g=j;f=c[d>>2]|0;i=f+40|0;e=a[i+11>>0]|0;if(e<<24>>24<0)e=c[f+44>>2]|0;else e=e&255;if(!e)f=b+140|0;else{k=f+12|0;f=b+140|0;e=(c[f>>2]|0)-(c[b+136>>2]|0)>>2;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=e;e=b+296|0;Ig(h,e,i,g);Ag(e,c[h>>2]|0)}c[h>>2]=i;e=c[f>>2]|0;if(e>>>0<(c[b+144>>2]|0)>>>0){c[e>>2]=i;c[f>>2]=(c[f>>2]|0)+4}else jl(b+136|0,h);g=c[d>>2]|0;c[d>>2]=0;f=b+36|0;e=c[f>>2]|0;if(!e){k=b+32|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}else{c[g+8>>2]=e;k=e+4|0;c[k>>2]=g;c[f>>2]=g;k=b+40|0;b=c[k>>2]|0;b=b+1|0;c[k>>2]=b;aa=j;return}}function rl(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=aa;aa=aa+80|0;o=q+64|0;n=q+40|0;e=q+32|0;l=q+28|0;m=q+24|0;f=q+20|0;g=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;p=c[b>>2]|0;d=p;do switch(c[p+32>>2]|0){case 0:{c[b>>2]=0;c[e>>2]=d;cl(a,e);d=c[e>>2]|0;c[e>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 1:{c[b>>2]=0;c[l>>2]=d;gl(a,l);d=c[l>>2]|0;c[l>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 2:{c[b>>2]=0;c[m>>2]=d;il(a,m);d=c[m>>2]|0;c[m>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 3:{c[b>>2]=0;e=p+36|0;m=p+12|0;f=a+112|0;b=a+116|0;d=(c[b>>2]|0)-(c[f>>2]|0)>>2;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=d;d=a+256|0;Ig(o,d,e,n);Ag(d,c[o>>2]|0);c[o>>2]=e;d=c[b>>2]|0;if(d>>>0<(c[a+120>>2]|0)>>>0){c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+4}else bl(f,o);b=a+36|0;d=c[b>>2]|0;if(!d)d=a+32|0;else{c[p+8>>2]=d;d=d+4|0}c[d>>2]=p;c[b>>2]=p;a=a+40|0;c[a>>2]=(c[a>>2]|0)+1;aa=q;return}case 4:{c[b>>2]=0;c[f>>2]=d;el(a,f);d=c[f>>2]|0;c[f>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 5:{c[b>>2]=0;c[g>>2]=d;ql(a,g);d=c[g>>2]|0;c[g>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 6:{c[b>>2]=0;c[h>>2]=d;Yk(a,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 7:{c[b>>2]=0;c[i>>2]=d;nl(a,i);d=c[i>>2]|0;c[i>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 8:{c[b>>2]=0;c[j>>2]=d;Wk(a,j);d=c[j>>2]|0;c[j>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}case 9:{c[b>>2]=0;e=p+36|0;c[o>>2]=e;b=a+188|0;d=c[b>>2]|0;if(d>>>0<(c[a+192>>2]|0)>>>0){c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+4}else pl(a+184|0,o);b=a+36|0;d=c[b>>2]|0;if(!d)d=a+32|0;else{c[p+8>>2]=d;d=d+4|0}c[d>>2]=p;c[b>>2]=p;a=a+40|0;c[a>>2]=(c[a>>2]|0)+1;aa=q;return}case 10:{c[b>>2]=0;c[k>>2]=d;_k(a,k);d=c[k>>2]|0;c[k>>2]=0;if(!d){aa=q;return}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=q;return}default:{aa=q;return}}while(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;j=aa;aa=aa+16|0;g=j;i=b+8|0;d=c[i>>2]|0;if(!d){aa=j;return}h=b+4|0;do{e=c[b>>2]|0;if((e|0)==(c[h>>2]|0)){c[h>>2]=0;c[b>>2]=0;f=e+4|0}else{f=e+4|0;k=c[f>>2]|0;c[b>>2]=k;c[k+8>>2]=0}c[e+8>>2]=0;c[f>>2]=0;c[i>>2]=d+-1;c[g>>2]=e;rl(a,g);d=c[g>>2]|0;c[g>>2]=0;if(d|0)ma[c[(c[d>>2]|0)+4>>2]&255](d);d=c[i>>2]|0}while((d|0)!=0);aa=j;return}function tl(a,b){a=a|0;b=b|0;var d=0;d=Mx(a+12|0,b)|0;b=c[a>>2]|0;if(d>>>0>=(c[a+4>>2]|0)-b>>2>>>0){a=0;return a|0}a=(c[b+(d<<2)>>2]|0)+8|0;return a|0}function ul(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[e>>2]|0;i=e+4|0;g=c[i>>2]|0;h=f;if((g|0)==(f|0))g=h;else{do{g=g+-12|0;if((a[g+11>>0]|0)<0)SA(c[g>>2]|0)}while((g|0)!=(f|0));g=c[e>>2]|0}c[i>>2]=f;h=(h-g|0)/12|0;if(h>>>0>=b>>>0){if(h>>>0>b>>>0){g=g+(b*12|0)|0;if((g|0)!=(f|0))do{f=f+-12|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0)}while((f|0)!=(g|0));c[i>>2]=g}}else vl(e,b-h|0);f=c[d+8>>2]|0;if(!f)return;do{d=f;cB((c[e>>2]|0)+((c[d+40>>2]|0)*12|0)|0,d+8|0)|0;f=c[f>>2]|0}while((f|0)!=0);return}function vl(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;m=b+8|0;g=c[m>>2]|0;n=b+4|0;f=c[n>>2]|0;k=f;if(((g-f|0)/12|0)>>>0>=d>>>0){e=d;do{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=(c[n>>2]|0)+12|0;c[n>>2]=f;e=e+-1|0}while((e|0)!=0);return}e=c[b>>2]|0;h=(f-e|0)/12|0;i=h+d|0;l=e;if(i>>>0>357913941)yB();g=(g-e|0)/12|0;f=g<<1;f=g>>>0<178956970?(f>>>0<i>>>0?i:f):357913941;do if(f)if(f>>>0>357913941)U();else{j=RA(f*12|0)|0;break}else j=0;while(0);h=j+(h*12|0)|0;lC(h|0,0,d*12|0)|0;d=j+(f*12|0)|0;i=j+(i*12|0)|0;if((k|0)!=(l|0)){e=k;do{h=h+-12|0;e=e+-12|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}while((e|0)!=(l|0));e=c[b>>2]|0;f=c[n>>2]|0;g=e;c[b>>2]=h;c[n>>2]=i;c[m>>2]=d;if((f|0)!=(g|0))do{f=f+-12|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0)}while((f|0)!=(g|0))}else{c[b>>2]=h;c[n>>2]=i;c[m>>2]=d}if(!e)return;SA(e);return}function wl(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=0;c[a+24>>2]=b;return}function xl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=1;zn(a+24|0,b,d);return}function yl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+16|0;g=h;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];e=d+24|0;if(!(c[d+20>>2]|0)){e=c[e>>2]|0;d=b+20|0;if((c[d>>2]|0)==1?(f=b+24|0,(a[f+11>>0]|0)<0):0)SA(c[f>>2]|0);c[d>>2]=0;c[b+24>>2]=e;aa=h;return b|0}else{f=a[e+11>>0]|0;i=f<<24>>24<0;An(g,i?c[e>>2]|0:e,i?c[d+28>>2]|0:f&255);d=b+20|0;e=b+24|0;if((c[d>>2]|0)==1?(a[e+11>>0]|0)<0:0)SA(c[e>>2]|0);c[d>>2]=1;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];aa=h;return b|0}return 0}function zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=aa;aa=aa+16|0;g=i;h=b+20|0;e=b+24|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;c[e>>2]=-1;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];f=d+24|0;if(!(c[d+20>>2]|0)){g=c[f>>2]|0;c[h>>2]=0;c[e>>2]=g;aa=i;return}e=a[f+11>>0]|0;j=e<<24>>24<0;An(g,j?c[f>>2]|0:f,j?c[d+28>>2]|0:e&255);e=b+24|0;if((c[h>>2]|0)==1?(a[e+11>>0]|0)<0:0)SA(c[e>>2]|0);c[h>>2]=1;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];aa=i;return}function Al(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+16|0;g=h;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];e=d+24|0;if(!(c[d+20>>2]|0)){e=c[e>>2]|0;d=b+20|0;if((c[d>>2]|0)==1?(f=b+24|0,(a[f+11>>0]|0)<0):0)SA(c[f>>2]|0);c[d>>2]=0;c[b+24>>2]=e;aa=h;return b|0}else{f=a[e+11>>0]|0;i=f<<24>>24<0;An(g,i?c[e>>2]|0:e,i?c[d+28>>2]|0:f&255);d=b+20|0;e=b+24|0;if((c[d>>2]|0)==1?(a[e+11>>0]|0)<0:0)SA(c[e>>2]|0);c[d>>2]=1;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];aa=h;return b|0}return 0}function Bl(b,d){b=b|0;d=d|0;var e=0,f=0;f=b+20|0;if((c[f>>2]|0)==1?(e=b+24|0,(a[e+11>>0]|0)<0):0)SA(c[e>>2]|0);c[f>>2]=0;c[b+24>>2]=d;return}function Cl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=aa;aa=aa+16|0;f=g;An(f,d,e);e=b+20|0;d=b+24|0;if((c[e>>2]|0)==1?(a[d+11>>0]|0)<0:0)SA(c[d>>2]|0);c[e>>2]=1;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];aa=g;return}function Dl(b){b=b|0;if((c[b+20>>2]|0)!=1)return;b=b+24|0;if((a[b+11>>0]|0)>=0)return;SA(c[b>>2]|0);return}function El(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=-1;c[a+24>>2]=b;return}function Fl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=-2;a=a+24|0;c[a>>2]=b;c[a+4>>2]=d;return}function Gl(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=-3;c[a+24>>2]=b;return}function Hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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]=-4;a=a+24|0;c[a>>2]=b;c[a+4>>2]=d;return}function Il(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=-5;a=a+24|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];return}function Jl(a){a=a|0;var b=0;b=0;do{a=a>>>7;b=b+1|0}while((a|0)!=0);return b|0}function Kl(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=aa;aa=aa+16|0;g=f;a[g>>0]=d|128;a[g+1>>0]=d>>>7|128;a[g+2>>0]=d>>>14|128;a[g+3>>0]=d>>>21|128;a[g+4>>0]=d>>>28;rn(b,c,g,5,e);aa=f;return}function Ll(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;j=aa;aa=aa+16|0;i=j;e=c>>>7;if(!e){g=i;f=1;e=c}else{h=0;while(1){a[i+h>>0]=c|128;c=h+1|0;f=e>>>7;if(!f)break;else{g=e;h=c;e=f;c=g}}g=i+c|0;f=h+2|0}a[g>>0]=e&127;un(b,i,f,d,0);aa=j;return}function Ml(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=aa;aa=aa+16|0;f=e;a[f>>0]=c|128;a[f+1>>0]=c>>>7|128;a[f+2>>0]=c>>>14|128;a[f+3>>0]=c>>>21|128;a[f+4>>0]=c>>>28;un(b,f,5,d,0);aa=e;return}function Nl(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,j=0,k=0;k=aa;aa=aa+16|0;j=k;f=d>>>7;if(!f){h=j;g=1;f=d}else{i=0;while(1){a[j+i>>0]=d|128;d=i+1|0;g=f>>>7;if(!g)break;else{h=f;i=d;f=g;d=h}}h=j+d|0;g=i+2|0}a[h>>0]=f&127;rn(b,c,j,g,e);aa=k;return}function Ol(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;j=aa;aa=aa+16|0;i=j;e=d>>>7;if(!e){g=i;f=1;e=d}else{h=0;while(1){a[i+h>>0]=d|128;d=h+1|0;f=e>>>7;if(!f)break;else{g=e;h=d;e=f;d=g}}g=i+d|0;f=h+2|0}a[g>>0]=e&127;if((c-b|0)>>>0<f>>>0){c=0;aa=j;return c|0}jC(b|0,i|0,f|0)|0;c=f;aa=j;return c|0}function Pl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;e=c>>7;if((c|0)<0)if((e|0)!=-1|(c&64|0)==0){f=0;while(1){a[h+f>>0]=c|128;f=f+1|0;c=e>>7;if(!((c|0)!=-1|(e&64|0)==0))break;else{g=e;e=c;c=g}}g=h+f|0;c=e}else{g=h;f=0}else if(!(e|c&64)){g=h;f=0}else{f=0;while(1){a[h+f>>0]=c|128;f=f+1|0;c=e>>7;if(!(c|e&64))break;else{g=e;e=c;c=g}}g=h+f|0;c=e}a[g>>0]=c&127;un(b,h,f+1|0,d,0);aa=i;return}function Ql(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=c&255;c=eC(c|0,d|0,7)|0;e=z()|0;if((d|0)<0)if((c|0)!=-1|(e|0)!=-1|(f&64)==0){d=c;c=0;do{a[g+c>>0]=f|-128;c=c+1|0;f=d&255;d=eC(d|0,e|0,7)|0;e=z()|0}while((d|0)!=-1|(e|0)!=-1|(f&64)==0);e=f;d=g+c|0}else{e=f;d=g;c=0}else if((c|0)==0&(e|0)==0&(f&64)==0){e=f;d=g;c=0}else{d=c;c=0;do{a[g+c>>0]=f|-128;c=c+1|0;f=d&255;d=eC(d|0,e|0,7)|0;e=z()|0}while(!((d|0)==0&(e|0)==0&(f&64)==0));e=f;d=g+c|0}a[d>>0]=e&127;un(b,g,c+1|0,298095,0);aa=h;return}function Rl(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;if(b>>>0<e>>>0?(g=d[b>>0]|0,(g&128|0)==0):0){g=g&127;h=1}else i=4;do if((i|0)==4){j=b+1|0;if(j>>>0<e>>>0?(h=d[j>>0]|0,(h&128|0)==0):0){g=h<<7&16256|a[b>>0]&127;h=2;break}i=b+2|0;if(i>>>0<e>>>0?(k=d[i>>0]|0,(k&128|0)==0):0){g=k<<14&2080768|a[b>>0]&127|(a[j>>0]&127)<<7;h=3;break}h=b+3|0;if(h>>>0<e>>>0?(l=d[h>>0]|0,(l&128|0)==0):0){g=(a[i>>0]&127)<<14|l<<21&266338304|a[b>>0]&127|(a[j>>0]&127)<<7;h=4;break}g=b+4|0;if(g>>>0<e>>>0?(m=d[g>>0]|0,(m&128|0)==0):0)if(!(m&240)){g=(a[h>>0]&127)<<21|m<<28|(a[i>>0]&127)<<14|a[b>>0]&127|(a[j>>0]&127)<<7;h=5;break}else{f=0;return f|0}else{g=0;h=0}}while(0);c[f>>2]=g;f=h;return f|0}function Sl(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;if(b>>>0<e>>>0?(g=d[b>>0]|0,(g&128|0)==0):0){c[f>>2]=g<<25>>25;b=1;return b|0}m=b+1|0;if(m>>>0<e>>>0?(h=d[m>>0]|0,(h&128|0)==0):0){c[f>>2]=(h<<7|a[b>>0]&127)<<18>>18;b=2;return b|0}l=b+2|0;if(l>>>0<e>>>0?(i=d[l>>0]|0,(i&128|0)==0):0){c[f>>2]=(i<<14|a[b>>0]&127|(a[m>>0]&127)<<7)<<11>>11;b=3;return b|0}k=b+3|0;if(k>>>0<e>>>0?(j=d[k>>0]|0,(j&128|0)==0):0){c[f>>2]=((a[l>>0]&127)<<14|j<<21|a[b>>0]&127|(a[m>>0]&127)<<7)<<4>>4;b=4;return b|0}g=b+4|0;if(g>>>0>=e>>>0){b=0;return b|0}h=d[g>>0]|0;if(h&128|0){b=0;return b|0}i=(h&8|0)!=0;g=h&240;if(i&(g|0)!=112){b=0;return b|0}if((g|0)!=0&(i^1)){b=0;return b|0}c[f>>2]=(a[k>>0]&127)<<21|h<<28|(a[l>>0]&127)<<14|a[b>>0]&127|(a[m>>0]&127)<<7;b=5;return b|0}function Tl(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;if(b>>>0<d>>>0?(f=a[b>>0]|0,f<<24>>24>-1):0){r=gC(f&255|0,0,57)|0;r=eC(r|0,z()|0,57)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=1;return b|0}s=b+1|0;if(s>>>0<d>>>0?(g=a[s>>0]|0,g<<24>>24>-1):0){s=gC(g&255|0,0,7)|0;r=z()|0;r=gC(s|a[b>>0]&127|0,r|0,50)|0;r=eC(r|0,z()|0,50)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=2;return b|0}r=b+2|0;if(r>>>0<d>>>0?(h=a[r>>0]|0,h<<24>>24>-1):0){d=gC(h&255|0,0,14)|0;q=z()|0;s=gC(a[s>>0]&127|0,0,7)|0;r=z()|0;r=gC(d|a[b>>0]&127|s|0,q|r|0,43)|0;r=eC(r|0,z()|0,43)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=3;return b|0}q=b+3|0;if(q>>>0<d>>>0?(i=a[q>>0]|0,i<<24>>24>-1):0){p=gC(i&255|0,0,21)|0;q=z()|0;o=gC(a[r>>0]&127|0,0,14)|0;d=z()|0;s=gC(a[s>>0]&127|0,0,7)|0;r=z()|0;r=gC(o|p|a[b>>0]&127|s|0,d|q|r|0,36)|0;r=eC(r|0,z()|0,36)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=4;return b|0}p=b+4|0;if(p>>>0<d>>>0?(j=a[p>>0]|0,j<<24>>24>-1):0){n=gC(j&255|0,0,28)|0;d=z()|0;m=gC(a[q>>0]&127|0,0,21)|0;p=z()|0;o=gC(a[r>>0]&127|0,0,14)|0;q=z()|0;s=gC(a[s>>0]&127|0,0,7)|0;r=z()|0;r=gC(m|n|o|a[b>>0]&127|s|0,p|d|q|r|0,29)|0;r=eC(r|0,z()|0,29)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=5;return b|0}o=b+5|0;if(o>>>0<d>>>0?(k=a[o>>0]|0,k<<24>>24>-1):0){l=gC(k&255|0,0,35)|0;o=z()|0;k=gC(a[p>>0]&127|0,0,28)|0;p=z()|0;m=gC(a[q>>0]&127|0,0,21)|0;d=z()|0;n=gC(a[r>>0]&127|0,0,14)|0;q=z()|0;s=gC(a[s>>0]&127|0,0,7)|0;r=z()|0;r=gC(k|l|m|n|a[b>>0]&127|s|0,p|o|d|q|r|0,22)|0;r=eC(r|0,z()|0,22)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=6;return b|0}k=b+6|0;if(k>>>0<d>>>0?(l=a[k>>0]|0,l<<24>>24>-1):0){j=gC(l&255|0,0,42)|0;n=z()|0;i=gC(a[o>>0]&127|0,0,35)|0;o=z()|0;k=gC(a[p>>0]&127|0,0,28)|0;p=z()|0;l=gC(a[q>>0]&127|0,0,21)|0;d=z()|0;m=gC(a[r>>0]&127|0,0,14)|0;q=z()|0;s=gC(a[s>>0]&127|0,0,7)|0;r=z()|0;r=gC(i|j|k|l|m|a[b>>0]&127|s|0,o|n|p|d|q|r|0,15)|0;r=eC(r|0,z()|0,15)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=7;return b|0}j=b+7|0;if(j>>>0<d>>>0?(m=a[j>>0]|0,m<<24>>24>-1):0){h=gC(m&255|0,0,49)|0;n=z()|0;g=gC(a[k>>0]&127|0,0,42)|0;m=z()|0;i=gC(a[o>>0]&127|0,0,35)|0;o=z()|0;j=gC(a[p>>0]&127|0,0,28)|0;p=z()|0;k=gC(a[q>>0]&127|0,0,21)|0;d=z()|0;l=gC(a[r>>0]&127|0,0,14)|0;q=z()|0;s=gC(a[s>>0]&127|0,0,7)|0;r=z()|0;r=gC(g|h|i|j|k|l|a[b>>0]&127|s|0,m|n|o|p|d|q|r|0,8)|0;r=eC(r|0,z()|0,8)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=8;return b|0}i=b+8|0;if(i>>>0<d>>>0?(n=a[i>>0]|0,n<<24>>24>-1):0){f=gC(n&127|0,0,56)|0;m=z()|0;t=gC(a[j>>0]&127|0,0,49)|0;l=z()|0;g=gC(a[k>>0]&127|0,0,42)|0;n=z()|0;h=gC(a[o>>0]&127|0,0,35)|0;o=z()|0;i=gC(a[p>>0]&127|0,0,28)|0;p=z()|0;j=gC(a[q>>0]&127|0,0,21)|0;d=z()|0;k=gC(a[r>>0]&127|0,0,14)|0;q=z()|0;s=gC(a[s>>0]&127|0,0,7)|0;r=z()|0;r=gC(t|f|g|h|i|j|k|a[b>>0]&127|s|0,l|m|n|o|p|d|q|r|0,1)|0;r=eC(r|0,z()|0,1)|0;s=z()|0;b=e;c[b>>2]=r;c[b+4>>2]=s;b=9;return b|0}f=b+9|0;if(f>>>0>=d>>>0){t=0;return t|0}g=a[f>>0]|0;f=g&255;if(f&128|0){t=0;return t|0}h=(f&1|0)!=0;f=f&254;if(h&(f|0)!=126){t=0;return t|0}if((f|0)!=0&(h^1)){t=0;return t|0}v=gC(g&255|0,0,63)|0;l=z()|0;w=gC(a[i>>0]&127|0,0,56)|0;i=z()|0;u=gC(a[j>>0]&127|0,0,49)|0;m=z()|0;f=gC(a[k>>0]&127|0,0,42)|0;n=z()|0;g=gC(a[o>>0]&127|0,0,35)|0;o=z()|0;h=gC(a[p>>0]&127|0,0,28)|0;d=z()|0;j=gC(a[q>>0]&127|0,0,21)|0;q=z()|0;k=gC(a[r>>0]&127|0,0,14)|0;r=z()|0;p=gC(a[s>>0]&127|0,0,7)|0;s=z()|0;t=e;c[t>>2]=w|v|u|f|g|h|j|k|a[b>>0]&127|p;c[t+4>>2]=i|l|m|n|o|d|q|r|s;t=10;return t|0}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=0;return}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0;d=RA(12)|0;e=c[b+4>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=e;c[d+8>>2]=c[b+8>>2];c[a>>2]=d;return}function Wl(a,b){a=a|0;b=b|0;c[b>>2]=a;return}function Xl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+8|0;e=c[f>>2]|0;d=(c[a+4>>2]|0)-e|0;d=d>>>0<65536?d:65536;if(!d)return d|0;jC(b|0,(c[a>>2]|0)+e|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function Yl(a){a=a|0;if(!(c[a+4>>2]|0))return;c[a+8>>2]=0;return}function Zl(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[d>>2]|0;n=c[d+4>>2]|0;m=c[b+4>>2]|0;l=m>>>0<l>>>0?m:l;n=(m>>>0<n>>>0?m:n)-l|0;if(!n)return 0;m=e+4|0;f=c[m>>2]|0;h=c[e>>2]|0;k=f-h|0;i=h;a:do if(n>>>0>k>>>0){d=n-k|0;j=e+8|0;g=c[j>>2]|0;if((g-f|0)>>>0>=d>>>0)while(1){a[f>>0]=0;f=(c[m>>2]|0)+1|0;c[m>>2]=f;d=d+-1|0;if(!d)break a}if((n|0)<0)yB();f=g-h|0;g=f<<1;g=f>>>0<1073741823?(g>>>0<n>>>0?n:g):2147483647;if(!g)f=0;else f=RA(g)|0;lC(f+k|0,0,d|0)|0;if((k|0)>0)jC(f|0,i|0,k|0)|0;c[e>>2]=f;c[m>>2]=f+n;c[j>>2]=f+g;if(h|0)SA(i)}else if(n>>>0<k>>>0)c[m>>2]=i+n;while(0);jC(c[e>>2]|0,(c[b>>2]|0)+l|0,n|0)|0;return 0}function _l(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=aa;aa=aa+16|0;g=i+4|0;h=i;j=c[d>>2]|0;c[d>>2]=0;c[a>>2]=j;f=a+4|0;e=a+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;b[f+16>>1]=0;Yl(j);c[g>>2]=0;c[h>>2]=0;d=c[e>>2]|0;if(d>>>0<(c[a+12>>2]|0)>>>0){c[d>>2]=0;c[d+4>>2]=0;c[e>>2]=d+8;aa=i;return}else{$l(f,g,h);aa=i;return}}function $l(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;i=a+4|0;g=c[a>>2]|0;m=(c[i>>2]|0)-g|0;l=m>>3;e=l+1|0;if(e>>>0>536870911)yB();j=a+8|0;n=(c[j>>2]|0)-g|0;f=n>>2;f=n>>3>>>0<268435455?(f>>>0<e>>>0?e:f):536870911;do if(f)if(f>>>0>536870911)U();else{k=RA(f<<3)|0;h=k;break}else{h=0;k=0}while(0);e=k+(l<<3)|0;n=c[d>>2]|0;c[e>>2]=c[b>>2];c[k+(l<<3)+4>>2]=n;if((m|0)>0)jC(h|0,g|0,m|0)|0;c[a>>2]=k;c[i>>2]=e+8;c[j>>2]=k+(f<<3);if(!g)return;SA(g);return}function am(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=aa;aa=aa+48|0;l=m+32|0;g=m+8|0;k=m+16|0;j=m;c[g>>2]=0;i=g+4|0;c[i>>2]=0;if((bm(a,b,g)|0)==1){aa=m;return}b=g;h=c[b>>2]|0;b=c[b+4>>2]|0;if((b-h|0)>>>0>80){g=(e-d|0)>>>0>80?d:(e+d|0)/2|0;g=((g+-1|0)>>>0>40?g+-41|0:0)+h|0;b=b+-80|0;g=b>>>0<g>>>0?b:g;b=g+80|0;d=(c[i>>2]|0)!=(b|0);c[f+12>>2]=g-h;if((g|0)!=(h|0)){mB(f,329606)|0;h=g+3|0}}else{d=(c[i>>2]|0)!=(b|0);c[f+12>>2]=0}c[k>>2]=0;g=k+4|0;c[g>>2]=0;c[k+8>>2]=0;a=c[a>>2]|0;i=j;c[i>>2]=h;c[i+4>>2]=d?b+-3|0:b;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];if((Zl(a,l,k)|0)!=1?(cm(f,c[k>>2]|0,c[g>>2]|0)|0,d):0)mB(f,329606)|0;b=c[k>>2]|0;if(b|0){c[g>>2]=b;SA(b)}aa=m;return}function bm(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;x=aa;aa=aa+16|0;s=x+4|0;u=x;v=b+4|0;r=b+8|0;g=c[v>>2]|0;if((c[r>>2]|0)-g>>3>>>0>e>>>0){v=g+(e<<3)|0;b=c[v+4>>2]|0;w=f;c[w>>2]=c[v>>2];c[w+4>>2]=b;w=0;aa=x;return w|0}t=RA(65536)|0;m=t;lC(t|0,0,65536)|0;c[s>>2]=0;o=b+21|0;p=b+20|0;q=b+16|0;n=b+12|0;while(1){if(a[o>>0]|0){g=1;break}Wl(c[(c[b>>2]|0)+8>>2]|0,s);l=Xl(c[b>>2]|0,t)|0;if(l>>>0<65536)a[o>>0]=1;k=t+l|0;if((l|0)>0){j=t;h=m;while(1){g=a[j>>0]|0;if(g<<24>>24==10){g=d[p>>0]|0;i=h-m+(c[s>>2]|0)-g|0;c[u>>2]=i;h=c[r>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[h>>2]=c[q>>2];c[h+4>>2]=i;c[r>>2]=h+8}else{dm(v,q,u);g=d[p>>0]|0}c[q>>2]=i+1+g;g=a[j>>0]|0}a[p>>0]=g<<24>>24==13&1;g=j+1|0;if(k>>>0>g>>>0){j=g;h=g}else break}}if(a[o>>0]|0){h=(c[s>>2]|0)+l|0;c[u>>2]=h;g=c[r>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[q>>2];c[g+4>>2]=h;c[r>>2]=g+8}else dm(v,q,u)}g=c[v>>2]|0;if((c[r>>2]|0)-g>>3>>>0>e>>>0){w=21;break}}if((w|0)==21){b=g+(e<<3)|0;w=c[b+4>>2]|0;g=f;c[g>>2]=c[b>>2];c[g+4>>2]=w;g=0}SA(t);w=g;aa=x;return w|0}function cm(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=aa;aa=aa+16|0;j=d;k=o;n=b+11|0;f=a[n>>0]|0;g=f<<24>>24<0;if(g){i=(c[b+8>>2]&2147483647)+-1|0;l=c[b+4>>2]|0}else{i=10;l=f&255}m=e-j|0;if(!m){aa=o;return b|0}if(g){g=c[b>>2]|0;h=c[b+4>>2]|0}else{g=b;h=f&255}if(!(g>>>0<=d>>>0&(g+h|0)>>>0>d>>>0)){if((i-l|0)>>>0<m>>>0){kB(b,i,m+l-i|0,l,l,0);f=a[n>>0]|0}if(f<<24>>24<0)f=c[b>>2]|0;else f=b;f=f+l|0;if((d|0)!=(e|0))do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((d|0)!=(e|0));a[f>>0]=0;f=m+l|0;if((a[n>>0]|0)<0){c[b+4>>2]=f;aa=o;return b|0}else{a[n>>0]=f;aa=o;return b|0}}else{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;if(m>>>0>4294967279)TA();if(m>>>0<11){a[k+11>>0]=m;f=k}else{n=m+16&-16;f=RA(n)|0;c[k>>2]=f;c[k+8>>2]=n|-2147483648;c[k+4>>2]=m}if((d|0)!=(e|0)){g=f;while(1){a[g>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}f=f+(e-j)|0}a[f>>0]=0;n=a[k+11>>0]|0;e=n<<24>>24<0;f=c[k>>2]|0;lB(b,e?f:k,e?c[k+4>>2]|0:n&255)|0;if(e)SA(f);aa=o;return b|0}return 0}function dm(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;i=a+4|0;g=c[a>>2]|0;m=(c[i>>2]|0)-g|0;l=m>>3;e=l+1|0;if(e>>>0>536870911)yB();j=a+8|0;n=(c[j>>2]|0)-g|0;f=n>>2;f=n>>3>>>0<268435455?(f>>>0<e>>>0?e:f):536870911;do if(f)if(f>>>0>536870911)U();else{k=RA(f<<3)|0;h=k;break}else{h=0;k=0}while(0);e=k+(l<<3)|0;n=c[d>>2]|0;c[e>>2]=c[b>>2];c[k+(l<<3)+4>>2]=n;if((m|0)>0)jC(h|0,g|0,m|0)|0;c[a>>2]=k;c[i>>2]=e+8;c[j>>2]=k+(f<<3);if(!g)return;SA(g);return}function em(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<416){d=384+(d*36|0)|0;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));return}else{e=0-d|0;c[b>>2]=c[3840];c[b+4>>2]=c[3841];c[b+8>>2]=c[3842];c[b+12>>2]=c[3843];c[b+16>>2]=c[3844];c[b+20>>2]=c[3845];a[b+24>>0]=e>>>8;d=b+25|0;a[d>>0]=a[15385]|0;a[d+1>>0]=a[15386]|0;a[d+2>>0]=a[15387]|0;c[b+28>>2]=e&255;c[b+32>>2]=e&65535;return}}function fm(a,b){a=a|0;b=b|0;return ((b|0)==-1?1:(c[(a>>>0<416?384+(a*36|0)+20|0:15380)>>2]|0)==(b|0))|0}function gm(a,b){a=a|0;b=b|0;if((b|0)!=-1){a=b;return a|0}a=c[a>>2]|0;a=c[(a>>>0<416?384+(a*36|0)+20|0:15380)>>2]|0;return a|0}function hm(b,c){b=b|0;c=c|0;switch(b|0){case 10:case 9:case 8:case 7:case 6:{c=(a[c>>0]|0)!=0;break}case 18:case 19:{c=(a[c+7>>0]|0)!=0;break}case 196:case 195:case 194:case 193:case 192:case 191:case 190:case 189:{c=(a[c+2>>0]|0)!=0;break}case 183:case 182:case 181:case 180:case 179:{c=(a[c+3>>0]|0)!=0;break}case 415:case 414:case 413:case 412:case 411:case 410:case 409:case 408:case 407:case 406:case 405:case 404:case 403:case 402:case 401:case 400:case 399:case 398:case 397:case 396:case 395:case 394:case 393:case 392:case 391:case 390:case 389:case 388:case 387:case 386:case 385:case 384:case 383:case 382:case 381:case 380:case 379:case 378:case 377:case 376:case 375:case 374:case 373:case 372:case 371:case 370:case 369:case 368:case 367:case 366:case 365:case 364:case 363:case 362:case 361:case 360:case 359:case 358:case 357:case 356:case 355:case 354:case 353:case 352:case 351:case 350:{c=(a[c+5>>0]|0)!=0;break}case 345:case 344:case 343:case 342:case 349:case 348:case 347:case 346:case 335:case 326:case 338:case 329:case 339:case 330:case 337:case 328:case 336:case 327:case 341:case 332:case 340:case 331:case 333:case 324:case 334:case 325:case 275:case 269:case 263:case 262:case 253:case 252:case 243:case 242:case 273:case 267:case 259:case 258:case 249:case 248:case 239:case 238:case 274:case 268:case 261:case 260:case 251:case 250:case 241:case 240:case 272:case 266:case 257:case 256:case 247:case 246:case 237:case 236:case 271:case 265:case 255:case 245:case 235:case 270:case 264:case 254:case 244:case 234:case 318:case 309:case 296:case 283:case 317:case 308:case 295:case 282:case 280:case 276:case 279:case 278:case 277:case 321:case 320:case 312:case 311:case 299:case 298:case 286:case 285:case 319:case 310:case 297:case 284:case 305:case 304:case 292:case 291:case 302:case 301:case 289:case 288:case 316:case 307:case 294:case 281:case 315:case 306:case 293:case 323:case 314:case 303:case 290:case 322:case 313:case 300:case 287:case 213:case 233:case 230:case 227:case 224:case 221:case 217:case 232:case 229:case 226:case 223:case 220:case 219:case 216:case 215:case 231:case 228:case 225:case 222:case 218:case 214:case 211:case 210:case 212:{c=(a[c+4>>0]|0)!=0;break}case 203:case 202:case 201:case 200:case 199:case 198:case 197:{c=(a[c+8>>0]|0)!=0;break}case 209:case 208:case 207:case 206:case 205:case 204:{c=(a[c+9>>0]|0)!=0;break}case 188:case 187:case 186:case 185:case 184:{c=0;break}default:c=1}return c|0}function im(a){a=a|0;var b=0;switch(a|0){case 217:case 216:case 215:{b=16;break}case 221:case 220:case 219:{b=8;break}case 224:case 223:case 230:case 229:{b=4;break}case 227:case 226:case 233:case 232:{b=2;break}default:{}}return b|0}function jm(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;k=aa;aa=aa+16|0;j=k;c[b>>2]=0;h=b+4|0;c[h>>2]=0;i=b+8|0;c[i>>2]=0;g=d>>>0<416;if(g)e=a[384+(d*36|0)+24>>0]|0;else e=(0-d|0)>>>8&255;if(!(e<<24>>24)){if(g)e=c[384+(d*36|0)+28>>2]|0;else e=0-d&255;d=RA(1)|0;j=d+1|0;a[d>>0]=e;c[b>>2]=d;c[h>>2]=j;c[i>>2]=j;aa=k;return}if(g)e=a[384+(d*36|0)+24>>0]|0;else e=(0-d|0)>>>8&255;m=RA(1)|0;f=m+1|0;l=f;a[m>>0]=e;c[b>>2]=m;c[h>>2]=l;c[i>>2]=l;if(g)e=c[384+(d*36|0)+28>>2]|0;else e=0-d&255;km(b,f,j,j+(Ol(j,j+5|0,e)|0)|0);aa=k;return}function km(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,r=0;q=e;k=c[b>>2]|0;l=k;o=d;h=o-l|0;j=f;m=j-q|0;if((m|0)<=0)return;p=b+8|0;i=c[p>>2]|0;r=b+4|0;n=c[r>>2]|0;g=n;if((m|0)<=(i-g|0)){i=g-o|0;do if((m|0)>(i|0)){h=e+i|0;g=j-h|0;if((g|0)>0){jC(n|0,h|0,g|0)|0;g=(c[r>>2]|0)+g|0;c[r>>2]=g}else g=n;if((i|0)>0){j=g;f=h;break}else return}else j=n;while(0);i=g-(d+m)|0;g=d+i|0;if(g>>>0<n>>>0){h=j;do{a[h>>0]=a[g>>0]|0;g=g+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((g|0)!=(n|0))}if(i|0)kC(j+(0-i)|0,d|0,i|0)|0;g=f-q|0;if(!g)return;kC(d|0,e|0,g|0)|0;return}g=g-l+m|0;if((g|0)<0)yB();m=i-l|0;n=m<<1;g=m>>>0<1073741823?(n>>>0<g>>>0?g:n):2147483647;if(!g)j=0;else j=RA(g)|0;m=j+h|0;n=j+g|0;if((e|0)==(f|0)){f=k;g=m}else{i=f+(o-q-l)|0;h=m;g=e;while(1){a[h>>0]=a[g>>0]|0;g=g+1|0;if((g|0)==(f|0))break;else h=h+1|0}h=c[b>>2]|0;f=h;g=j+i|0;h=o-h|0}i=m+(0-h)|0;if((h|0)>0)jC(i|0,f|0,h|0)|0;h=(c[r>>2]|0)-o|0;if((h|0)>0){jC(g|0,d|0,h|0)|0;g=g+h|0}c[b>>2]=i;c[r>>2]=g;c[p>>2]=n;if(!f)return;SA(f);return}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+80|0;h=i;c[h>>2]=289108;c[h+4>>2]=d;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;Bj(h+20|0,h);g=h+60|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;g=mm(h,b)|0;c[h>>2]=289108;b=h+60|0;e=c[b>>2]|0;if(e|0){f=h+64|0;d=c[f>>2]|0;if((d|0)==(e|0))d=e;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0)}while((d|0)!=(e|0));d=c[b>>2]|0}c[f>>2]=e;SA(d)}d=c[h+48>>2]|0;if(d|0){c[h+52>>2]=d;SA(d)}d=c[h+36>>2]|0;if(d|0){c[h+40>>2]=d;SA(d)}d=c[h+24>>2]|0;if(!d){aa=i;return g|0}c[h+28>>2]=d;SA(d);aa=i;return g|0} +function kq(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;l=aa;aa=aa+112|0;i=l+64|0;k=l+16|0;h=l+8|0;j=l+24|0;g=l;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{vp(i,c[b>>2]|0,b);m=c[f>>2]|0;c[f>>2]=m+1;m=b+16+(((c[e>>2]|0)+m&1)*40|0)|0;fy(m);dy(m,i);fy(i)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=105){c[d>>2]=0;aa=l;return}m=b+100|0;dy(j,b+16+(e*40|0)|0);e=b+16+((c[m>>2]&1)*40|0)|0;fy(e);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[m>>2]=c[m>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;f=j+24|0;e=a[f+11>>0]|0;m=e<<24>>24<0;f=m?c[f>>2]|0:f;e=m?c[j+28>>2]|0:e&255;if((Px(f,f+e|0,g)|0)==1){c[h>>2]=e;c[h+4>>2]=f;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];Gp(b,i,309876,h)}m=g;e=c[m>>2]|0;m=c[m+4>>2]|0;if(m>>>0>0|(m|0)==0&e>>>0>4294967295){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];Gp(b,i,309898,k)}c[d>>2]=e;fy(j);aa=l;return}function lq(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;k=aa;aa=aa+96|0;g=k+56|0;j=k+8|0;i=k;h=k+16|0;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{vp(g,c[b>>2]|0,b);l=c[f>>2]|0;c[f>>2]=l+1;l=b+16+(((c[e>>2]|0)+l&1)*40|0)|0;fy(l);dy(l,g);fy(g)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=104){c[d>>2]=-1;aa=k;return}l=b+100|0;dy(h,b+16+(e*40|0)|0);e=b+16+((c[l>>2]&1)*40|0)|0;fy(e);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[l>>2]=c[l>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;f=h+24|0;e=a[f+11>>0]|0;l=e<<24>>24<0;f=l?c[f>>2]|0:f;e=l?c[h+28>>2]|0:e&255;if((Sx(f,f+e|0,d,0)|0)==1){c[i>>2]=e;c[i+4>>2]=f;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];Gp(b,g,309820,i)}l=c[d>>2]|0;if(!((l|0)!=0&(l+-1&l|0)==0)){c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];Gp(b,g,309845,j)}fy(h);aa=k;return}function mq(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;r=aa;aa=aa+144|0;o=r+96|0;m=r+8|0;j=r;n=r+72|0;q=r+32|0;k=r+16|0;f=b+100|0;dy(q,b+16+((c[f>>2]&1)*40|0)|0);h=b+16+((c[f>>2]&1)*40|0)|0;fy(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[f>>2]=c[f>>2]&1^1;h=b+96|0;c[h>>2]=(c[h>>2]|0)+-1;g=q+24|0;l=c[g>>2]|0;p=k+4|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Ip(o,b);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];c[d+16>>2]=c[o+16>>2];if(!(c[h>>2]|0))do{vp(o,c[b>>2]|0,b);i=c[h>>2]|0;c[h>>2]=i+1;i=b+16+(((c[f>>2]|0)+i&1)*40|0)|0;fy(i);dy(i,o);fy(o)}while(!(c[h>>2]|0));e=c[f>>2]&1;i=c[b+16+(e*40|0)+20>>2]|0;a:do if((l|0)!=212){if((i+-43|0)>>>0>=3){h=RA(32)|0;c[n>>2]=h;c[n+8>>2]=-2147483616;c[n+4>>2]=17;e=h;f=309626;g=e+17|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[h+17>>0]=0;e=o+4|0;f=RA(12)|0;c[o>>2]=f;d=f+12|0;c[o+8>>2]=d;VA(f,n);c[e>>2]=d;Qp(b,o,309644);if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);c[e>>2]=f;SA(f);SA(h);e=1;break}dy(o,b+16+(e*40|0)|0);g=b+16+((c[f>>2]&1)*40|0)|0;fy(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;c[f>>2]=c[f>>2]&1^1;c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=c[o+24>>2];cB(p,o+28|0)|0;fy(o);g=p+11|0;e=a[g>>0]|0;n=e<<24>>24<0;f=n?c[p>>2]|0:p;e=f+(n?c[k+8>>2]|0:e&255)|0;switch(l|0){case 52:{c[d+20>>2]=-1;e=Sx(f,e,d+24|0,1)|0;break}case 53:{c[d+20>>2]=-2;e=Px(f,e,d+24|0)|0;break}case 54:{c[d+20>>2]=-3;e=Tx(c[k>>2]|0,f,e,d+24|0)|0;break}case 55:{c[d+20>>2]=-4;e=Vx(c[k>>2]|0,f,e,d+24|0)|0;break}default:{e=1;break a}}if((e|0)==1){c[m>>2]=(a[g>>0]|0)<0?c[p>>2]|0:p;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[o+16>>2]=c[d+16>>2];Gp(b,o,309544,m);e=1}else e=0}else{e=c[g>>2]|0;if(!(hm(e,c[b+12>>2]|0)|0)){c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];c[n+16>>2]=c[q+16>>2];em(o,e);c[j>>2]=c[o>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];Gp(b,o,309282,j)}c[d+20>>2]=-5;e=(oq(b,d,i)|0)==1&1}while(0);if((a[p+11>>0]|0)>=0){fy(q);aa=r;return e|0}SA(c[p>>2]|0);fy(q);aa=r;return e|0}function nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+96|0;i=j+48|0;g=j;h=j+8|0;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{vp(i,c[b>>2]|0,b);k=c[f>>2]|0;c[f>>2]=k+1;k=b+16+(((c[e>>2]|0)+k&1)*40|0)|0;fy(k);dy(k,i);fy(i)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)==45){k=b+100|0;dy(h,b+16+(e*40|0)|0);e=b+16+((c[k>>2]&1)*40|0)|0;fy(e);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[k>>2]=c[k>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;f=h+28|0;e=a[f+11>>0]|0;k=e<<24>>24<0;f=k?c[f>>2]|0:f;e=k?c[h+32>>2]|0:e&255;if((Ox(f,f+e|0,d)|0)==1){c[g>>2]=e;c[g+4>>2]=f;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];Gp(b,i,309343,g)}fy(h);k=0;aa=j;return k|0}else{g=RA(32)|0;c[h>>2]=g;c[h+8>>2]=-2147483616;c[h+4>>2]=16;e=g;f=309605;d=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(d|0));a[g+16>>0]=0;e=i+4|0;f=RA(12)|0;c[i>>2]=f;k=f+12|0;c[i+8>>2]=k;VA(f,h);c[e>>2]=k;Qp(b,i,309622);if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);c[e>>2]=f;SA(f);SA(g);k=1;aa=j;return k|0}return 0}function oq(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,w=0,x=0,y=0,z=0,A=0,B=0;B=aa;aa=aa+160|0;z=B+96|0;x=B+8|0;g=B;h=B+56|0;f=B+136|0;w=B+32|0;A=B+16|0;switch(e|0){case 37:{s=1;t=16;break}case 38:{s=1;t=8;break}case 39:{s=1;t=4;break}case 40:{s=1;t=2;break}case 41:{s=0;t=4;break}case 42:{s=0;t=2;break}default:{A=Zx(e)|0;c[g>>2]=A;c[z>>2]=c[d>>2];c[z+4>>2]=c[d+4>>2];c[z+8>>2]=c[d+8>>2];c[z+12>>2]=c[d+12>>2];c[z+16>>2]=c[d+16>>2];Gp(b,z,309660,g);b=1;aa=B;return b|0}}r=b+100|0;dy(h,b+16+((c[r>>2]&1)*40|0)|0);u=b+16+((c[r>>2]&1)*40|0)|0;fy(u);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[r>>2]=c[r>>2]&1^1;u=b+96|0;c[u>>2]=(c[u>>2]|0)+-1;fy(h);q=16/(t>>>0)|0;e=f;h=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(h|0));Ip(z,b);c[d>>2]=c[z>>2];c[d+4>>2]=c[z+4>>2];c[d+8>>2]=c[z+8>>2];c[d+12>>2]=c[z+12>>2];c[d+16>>2]=c[z+16>>2];p=z+24|0;l=A+4|0;m=z+28|0;i=l+11|0;j=A+8|0;o=(t+-2|0)>>>1;n=t&255;k=0;while(1){Ip(w,b);e=(c[u>>2]|0)==0;if(s){if(e)do{vp(z,c[b>>2]|0,b);h=c[u>>2]|0;c[u>>2]=h+1;h=b+16+(((c[r>>2]|0)+h&1)*40|0)|0;fy(h);dy(h,z);fy(z)}while(!(c[u>>2]|0));e=c[r>>2]&1;if((c[b+16+(e*40|0)+20>>2]&-2|0)!=44){y=15;break}}else{if(e)do{vp(z,c[b>>2]|0,b);h=c[u>>2]|0;c[u>>2]=h+1;h=b+16+(((c[r>>2]|0)+h&1)*40|0)|0;fy(h);dy(h,z);fy(z)}while(!(c[u>>2]|0));e=c[r>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=43){y=22;break}}dy(z,b+16+(e*40|0)|0);e=b+16+((c[r>>2]&1)*40|0)|0;fy(e);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[r>>2]=c[r>>2]&1^1;c[u>>2]=(c[u>>2]|0)+-1;c[A>>2]=c[p>>2];VA(l,m);fy(z);e=a[i>>0]|0;g=e<<24>>24<0;h=g?c[l>>2]|0:l;e=h+(g?c[j>>2]|0:e&255)|0;g=f+(v(k,q)|0)|0;a:do if(s)switch(o&2147483647|0){case 7:{e=Qx(h,e,g)|0;y=34;break a}case 3:{e=Rx(h,e,g)|0;y=34;break a}case 1:{e=Sx(h,e,g,1)|0;y=34;break a}case 0:{e=Px(h,e,g)|0;y=34;break a}default:{e=0;break a}}else switch(n&31){case 4:{e=Tx(c[A>>2]|0,h,e,g)|0;y=34;break a}case 2:{e=Vx(c[A>>2]|0,h,e,g)|0;y=34;break a}default:{e=0;break a}}while(0);if((y|0)==34){y=0;if((e|0)==1){c[x>>2]=(a[i>>0]|0)<0?c[l>>2]|0:l;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[z+16>>2]=c[w+16>>2];Gp(b,z,309544,x);e=1}else e=0}if((a[i>>0]|0)<0)SA(c[l>>2]|0);k=k+1|0;if(e|0){f=1;break}if(k>>>0>=t>>>0){y=40;break}}if((y|0)==15){g=RA(32)|0;c[A>>2]=g;c[A+8>>2]=-2147483616;c[A+4>>2]=24;e=g;f=309774;h=e+24|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(h|0));a[g+24>>0]=0;f=z+4|0;e=RA(12)|0;c[z>>2]=e;y=e+12|0;c[z+8>>2]=y;VA(e,A);c[f>>2]=y;Qp(b,z,309622);if((a[e+11>>0]|0)<0)SA(c[e>>2]|0);c[f>>2]=e;SA(e);SA(g);y=38}else if((y|0)==22){g=RA(16)|0;c[A>>2]=g;c[A+8>>2]=-2147483632;c[A+4>>2]=15;e=g;f=309799;h=e+15|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(h|0));a[g+15>>0]=0;f=z+4|0;e=RA(12)|0;c[z>>2]=e;y=e+12|0;c[z+8>>2]=y;VA(e,A);c[f>>2]=y;Qp(b,z,309815);if((a[e+11>>0]|0)<0)SA(c[e>>2]|0);c[f>>2]=e;SA(e);SA(g);y=38}else if((y|0)==40){e=d+24|0;h=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(h|0));f=0}if((y|0)==38)f=1;b=f;aa=B;return b|0}function pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;d=c[a>>2]|0;f=((c[i>>2]|0)-d|0)/36|0;e=f+1|0;if(e>>>0>119304647)yB();j=a+8|0;h=((c[j>>2]|0)-d|0)/36|0;d=h<<1;d=h>>>0<59652323?(d>>>0<e>>>0?e:d):119304647;do if(d)if(d>>>0>119304647)U();else{g=RA(d*36|0)|0;break}else g=0;while(0);e=g+(f*36|0)|0;h=g+(d*36|0)|0;zl(e,b);b=e+36|0;g=c[a>>2]|0;d=c[i>>2]|0;if((d|0)==(g|0)){f=g;d=g}else{do{e=e+-36|0;d=d+-36|0;zl(e,d)}while((d|0)!=(g|0));f=c[a>>2]|0;d=c[i>>2]|0}c[a>>2]=e;c[i>>2]=b;c[j>>2]=h;e=f;if((d|0)!=(e|0))do{d=d+-36|0;Dl(d)}while((d|0)!=(e|0));if(!f)return;SA(f);return}function qq(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;w=aa;aa=aa+64|0;u=w;t=w+52|0;k=w+40|0;c[k>>2]=0;v=k+4|0;c[v>>2]=0;h=k+8|0;c[h>>2]=0;j=b+96|0;i=b+100|0;g=u+24|0;while(1){if(!(c[j>>2]|0))do{vp(u,c[b>>2]|0,b);q=c[j>>2]|0;c[j>>2]=q+1;q=b+16+(((c[i>>2]|0)+q&1)*40|0)|0;fy(q);dy(q,u);fy(u)}while(!(c[j>>2]|0));f=c[i>>2]&1;if((c[b+16+(f*40|0)+20>>2]|0)!=107)break;dy(u,b+16+(f*40|0)|0);f=b+16+((c[i>>2]&1)*40|0)|0;fy(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;c[i>>2]=c[i>>2]&1^1;c[j>>2]=(c[j>>2]|0)+-1;f=c[v>>2]|0;if((f|0)==(c[h>>2]|0))Kc(k,g);else{VA(f,g);c[v>>2]=f+12}fy(u)}q=c[k>>2]|0;p=c[v>>2]|0;a:do if((q|0)!=(p|0)){n=d+4|0;o=d+8|0;m=q;b:while(1){f=a[m+11>>0]|0;g=f<<24>>24<0;f=g?c[m+4>>2]|0:f&255;if(f>>>0>=3?(Bn(u,g?c[m>>2]|0:m,f,1,f+-2|0),r=u,l=c[r+4>>2]|0,r=c[r>>2]|0,s=r+l|0,(l|0)>0):0){l=r;do{b=a[l>>0]|0;c:do if(b<<24>>24!=92){f=c[n>>2]|0;g=c[o>>2]|0;if(f>>>0<g>>>0){a[f>>0]=b;c[n>>2]=(c[n>>2]|0)+1;f=l;break}k=c[d>>2]|0;j=f-k|0;f=j+1|0;i=k;if((f|0)<0){f=93;break b}g=g-k|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<f>>>0?f:h):2147483647;if(!h)g=0;else g=RA(h)|0;f=g+j|0;a[f>>0]=b;if((j|0)>0)jC(g|0,i|0,j|0)|0;c[d>>2]=g;c[n>>2]=f+1;c[o>>2]=g+h;if(!k)f=l;else{SA(i);f=l}}else{f=l+1|0;g=a[f>>0]|0;switch(g<<24>>24|0){case 110:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=10;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=20;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=RA(i)|0;g=h+k|0;a[g>>0]=10;if((k|0)>0)jC(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;SA(j);break c}case 114:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=13;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=30;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=RA(i)|0;g=h+k|0;a[g>>0]=13;if((k|0)>0)jC(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;SA(j);break c}case 116:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=9;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=40;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=RA(i)|0;g=h+k|0;a[g>>0]=9;if((k|0)>0)jC(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;SA(j);break c}case 92:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=92;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=50;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=RA(i)|0;g=h+k|0;a[g>>0]=92;if((k|0)>0)jC(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;SA(j);break c}case 39:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=39;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=60;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=RA(i)|0;g=h+k|0;a[g>>0]=39;if((k|0)>0)jC(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;SA(j);break c}case 34:{g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=34;c[n>>2]=(c[n>>2]|0)+1;break c}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=70;break b}l=h-b|0;i=l<<1;i=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=RA(i)|0;g=h+k|0;a[g>>0]=34;if((k|0)>0)jC(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(!b)break c;SA(j);break c}default:{f=l+2|0;do if((Nx(g,u)|0)==0?(Nx(a[f>>0]|0,t)|0)==0:0){l=(c[u>>2]<<4|c[t>>2])&255;g=c[n>>2]|0;h=c[o>>2]|0;if(g>>>0<h>>>0){a[g>>0]=l;c[n>>2]=(c[n>>2]|0)+1;break}b=c[d>>2]|0;k=g-b|0;g=k+1|0;j=b;if((g|0)<0){f=82;break b}h=h-b|0;i=h<<1;i=h>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if(!i)h=0;else h=RA(i)|0;g=h+k|0;a[g>>0]=l;if((k|0)>0)jC(h|0,j|0,k|0)|0;c[d>>2]=h;c[n>>2]=g+1;c[o>>2]=h+i;if(b|0)SA(j)}while(0);break c}}}while(0);l=f+1|0}while(l>>>0<s>>>0)}m=m+12|0;if((m|0)==(p|0)){e=p;break a}}if((f|0)==20)yB();else if((f|0)==30)yB();else if((f|0)==40)yB();else if((f|0)==50)yB();else if((f|0)==60)yB();else if((f|0)==70)yB();else if((f|0)==82)yB();else if((f|0)==93)yB()}else e=q;while(0);f=(q|0)!=(e|0);if(!q){aa=w;return f|0}if((e|0)!=(q|0))do{e=e+-12|0;if((a[e+11>>0]|0)<0)SA(c[e>>2]|0)}while((e|0)!=(q|0));c[v>>2]=q;SA(q);aa=w;return f|0}function rq(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=aa;aa=aa+128|0;l=m+88|0;h=m+8|0;g=m;k=m+16|0;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{vp(l,c[b>>2]|0,b);j=c[f>>2]|0;c[f>>2]=j+1;j=b+16+(((c[e>>2]|0)+j&1)*40|0)|0;fy(j);dy(j,l);fy(l)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)==109){j=b+100|0;dy(k,b+16+(e*40|0)|0);e=b+16+((c[j>>2]&1)*40|0)|0;fy(e);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[j>>2]=c[j>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;e=c[k+24>>2]|0;switch(e|0){case -5:{if(!(a[(c[b+12>>2]|0)+4>>0]|0)){c[g>>2]=329741;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];c[l+16>>2]=c[k+16>>2];Gp(b,l,309946,g);e=1}else i=14;break}case -17:{if(!(a[(c[b+12>>2]|0)+9>>0]|0)){c[h>>2]=329701;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];c[l+16>>2]=c[k+16>>2];Gp(b,l,309946,h);e=1}else i=14;break}default:i=14}if((i|0)==14){c[d>>2]=e;e=0}fy(k);l=e;aa=m;return l|0}f=k+4|0;c[f>>2]=0;c[f+4>>2]=50331648;a[k>>0]=a[329758]|0;a[k+1>>0]=a[329759]|0;a[k+2>>0]=a[329760]|0;a[k+3>>0]=0;f=k+12|0;d=k+16|0;c[d>>2]=0;c[d+4>>2]=50331648;a[f>>0]=a[329754]|0;a[f+1>>0]=a[329755]|0;a[f+2>>0]=a[329756]|0;a[f+3>>0]=0;d=k+24|0;g=k+28|0;c[g>>2]=0;c[g+4>>2]=50331648;a[d>>0]=a[329750]|0;a[d+1>>0]=a[329751]|0;a[d+2>>0]=a[329752]|0;a[d+3>>0]=0;g=k+36|0;h=k+40|0;c[h>>2]=0;c[h+4>>2]=50331648;a[g>>0]=a[329746]|0;a[g+1>>0]=a[329747]|0;a[g+2>>0]=a[329748]|0;a[g+3>>0]=0;h=k+48|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a[h+11>>0]=4;c[h>>2]=942813558;a[k+52>>0]=0;o=k+60|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;a[o+11>>0]=6;a[o>>0]=a[329701]|0;a[o+1>>0]=a[329702]|0;a[o+2>>0]=a[329703]|0;a[o+3>>0]=a[329704]|0;a[o+4>>0]=a[329705]|0;a[o+5>>0]=a[329706]|0;a[o+6>>0]=0;i=l+4|0;j=RA(72)|0;c[l>>2]=j;n=j+72|0;c[l+8>>2]=n;VA(j,k);e=j+12|0;VA(e,f);f=j+24|0;VA(f,d);d=j+36|0;VA(d,g);g=j+48|0;VA(g,h);h=j+60|0;VA(h,o);c[i>>2]=n;Qp(b,l,0);if((a[j+71>>0]|0)<0)SA(c[h>>2]|0);if((a[j+59>>0]|0)<0)SA(c[g>>2]|0);if((a[j+47>>0]|0)<0)SA(c[d>>2]|0);if((a[j+35>>0]|0)<0)SA(c[f>>2]|0);if((a[j+23>>0]|0)<0)SA(c[e>>2]|0);if((a[j+11>>0]|0)<0)SA(c[j>>2]|0);c[i>>2]=j;SA(j);o=1;aa=m;return o|0}function sq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+96|0;i=j+48|0;g=j;h=j+8|0;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{vp(i,c[b>>2]|0,b);k=c[f>>2]|0;c[f>>2]=k+1;k=b+16+(((c[e>>2]|0)+k&1)*40|0)|0;fy(k);dy(k,i);fy(i)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)==109){k=b+100|0;dy(h,b+16+(e*40|0)|0);e=b+16+((c[k>>2]&1)*40|0)|0;fy(e);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[k>>2]=c[k>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;e=c[h+24>>2]|0;if((e|0)==-17?(a[(c[b+12>>2]|0)+9>>0]|0)==0:0){c[g>>2]=329701;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];Gp(b,i,309946,g);e=1}else{c[d>>2]=e;e=0}fy(h);k=e;aa=j;return k|0}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a[h+11>>0]=6;a[h>>0]=a[329701]|0;a[h+1>>0]=a[329702]|0;a[h+2>>0]=a[329703]|0;a[h+3>>0]=a[329704]|0;a[h+4>>0]=a[329705]|0;a[h+5>>0]=a[329706]|0;a[h+6>>0]=0;g=h+12|0;c[h+20>>2]=117440512;a[g>>0]=a[329733]|0;a[g+1>>0]=a[329734]|0;a[g+2>>0]=a[329735]|0;a[g+3>>0]=a[329736]|0;a[g+4>>0]=a[329737]|0;a[g+5>>0]=a[329738]|0;a[g+6>>0]=a[329739]|0;a[g+7>>0]=0;f=i+4|0;d=RA(24)|0;c[i>>2]=d;k=d+24|0;c[i+8>>2]=k;VA(d,h);e=d+12|0;VA(e,g);c[f>>2]=k;Qp(b,i,0);if((a[d+23>>0]|0)<0)SA(c[e>>2]|0);if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);c[f>>2]=d;SA(d);k=1;aa=j;return k|0}return 0}function tq(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;n=aa;aa=aa+112|0;m=n+8|0;k=n;l=n+88|0;j=n+48|0;f=b+96|0;if(!(c[f>>2]|0)){e=b+100|0;do{vp(m,c[b>>2]|0,b);h=c[f>>2]|0;c[f>>2]=h+1;h=b+16+(((c[e>>2]|0)+h&1)*40|0)|0;fy(h);dy(h,m);fy(m)}while(!(c[f>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=107){h=RA(16)|0;c[l>>2]=h;c[l+8>>2]=-2147483632;c[l+4>>2]=15;e=h;f=309973;g=e+15|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[h+15>>0]=0;e=m+4|0;f=RA(12)|0;c[m>>2]=f;k=f+12|0;c[m+8>>2]=k;VA(f,l);c[e>>2]=k;Qp(b,m,309989);if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);c[e>>2]=f;SA(f);SA(h);m=1;aa=n;return m|0}h=b+100|0;dy(j,b+16+(e*40|0)|0);e=b+16+((c[h>>2]&1)*40|0)|0;fy(e);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[h>>2]=c[h>>2]&1^1;c[f>>2]=(c[f>>2]|0)+-1;e=j+24|0;f=a[e+11>>0]|0;h=f<<24>>24<0;f=h?c[j+28>>2]|0:f&255;if(f>>>0>=3?(Bn(m,h?c[e>>2]|0:e,f,1,f+-2|0),g=m,h=c[g+4>>2]|0,g=c[g>>2]|0,i=g+h|0,(h|0)>0):0)while(1){f=a[g>>0]|0;e=g+1|0;if(f<<24>>24==92){f=a[e>>0]|0;switch(f<<24>>24|0){case 110:{nB(d,10);break}case 114:{nB(d,13);break}case 116:{nB(d,9);break}case 92:{nB(d,92);break}case 39:{nB(d,39);break}case 34:{nB(d,34);break}default:{e=g+2|0;if((Nx(f,m)|0)==0?(Nx(a[e>>0]|0,l)|0)==0:0)nB(d,(c[m>>2]<<4|c[l>>2])&255)}}e=e+1|0}else nB(d,f);if(e>>>0<i>>>0)g=e;else break}e=a[d+11>>0]|0;if(e<<24>>24<0){f=c[d>>2]|0;e=c[d+4>>2]|0}else{f=d;e=e&255}if(!(Cz(f,e)|0)){c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];c[m+16>>2]=c[j+16>>2];Gp(b,m,309995,k)}fy(j);m=0;aa=n;return m|0}function uq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+48|0;f=h;if((nq(b,d)|0)==1){b=1;aa=h;return b|0}g=b+96|0;if(!(c[g>>2]|0)){e=b+100|0;do{vp(f,c[b>>2]|0,b);i=c[g>>2]|0;c[g>>2]=i+1;i=b+16+(((c[e>>2]|0)+i&1)*40|0)|0;fy(i);dy(i,f);fy(f)}while(!(c[g>>2]|0))}else e=b+100|0;if((c[b+16+((c[e>>2]&1)*40|0)+20>>2]|0)==45)if((nq(b,d+8|0)|0)==1){i=1;aa=h;return i|0}else e=1;else e=0;a[d+16>>0]=e;if(!(Mp(b,32)|0)){i=0;aa=h;return i|0}a[d+17>>0]=1;i=0;aa=h;return i|0}function vq(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=aa;aa=aa+48|0;k=m+32|0;e=m+24|0;i=m;j=RA(376)|0;lC(j|0,0,212)|0;c[j+212>>2]=1065353216;l=j+216|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+232>>2]=1065353216;l=j+236|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+252>>2]=1065353216;l=j+256|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+272>>2]=1065353216;l=j+276|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+292>>2]=1065353216;l=j+296|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+312>>2]=1065353216;l=j+316|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+332>>2]=1065353216;l=j+336|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+352>>2]=1065353216;l=j+356|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[j+372>>2]=1065353216;l=j;a:do if(Kp(b,23)|0){c[k>>2]=0;if((wq(b,0,k)|0)==1){e=c[k>>2]|0;c[k>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);break}else{e=c[k>>2]|0;c[k>>2]=0;xq(j,e+8|0)|0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);f=15;break}}else{Jp(e,b);b:do if((c[e>>2]|0)==21){switch(c[e+4>>2]|0){case 34:case 33:case 22:case 18:case 17:case 36:case 15:case 14:case 13:case 11:case 10:break;default:break b}if((yq(b,j)|0)==1)break a;else{f=15;break a}}while(0);Mp(b,21)|0;h=RA(16)|0;c[i>>2]=h;c[i+8>>2]=-2147483632;c[i+4>>2]=14;e=h;f=310039;g=e+14|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[h+14>>0]=0;o=i+12|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;a[o+11>>0]=8;f=o;c[f>>2]=1869422689;c[f+4>>2]=1701606756;a[i+20>>0]=0;f=k+4|0;g=RA(24)|0;c[k>>2]=g;n=g+24|0;c[k+8>>2]=n;VA(g,i);e=g+12|0;VA(e,o);c[f>>2]=n;Qp(b,k,0);if((a[g+23>>0]|0)<0)SA(c[e>>2]|0);if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);c[f>>2]=g;SA(g);SA(h);f=15}while(0);if(((f|0)==15?(Op(b,12)|0)!=1:0)?(o=c[b+8>>2]|0,(c[o+4>>2]|0)==(c[o>>2]|0)):0){e=c[d>>2]|0;c[d>>2]=l;if(!e){o=0;aa=m;return o|0}db(e);SA(e);o=0;aa=m;return o|0}db(j);SA(j);o=1;aa=m;return o|0}function wq(d,e,f){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;x=aa;aa=aa+128|0;u=x+96|0;q=x+8|0;p=x;g=x+92|0;v=x+48|0;r=x+16|0;m=x+72|0;n=x+28|0;c[g>>2]=0;a:do if((Zq(d,g)|0)!=1){w=RA(384)|0;t=w;c[t>>2]=0;c[t+4>>2]=0;c[w>>2]=290088;t=w+8|0;lC(t|0,0,212)|0;c[w+220>>2]=1065353216;i=w+224|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+240>>2]=1065353216;i=w+244|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+260>>2]=1065353216;i=w+264|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+280>>2]=1065353216;i=w+284|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+300>>2]=1065353216;i=w+304|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+320>>2]=1065353216;i=w+324|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+340>>2]=1065353216;i=w+344|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+360>>2]=1065353216;i=w+364|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[w+380>>2]=1065353216;i=c[g>>2]|0;switch(c[i+4>>2]|0){case 0:{xq(t,i+8|0)|0;break}case 1:{a[v>>0]=0;a[v+1>>0]=1;s=v+2|0;o=s;b[o>>1]=0;b[o+2>>1]=0>>>16;s=s+4|0;b[s>>1]=0;b[s+2>>1]=0>>>16;c[v+12>>2]=0;a[v+16>>0]=0;a[v+17>>0]=1;a[v+18>>0]=1;c[r>>2]=0;s=r+4|0;c[s>>2]=0;c[r+8>>2]=0;o=c[i+40>>2]|0;Nc(310183,o,(c[i+44>>2]|0)-o|0,v,r,t)|0;cB(w+28|0,i+28|0)|0;o=i+8|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2];c[t+16>>2]=c[o+16>>2];k=c[r>>2]|0;l=c[s>>2]|0;if((k|0)!=(l|0)){do{j=k+12|0;if((c[j>>2]|0)==-1){c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];h=k+24|0;if((a[h+11>>0]|0)<0)h=c[h>>2]|0;c[p>>2]=h;c[u>>2]=c[m>>2];c[u+4>>2]=c[m+4>>2];c[u+8>>2]=c[m+8>>2];c[u+12>>2]=c[m+12>>2];c[u+16>>2]=c[m+16>>2];Gp(d,u,310190,p)}else{c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[n+16>>2]=c[o+16>>2];h=k+24|0;if((a[h+11>>0]|0)<0)h=c[h>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=h;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];c[u+16>>2]=c[n+16>>2];Gp(d,u,310217,q)}k=k+36|0}while((k|0)!=(l|0));k=c[r>>2]|0}if(k|0){h=c[s>>2]|0;if((h|0)==(k|0))h=k;else{do{j=h+-12|0;h=h+-36|0;if((a[j+11>>0]|0)<0)SA(c[j>>2]|0)}while((h|0)!=(k|0));h=c[r>>2]|0}c[s>>2]=k;SA(h)}break}case 2:{m=RA(16)|0;c[v>>2]=m;c[v+8>>2]=-2147483632;c[v+4>>2]=15;h=m;j=310254;k=h+15|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));a[m+15>>0]=0;l=RA(16)|0;c[v+12>>2]=l;c[v+20>>2]=-2147483632;c[v+16>>2]=13;h=l;j=310270;k=h+13|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));a[l+13>>0]=0;h=u+4|0;j=RA(24)|0;c[u>>2]=j;f=j+24|0;c[u+8>>2]=f;VA(j,v);k=j+12|0;VA(k,v+12|0);c[h>>2]=f;Qp(d,u,0);if((a[j+23>>0]|0)<0)SA(c[k>>2]|0);if((a[j+11>>0]|0)<0)SA(c[j>>2]|0);c[h>>2]=j;SA(j);SA(l);SA(m);ma[c[(c[w>>2]|0)+4>>2]&255](w);h=1;break a}default:{}}if(e|0){j=(c[e+4>>2]|0)-(c[e>>2]|0)>>2;h=a[w+39>>0]|0;if(h<<24>>24<0)h=c[w+32>>2]|0;else h=h&255;if(h|0){c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];c[v+12>>2]=c[t+12>>2];c[v+16>>2]=c[t+16>>2];c[v+20>>2]=j;e=e+12|0;Ig(u,e,w+28|0,v);Ag(e,c[u>>2]|0)}c[d+4>>2]=j}h=c[f>>2]|0;c[f>>2]=w;if(!h)h=0;else{ma[c[(c[h>>2]|0)+4>>2]&255](h);h=0}}else{i=c[g>>2]|0;h=1}while(0);c[g>>2]=0;if(!i){aa=x;return h|0}ma[c[(c[i>>2]|0)+4>>2]&255](i);aa=x;return h|0}function xq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=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];f=b+20|0;g=d+20|0;e=f+11|0;if((a[e>>0]|0)<0){a[c[f>>2]>>0]=0;c[b+24>>2]=0;e=f}else{a[f>>0]=0;a[e>>0]=0;e=f}gB(f);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;f=b+32|0;g=d+32|0;e=c[f>>2]|0;if(e|0)do{h=e;e=c[e+4>>2]|0;ma[c[(c[h>>2]|0)+4>>2]&255](h)}while((e|0)!=0);h=b+36|0;c[h>>2]=0;c[f>>2]=0;i=b+40|0;c[i>>2]=0;c[f>>2]=c[g>>2];e=d+36|0;c[h>>2]=c[e>>2];h=d+40|0;c[i>>2]=c[h>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+44|0;h=d+44|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];g=b+64|0;h=d+64|0;e=c[g>>2]|0;if(!e){e=b+68|0;f=b+72|0}else{i=b+68|0;c[i>>2]=e;SA(e);f=b+72|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+68|0;c[e>>2]=c[g>>2];e=d+72|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+76|0;h=d+76|0;e=c[g>>2]|0;if(!e){e=b+80|0;f=b+84|0}else{i=b+80|0;c[i>>2]=e;SA(e);f=b+84|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+80|0;c[e>>2]=c[g>>2];e=d+84|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+88|0;h=d+88|0;e=c[g>>2]|0;if(!e){e=b+92|0;f=b+96|0}else{i=b+92|0;c[i>>2]=e;SA(e);f=b+96|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+92|0;c[e>>2]=c[g>>2];e=d+96|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+100|0;h=d+100|0;e=c[g>>2]|0;if(!e){e=b+104|0;f=b+108|0}else{i=b+104|0;c[i>>2]=e;SA(e);f=b+108|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+104|0;c[e>>2]=c[g>>2];e=d+108|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+112|0;h=d+112|0;e=c[g>>2]|0;if(!e){e=b+116|0;f=b+120|0}else{i=b+116|0;c[i>>2]=e;SA(e);f=b+120|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+116|0;c[e>>2]=c[g>>2];e=d+120|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+124|0;h=d+124|0;e=c[g>>2]|0;if(!e){e=b+128|0;f=b+132|0}else{i=b+128|0;c[i>>2]=e;SA(e);f=b+132|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+128|0;c[e>>2]=c[g>>2];e=d+132|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+136|0;h=d+136|0;e=c[g>>2]|0;if(!e){e=b+140|0;f=b+144|0}else{i=b+140|0;c[i>>2]=e;SA(e);f=b+144|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+140|0;c[e>>2]=c[g>>2];e=d+144|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+148|0;h=d+148|0;e=c[g>>2]|0;if(!e){e=b+152|0;f=b+156|0}else{i=b+152|0;c[i>>2]=e;SA(e);f=b+156|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+152|0;c[e>>2]=c[g>>2];e=d+156|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+160|0;h=d+160|0;e=c[g>>2]|0;if(!e){e=b+164|0;f=b+168|0}else{i=b+164|0;c[i>>2]=e;SA(e);f=b+168|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+164|0;c[e>>2]=c[g>>2];e=d+168|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+172|0;h=d+172|0;e=c[g>>2]|0;if(!e){e=b+176|0;f=b+180|0}else{i=b+176|0;c[i>>2]=e;SA(e);f=b+180|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];g=d+176|0;c[e>>2]=c[g>>2];e=d+180|0;c[f>>2]=c[e>>2];c[e>>2]=0;c[g>>2]=0;c[h>>2]=0;g=b+184|0;h=d+184|0;e=c[g>>2]|0;if(!e){e=b+188|0;f=b+192|0}else{i=b+188|0;c[i>>2]=e;SA(e);f=b+192|0;c[f>>2]=0;c[i>>2]=0;c[g>>2]=0;e=i}c[g>>2]=c[h>>2];i=d+188|0;c[e>>2]=c[i>>2];g=d+192|0;c[f>>2]=c[g>>2];c[g>>2]=0;c[i>>2]=0;c[h>>2]=0;Yq(b+196|0,d+196|0);Yq(b+216|0,d+216|0);Yq(b+236|0,d+236|0);Yq(b+256|0,d+256|0);Yq(b+276|0,d+276|0);Yq(b+296|0,d+296|0);Yq(b+316|0,d+316|0);Yq(b+336|0,d+336|0);Yq(b+356|0,d+356|0);return b|0}function yq(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;v=aa;aa=aa+64|0;q=v+48|0;t=v+8|0;e=v;Jp(e,b);a:do if((c[e>>2]|0)==21){f=e+4|0;while(1){switch(c[f>>2]|0){case 34:case 33:case 22:case 18:case 17:case 36:case 15:case 14:case 13:case 11:case 10:break;default:break a}if((zq(b,d)|0)==1?(Pp(b,101)|0)==1:0){e=1;break}Jp(e,b);if((c[e>>2]|0)!=21)break a}aa=v;return e|0}while(0);e=c[d+32>>2]|0;if(!e){u=0;aa=v;return u|0}o=q+4|0;i=t+28|0;j=t+16|0;l=t+32|0;k=t+4|0;m=t+20|0;n=t+8|0;while(1){h=e;f=e;b:do switch(c[h+32>>2]|0){case 0:{b=f+48|0;f=f+36|0;u=16;break}case 10:{b=e+48|0;f=0;u=16;break}case 2:{f=c[e+36>>2]|0;b=c[f+28>>2]|0;g=(f|0)==0;if(!(g|(b|0)!=0)){b=f+44|0;f=0;u=16;break b}if(!(g|(b|0)!=4)){b=f+44|0;f=0;u=16}break}default:{}}while(0);if((u|0)==16){u=0;if((((a[b>>0]|0?(r=b+40|0,(c[b+52>>2]|0)==(c[b+56>>2]|0)):0)?(c[r>>2]|0)==(c[b+44>>2]|0):0)?(p=Sk(d,b+4|0)|0,p|0):0)?(s=p+12|0,(r|0)!=(s|0)):0){vg(r,c[s>>2]|0,c[p+16>>2]|0);vg(b+52|0,c[p+24>>2]|0,c[p+28>>2]|0)}Bq(h+12|0,d,b);if(f|0){c[q>>2]=289828;c[o>>2]=d;Bj(t,q);Jj(t,f)|0;f=c[i>>2]|0;if(f|0){c[l>>2]=f;SA(f)}f=c[j>>2]|0;if(f|0){c[m>>2]=f;SA(f)}f=c[k>>2]|0;if(f|0){c[n>>2]=f;SA(f)}}}e=c[e+4>>2]|0;if(!e){e=0;break}}aa=v;return e|0}function zq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;e=g;f=a+96|0;if((c[f>>2]|0)>>>0>1)d=a+100|0;else{d=a+100|0;do{vp(e,c[a>>2]|0,a);h=c[f>>2]|0;c[f>>2]=h+1;h=a+16+(((c[d>>2]|0)+h&1)*40|0)|0;fy(h);dy(h,e);fy(e)}while((c[f>>2]|0)>>>0<=1)}do switch(c[a+16+((c[d>>2]&1^1)*40|0)+20>>2]|0){case 10:{d=Jq(a,b)|0;break}case 11:{d=Kq(a,b)|0;break}case 13:{d=Lq(a,b)|0;break}case 14:{d=Mq(a,b)|0;break}case 15:{d=Nq(a,b)|0;break}case 36:{d=Oq(a,b)|0;break}case 17:{d=Pq(a,b)|0;break}case 18:{d=Qq(a,b)|0;break}case 22:{d=Rq(a,b)|0;break}case 33:{d=Sq(a,b)|0;break}case 34:{d=Tq(a,b)|0;break}default:d=1}while(0);aa=g;return d|0}function Aq(a){a=a|0;if((c[a>>2]|0)!=21)return 0;a=(c[a+4>>2]|0)+-10|0;if(a>>>0<27)return (92279227>>>(a&134217727)&1|0)!=0|0;else return 0;return 0}function Bq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=aa;aa=aa+16|0;h=i;if(a[e>>0]|0){aa=i;return}g=e+40|0;if((Uk(d,g)|0)!=-1){aa=i;return}f=RA(72)|0;c[f+4>>2]=0;c[f+8>>2]=0;j=f+12|0;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];c[f+32>>2]=4;c[f>>2]=288788;An(f+36|0,0,0);b=f+48|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;if((g|0)!=(b|0)){vg(b,c[g>>2]|0,c[e+44>>2]|0);vg(f+60|0,c[e+52>>2]|0,c[e+56>>2]|0)}c[h>>2]=f;el(d,h);b=c[h>>2]|0;c[h>>2]=0;if(!b){aa=i;return}ma[c[(c[b>>2]|0)+4>>2]&255](b);aa=i;return}function Cq(a){a=a|0;SA(a);return}function Dq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d+12|0;h=d+48|0;f=b+4|0;e=c[f>>2]|0;b=d+88|0;if((((a[h>>0]|0?(c[d+100>>2]|0)==(c[d+104>>2]|0):0)?(c[b>>2]|0)==(c[d+92>>2]|0):0)?(g=Sk(e,d+52|0)|0,g|0):0)?(j=g+12|0,(b|0)!=(j|0)):0){vg(b,c[j>>2]|0,c[g+16>>2]|0);vg(d+100|0,c[g+24>>2]|0,c[g+28>>2]|0)}if((c[d+92>>2]|0)==(c[b>>2]|0)?(c[d+104>>2]|0)-(c[d+100>>2]|0)>>2>>>0<2:0)return 0;Bq(i,c[f>>2]|0,h);return 0}function Eq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+4|0;b=c[e>>2]|0;g=d+36|0;if(((((a[g>>0]|0)!=0?(h=d+76|0,(c[d+88>>2]|0)==(c[d+92>>2]|0)):0)?(c[h>>2]|0)==(c[d+80>>2]|0):0)?(f=Sk(b,d+40|0)|0,(f|0)!=0):0)?(i=f+12|0,(h|0)!=(i|0)):0){vg(h,c[i>>2]|0,c[f+16>>2]|0);vg(d+88|0,c[f+24>>2]|0,c[f+28>>2]|0);b=c[e>>2]|0}Bq(d+12|0,b,g);return 0}function Fq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d+12|0;h=d+48|0;f=b+4|0;e=c[f>>2]|0;b=d+88|0;if((((a[h>>0]|0?(c[d+100>>2]|0)==(c[d+104>>2]|0):0)?(c[b>>2]|0)==(c[d+92>>2]|0):0)?(g=Sk(e,d+52|0)|0,g|0):0)?(j=g+12|0,(b|0)!=(j|0)):0){vg(b,c[j>>2]|0,c[g+16>>2]|0);vg(d+100|0,c[g+24>>2]|0,c[g+28>>2]|0)}if((c[d+92>>2]|0)==(c[b>>2]|0)?(c[d+104>>2]|0)-(c[d+100>>2]|0)>>2>>>0<2:0)return 0;Bq(i,c[f>>2]|0,h);return 0}function Gq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d+12|0;h=d+48|0;f=b+4|0;e=c[f>>2]|0;b=d+88|0;if((((a[h>>0]|0?(c[d+100>>2]|0)==(c[d+104>>2]|0):0)?(c[b>>2]|0)==(c[d+92>>2]|0):0)?(g=Sk(e,d+52|0)|0,g|0):0)?(j=g+12|0,(b|0)!=(j|0)):0){vg(b,c[j>>2]|0,c[g+16>>2]|0);vg(d+100|0,c[g+24>>2]|0,c[g+28>>2]|0)}if((c[d+92>>2]|0)==(c[b>>2]|0)?(c[d+104>>2]|0)-(c[d+100>>2]|0)>>2>>>0<2:0)return 0;Bq(i,c[f>>2]|0,h);return 0}function Hq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+4|0;b=c[e>>2]|0;g=d+36|0;if(((((a[g>>0]|0)!=0?(h=d+76|0,(c[d+88>>2]|0)==(c[d+92>>2]|0)):0)?(c[h>>2]|0)==(c[d+80>>2]|0):0)?(f=Sk(b,d+40|0)|0,(f|0)!=0):0)?(i=f+12|0,(h|0)!=(i|0)):0){vg(h,c[i>>2]|0,c[f+16>>2]|0);vg(d+88|0,c[f+24>>2]|0,c[f+28>>2]|0);b=c[e>>2]|0}Bq(d+12|0,b,g);return 0}function Iq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d+12|0;h=d+48|0;f=b+4|0;e=c[f>>2]|0;b=d+88|0;if((((a[h>>0]|0?(c[d+100>>2]|0)==(c[d+104>>2]|0):0)?(c[b>>2]|0)==(c[d+92>>2]|0):0)?(g=Sk(e,d+52|0)|0,g|0):0)?(j=g+12|0,(b|0)!=(j|0)):0){vg(b,c[j>>2]|0,c[g+16>>2]|0);vg(d+100|0,c[g+24>>2]|0,c[g+28>>2]|0)}if((c[d+92>>2]|0)==(c[b>>2]|0)?(c[d+104>>2]|0)-(c[d+100>>2]|0)>>2>>>0<2:0)return 0;Bq(i,c[f>>2]|0,h);return 0}function Jq(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;s=aa;aa=aa+160|0;f=s+120|0;k=s+96|0;r=s+40|0;h=s+56|0;i=s+4|0;p=s;if((Op(b,21)|0)==1){r=1;aa=s;return r|0}Ip(k,b);if((Op(b,10)|0)==1)e=1;else{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Sp(b,r);o=RA(112)|0;q=r+11|0;l=a[q>>0]|0;j=l<<24>>24<0;g=j?c[r>>2]|0:r;l=j?c[r+4>>2]|0:l&255;c[o+4>>2]=0;c[o+8>>2]=0;j=o+12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[o+32>>2]=8;c[o>>2]=287700;An(o+36|0,g,l);l=o+48|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;wl(l,-1,f);g=o+84|0;a[g>>0]=0;j=o+88|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;n=o;m=b+96|0;if(!(c[m>>2]|0)){e=b+100|0;do{vp(f,c[b>>2]|0,b);t=c[m>>2]|0;c[m>>2]=t+1;t=b+16+(((c[e>>2]|0)+t&1)*40|0)|0;fy(t);dy(t,f);fy(f)}while(!(c[m>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=27){wl(i,0,k);Up(b,l,i)|0;Dl(i);if((Vp(b,j)|0)==1)f=13;else f=10}else{f=b+100|0;dy(h,b+16+(e*40|0)|0);t=b+16+((c[f>>2]&1)*40|0)|0;fy(t);c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[m>>2]=(c[m>>2]|0)+-1;fy(h);a[g>>0]=1;f=10}if((f|0)==10){qq(b,o+100|0)|0;if((Op(b,31)|0)!=1){c[p>>2]=n;Wk(d,p);e=c[p>>2]|0;c[p>>2]=0;if(!e)e=0;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);e=0}}else f=13}if((f|0)==13){ma[c[(c[o>>2]|0)+4>>2]&255](o);e=1}if((a[q>>0]|0)<0)SA(c[r>>2]|0)}t=e;aa=s;return t|0}function Kq(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;s=aa;aa=aa+160|0;f=s+120|0;k=s+96|0;r=s+40|0;h=s+56|0;i=s+4|0;p=s;if((Op(b,21)|0)==1){r=1;aa=s;return r|0}Ip(k,b);if((Op(b,11)|0)==1)e=1;else{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Sp(b,r);o=RA(112)|0;q=r+11|0;m=a[q>>0]|0;j=m<<24>>24<0;g=j?c[r>>2]|0:r;m=j?c[r+4>>2]|0:m&255;c[o+4>>2]=0;c[o+8>>2]=0;j=o+12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[o+32>>2]=6;c[o>>2]=287716;An(o+36|0,g,m);m=o+48|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;wl(m,-1,f);g=o+84|0;a[g>>0]=0;j=o+88|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;n=o;l=b+96|0;if(!(c[l>>2]|0)){e=b+100|0;do{vp(f,c[b>>2]|0,b);t=c[l>>2]|0;c[l>>2]=t+1;t=b+16+(((c[e>>2]|0)+t&1)*40|0)|0;fy(t);dy(t,f);fy(f)}while(!(c[l>>2]|0))}else e=b+100|0;e=c[e>>2]&1;if((c[b+16+(e*40|0)+20>>2]|0)!=27){wl(i,0,k);Up(b,m,i)|0;Dl(i);if((Vp(b,j)|0)==1)f=13;else f=10}else{f=b+100|0;dy(h,b+16+(e*40|0)|0);t=b+16+((c[f>>2]&1)*40|0)|0;fy(t);c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[l>>2]=(c[l>>2]|0)+-1;fy(h);a[g>>0]=1;f=10}if((f|0)==10){jq(b,o+100|0)|0;if((Op(b,31)|0)!=1){c[p>>2]=n;Yk(d,p);e=c[p>>2]|0;c[p>>2]=0;if(!e)e=0;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);e=0}}else f=13}if((f|0)==13){ma[c[(c[o>>2]|0)+4>>2]&255](o);e=1}if((a[q>>0]|0)<0)SA(c[r>>2]|0)}t=e;aa=s;return t|0}function Lq(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=aa;aa=aa+48|0;f=l+24|0;e=l+4|0;k=l;if((Op(b,21)|0)==1){k=1;aa=l;return k|0}Ip(e,b);j=RA(112)|0;c[j+4>>2]=0;c[j+8>>2]=0;h=j+12|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[j+32>>2]=10;c[j>>2]=287684;h=j+36|0;An(h,0,0);g=j+48|0;a[g>>0]=0;i=j+52|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;wl(i,-1,f);f=j+88|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;e=j;do if((Op(b,13)|0)!=1){Sp(b,h);if(Np(b,36)|0){a[g>>0]=1;if((Tp(b,i)|0)==1)break;if((Op(b,31)|0)==1)break}else a[g>>0]=0;if((fq(b,f)|0)!=1?(Op(b,31)|0)!=1:0){c[k>>2]=e;_k(d,k);e=c[k>>2]|0;c[k>>2]=0;if(!e){k=0;aa=l;return k|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);k=0;aa=l;return k|0}}while(0);ma[c[(c[j>>2]|0)+4>>2]&255](j);k=1;aa=l;return k|0}function Mq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;f=i+24|0;d=i+4|0;h=i;if((Op(a,21)|0)==1){h=1;aa=i;return h|0}Ip(d,a);g=RA(88)|0;c[g+4>>2]=0;c[g+8>>2]=0;e=g+12|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[e+16>>2]=c[d+16>>2];c[g+32>>2]=3;c[g>>2]=288596;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=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;wl(g+52|0,-1,f);d=g;if((((Op(a,14)|0)!=1?(tq(a,e)|0)!=1:0)?(Xq(a,e)|0)!=1:0)?(Op(a,31)|0)!=1:0){c[h>>2]=d;al(b,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){h=0;aa=i;return h|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);h=0;aa=i;return h|0}ma[c[(c[g>>2]|0)+4>>2]&255](g);h=1;aa=i;return h|0}function Nq(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;t=aa;aa=aa+112|0;q=t+92|0;g=t;p=t+56|0;e=t+28|0;s=t+16|0;r=t+4|0;o=t+52|0;n=t+48|0;if((Op(b,21)|0)==1){s=1;aa=t;return s|0}Ip(e,b);if((Op(b,15)|0)==1)e=1;else{c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Sp(b,s);c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;a:do if((Uq(b,r,0)|0)==1)e=1;else{b:do if(Kp(b,18)|0){f=d+76|0;e=d+80|0;if(!((((((c[e>>2]|0)-(c[f>>2]|0)>>2|0)==(c[d+48>>2]|0)?((c[d+140>>2]|0)-(c[d+136>>2]|0)>>2|0)==(c[d+52>>2]|0):0)?((c[d+164>>2]|0)-(c[d+160>>2]|0)>>2|0)==(c[d+56>>2]|0):0)?((c[d+92>>2]|0)-(c[d+88>>2]|0)>>2|0)==(c[d+60>>2]|0):0)?((c[d+68>>2]|0)-(c[d+64>>2]|0)>>2|0)==(c[d+44>>2]|0):0)){Ip(p,b);c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];Gp(b,q,310113,g)}n=RA(152)|0;h=a[s+11>>0]|0;i=h<<24>>24<0;k=i?c[s>>2]|0:s;h=i?c[s+4>>2]|0:h&255;i=n+4|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[n>>2]=288772;An(n+32|0,k,h);h=n+44|0;a[h>>0]=0;k=n+48|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;wl(k,-1,q);j=n+84|0;g=n+136|0;l=j;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[g>>2]=1065353216;c[n+140>>2]=0;c[n+144>>2]=0;c[n+148>>2]=0;l=n;if(((((Op(b,21)|0)!=1?(Op(b,18)|0)!=1:0)?(tq(b,i)|0)!=1:0)?(tq(b,n+16|0)|0)!=1:0)?(Op(b,31)|0)!=1:0){do if(Np(b,36)|0){a[h>>0]=1;if((Tp(b,k)|0)!=1?(Op(b,31)|0)!=1:0)break;ma[c[(c[n>>2]|0)+4>>2]&255](n);e=1;break a}else a[h>>0]=0;while(0);c:do if((Vq(b,26,j,n+120|0,0)|0)!=1){g=n+96|0;if(Np(b,30)|0)do{gq(b,g);if((Op(b,31)|0)==1)break c}while(Np(b,30)|0);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;a[p+11>>0]=4;c[p>>2]=1701869940;a[p+4>>0]=0;k=p+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;a[k+11>>0]=5;a[k>>0]=a[329112]|0;a[k+1>>0]=a[329113]|0;a[k+2>>0]=a[329114]|0;a[k+3>>0]=a[329115]|0;a[k+4>>0]=a[329116]|0;a[k+5>>0]=0;m=p+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;a[m+11>>0]=6;a[m>>0]=a[329141]|0;a[m+1>>0]=a[329142]|0;a[m+2>>0]=a[329143]|0;a[m+3>>0]=a[329144]|0;a[m+4>>0]=a[329145]|0;a[m+5>>0]=a[329146]|0;a[m+6>>0]=0;g=q+4|0;h=RA(36)|0;c[q>>2]=h;i=h+36|0;c[q+8>>2]=i;VA(h,p);j=h+12|0;VA(j,k);k=h+24|0;VA(k,m);c[g>>2]=i;i=(Rp(b,q)|0)==1;if((a[h+35>>0]|0)<0)SA(c[k>>2]|0);if((a[h+23>>0]|0)<0)SA(c[j>>2]|0);if((a[h+11>>0]|0)<0)SA(c[h>>2]|0);c[g>>2]=h;SA(h);if(i){ma[c[(c[n>>2]|0)+4>>2]&255](n);e=1;break a}Ip(q,b);g=RA(40)|0;c[g+4>>2]=0;c[g+8>>2]=0;n=g+12|0;c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];c[n+16>>2]=c[q+16>>2];c[g+32>>2]=2;c[g>>2]=288692;c[g+36>>2]=l;c[o>>2]=g;il(d,o);g=c[o>>2]|0;c[o>>2]=0;if(!g)break b;ma[c[(c[g>>2]|0)+4>>2]&255](g);break b}while(0);ma[c[(c[n>>2]|0)+4>>2]&255](n);e=1;break a}ma[c[(c[n>>2]|0)+4>>2]&255](n);e=1;break a}else{k=RA(156)|0;g=a[s+11>>0]|0;j=g<<24>>24<0;h=j?c[s>>2]|0:s;g=j?c[s+4>>2]|0:g&255;c[k+4>>2]=0;c[k+8>>2]=0;j=k+12|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[k+32>>2]=0;c[k>>2]=288660;An(k+36|0,h,g);g=k+48|0;a[g>>0]=0;h=k+52|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;wl(h,-1,q);j=k+88|0;e=k+140|0;l=j;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[e>>2]=1065353216;i=k+144|0;c[i>>2]=0;c[k+148>>2]=0;c[k+152>>2]=0;f=k;if(Np(b,36)|0){a[g>>0]=1;if((Tp(b,h)|0)!=1?(Op(b,31)|0)!=1:0)l=38;else{e=1;l=50}}else{a[g>>0]=0;l=38}d:do if((l|0)==38){g=k+124|0;if((Vq(b,26,j,g,0)|0)!=1){e=k+100|0;if(Np(b,30)|0)do{gq(b,e);if((Op(b,31)|0)==1){e=1;l=50;break d}}while(Np(b,30)|0);c[q>>2]=0;h=q+4|0;c[h>>2]=0;c[q+8>>2]=0;if((Vq(b,20,q,g,(c[k+92>>2]|0)-(c[j>>2]|0)>>2)|0)!=1?(Fk(k+112|0,q),(Wp(b,i)|0)!=1):0){c[n>>2]=f;cl(d,n);e=c[n>>2]|0;c[n>>2]=0;if(!e){e=0;f=0}else{ma[c[(c[e>>2]|0)+4>>2]&255](e);e=0;f=0}}else e=1;g=c[q>>2]|0;if(g|0){c[h>>2]=g;SA(g)}if(f)l=50}else{e=1;l=50}}while(0);if((l|0)==50)ma[c[(c[f>>2]|0)+4>>2]&255](f);if(e|0){e=1;break a}f=d+76|0;e=d+80|0}while(0);f=((c[e>>2]|0)-(c[f>>2]|0)>>2)+-1|0;e=(c[d+36>>2]|0)+12|0;c[q>>2]=c[e>>2];c[q+4>>2]=c[e+4>>2];c[q+8>>2]=c[e+8>>2];c[q+12>>2]=c[e+12>>2];c[q+16>>2]=c[e+16>>2];e=c[r>>2]|0;if(e|0)do{wl(p,f,q);yl(e+52|0,p)|0;Dl(p);e=c[e+4>>2]|0}while((e|0)!=0);sl(d,r);e=(Op(b,31)|0)==1&1}while(0);f=c[r>>2]|0;if(f|0)do{r=f;f=c[f+4>>2]|0;ma[c[(c[r>>2]|0)+4>>2]&255](r)}while((f|0)!=0);if((a[s+11>>0]|0)<0)SA(c[s>>2]|0)}s=e;aa=t;return s|0}function Oq(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;n=aa;aa=aa+64|0;m=n+40|0;k=n+28|0;j=n;l=n+24|0;if((Op(b,21)|0)==1){m=1;aa=n;return m|0}Ip(m,b);e=RA(72)|0;c[e+4>>2]=0;c[e+8>>2]=0;g=e+12|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];c[g+16>>2]=c[m+16>>2];c[e+32>>2]=4;c[e>>2]=288788;g=e+36|0;An(g,0,0);h=e+48|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;f=e;if(((Op(b,36)|0)!=1?(Sp(b,g),(Op(b,21)|0)!=1):0)?(Op(b,15)|0)!=1:0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=1065353216;a:do if((Vq(b,26,h,m,0)|0)!=1){e=e+60|0;if(Np(b,30)|0)do{gq(b,e);if((Op(b,31)|0)==1){e=1;break a}}while(Np(b,30)|0);c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;a[j+11>>0]=5;a[j>>0]=a[329112]|0;a[j+1>>0]=a[329113]|0;a[j+2>>0]=a[329114]|0;a[j+3>>0]=a[329115]|0;a[j+4>>0]=a[329116]|0;a[j+5>>0]=0;o=j+12|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;a[o+11>>0]=6;a[o>>0]=a[329141]|0;a[o+1>>0]=a[329142]|0;a[o+2>>0]=a[329143]|0;a[o+3>>0]=a[329144]|0;a[o+4>>0]=a[329145]|0;a[o+5>>0]=a[329146]|0;a[o+6>>0]=0;h=k+4|0;i=RA(24)|0;c[k>>2]=i;e=i+24|0;c[k+8>>2]=e;VA(i,j);g=i+12|0;VA(g,o);c[h>>2]=e;e=(Rp(b,k)|0)==1;if((a[i+23>>0]|0)<0)SA(c[g>>2]|0);if((a[i+11>>0]|0)<0)SA(c[i>>2]|0);c[h>>2]=i;SA(i);if((!e?(Op(b,31)|0)!=1:0)?(Op(b,31)|0)!=1:0){c[l>>2]=f;el(d,l);e=c[l>>2]|0;c[l>>2]=0;if(!e){f=0;e=0}else{ma[c[(c[e>>2]|0)+4>>2]&255](e);f=0;e=0}}else e=1}else e=1;while(0);g=c[m+8>>2]|0;if(g|0)do{h=g;g=c[g>>2]|0;i=h+8|0;if((a[i+11>>0]|0)<0)SA(c[i>>2]|0);SA(h)}while((g|0)!=0);g=c[m>>2]|0;c[m>>2]=0;if(g|0)SA(g);if(!f){o=e;aa=n;return o|0}}else e=1;ma[c[(c[f>>2]|0)+4>>2]&255](f);o=e;aa=n;return o|0}function Pq(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;n=aa;aa=aa+112|0;k=n+92|0;e=n;j=n+56|0;g=n+36|0;m=n+20|0;l=n+4|0;i=n+32|0;h=n+16|0;if((Op(b,21)|0)==1){m=1;aa=n;return m|0}Ip(g,b);if((Op(b,17)|0)==1)e=1;else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Sp(b,m);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;a:do if((Uq(b,l,3)|0)==1)e=1;else{do if(!(Kp(b,18)|0)){f=RA(68)|0;e=a[m+11>>0]|0;i=e<<24>>24<0;o=i?c[m>>2]|0:m;e=i?c[m+4>>2]|0:e&255;c[f+4>>2]=0;c[f+8>>2]=0;i=f+12|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];c[i+16>>2]=c[g+16>>2];c[f+32>>2]=1;c[f>>2]=288612;i=f+36|0;An(i,o,e);c[f+48>>2]=-64;a[f+52>>0]=0;e=f+56|0;c[e>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;if((Wq(b,i)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}if((Wp(b,e)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}c[h>>2]=f;gl(d,h);e=c[h>>2]|0;c[h>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e)}else{if(!((((((c[d+80>>2]|0)-(c[d+76>>2]|0)>>2|0)==(c[d+48>>2]|0)?((c[d+140>>2]|0)-(c[d+136>>2]|0)>>2|0)==(c[d+52>>2]|0):0)?((c[d+164>>2]|0)-(c[d+160>>2]|0)>>2|0)==(c[d+56>>2]|0):0)?((c[d+92>>2]|0)-(c[d+88>>2]|0)>>2|0)==(c[d+60>>2]|0):0)?((c[d+68>>2]|0)-(c[d+64>>2]|0)>>2|0)==(c[d+44>>2]|0):0)){Ip(j,b);c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];c[k+16>>2]=c[j+16>>2];Gp(b,k,310113,e)}f=RA(64)|0;e=a[m+11>>0]|0;g=e<<24>>24<0;o=g?c[m>>2]|0:m;e=g?c[m+4>>2]|0:e&255;g=f+4|0;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;c[f+28>>2]=3;c[f>>2]=288724;h=f+32|0;An(h,o,e);c[f+44>>2]=-64;a[f+48>>0]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;e=f;if(((((Op(b,21)|0)!=1?(Op(b,18)|0)!=1:0)?(tq(b,g)|0)!=1:0)?(tq(b,f+16|0)|0)!=1:0)?(Op(b,31)|0)!=1:0){if((Wq(b,h)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}Ip(k,b);o=RA(40)|0;c[o+4>>2]=0;c[o+8>>2]=0;h=o+12|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[o+32>>2]=2;c[o>>2]=288692;c[o+36>>2]=e;c[i>>2]=o;il(d,i);e=c[i>>2]|0;c[i>>2]=0;if(!e)break;ma[c[(c[e>>2]|0)+4>>2]&255](e);break}ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}while(0);f=((c[d+92>>2]|0)-(c[d+88>>2]|0)>>2)+-1|0;e=(c[d+36>>2]|0)+12|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];e=c[l>>2]|0;if(e|0)do{wl(j,f,k);yl(e+52|0,j)|0;Dl(j);e=c[e+4>>2]|0}while((e|0)!=0);sl(d,l);e=(Op(b,31)|0)==1&1}while(0);f=c[l>>2]|0;if(f|0)do{o=f;f=c[f+4>>2]|0;ma[c[(c[o>>2]|0)+4>>2]&255](o)}while((f|0)!=0);if((a[m+11>>0]|0)<0)SA(c[m>>2]|0)}o=e;aa=n;return o|0}function Qq(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=aa;aa=aa+352|0;o=v+312|0;f=v;t=v+288|0;p=v+224|0;u=v+168|0;s=v+112|0;h=v+248|0;n=v+8|0;i=v+184|0;j=v+128|0;k=v+72|0;l=v+32|0;q=v+4|0;if((Op(d,21)|0)==1){u=1;aa=v;return u|0}Ip(p,d);if(!((((((c[e+80>>2]|0)-(c[e+76>>2]|0)>>2|0)==(c[e+48>>2]|0)?((c[e+140>>2]|0)-(c[e+136>>2]|0)>>2|0)==(c[e+52>>2]|0):0)?((c[e+164>>2]|0)-(c[e+160>>2]|0)>>2|0)==(c[e+56>>2]|0):0)?((c[e+92>>2]|0)-(c[e+88>>2]|0)>>2|0)==(c[e+60>>2]|0):0)?((c[e+68>>2]|0)-(c[e+64>>2]|0)>>2|0)==(c[e+44>>2]|0):0)){Ip(t,d);c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];c[o+16>>2]=c[t+16>>2];Gp(d,o,310113,f)}if((Op(d,18)|0)==1)f=1;else{c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;if(((tq(d,t)|0)!=1?(tq(d,u)|0)!=1:0)?(Op(d,21)|0)!=1:0){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;g=d+96|0;if(!(c[g>>2]|0)){f=d+100|0;do{vp(o,c[d>>2]|0,d);m=c[g>>2]|0;c[g>>2]=m+1;m=d+16+(((c[f>>2]|0)+m&1)*40|0)|0;fy(m);dy(m,o);fy(o)}while(!(c[g>>2]|0))}else f=d+100|0;f=c[f>>2]&1;a:do switch(c[d+16+(f*40|0)+20>>2]|0){case 15:{k=d+100|0;dy(h,d+16+(f*40|0)|0);f=d+16+((c[k>>2]&1)*40|0)|0;fy(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;c[k>>2]=c[k>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;fy(h);Sp(d,s);f=RA(152)|0;h=a[s+11>>0]|0;g=h<<24>>24<0;k=g?c[s>>2]|0:s;h=g?c[s+4>>2]|0:h&255;g=f+4|0;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;c[g+24>>2]=0;c[f>>2]=288772;An(f+32|0,k,h);h=f+44|0;a[h>>0]=0;k=f+48|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;wl(k,-1,o);j=f+84|0;i=f+136|0;l=j;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[i>>2]=1065353216;c[f+140>>2]=0;c[f+144>>2]=0;c[f+148>>2]=0;b:do if(Kp(d,36)|0){a[h>>0]=1;do if(Np(d,36)|0){a[h>>0]=1;if((Tp(d,k)|0)!=1?(Op(d,31)|0)!=1:0)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else a[h>>0]=0;while(0);if((Op(d,31)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}}else{c:do if((Vq(d,26,j,f+120|0,0)|0)!=1){h=f+96|0;if(Np(d,30)|0)do{gq(d,h);if((Op(d,31)|0)==1)break c}while(Np(d,30)|0);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;a[n+11>>0]=5;a[n>>0]=a[329112]|0;a[n+1>>0]=a[329113]|0;a[n+2>>0]=a[329114]|0;a[n+3>>0]=a[329115]|0;a[n+4>>0]=a[329116]|0;a[n+5>>0]=0;m=n+12|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;a[m+11>>0]=6;a[m>>0]=a[329141]|0;a[m+1>>0]=a[329142]|0;a[m+2>>0]=a[329143]|0;a[m+3>>0]=a[329144]|0;a[m+4>>0]=a[329145]|0;a[m+5>>0]=a[329146]|0;a[m+6>>0]=0;j=o+4|0;k=RA(24)|0;c[o>>2]=k;h=k+24|0;c[o+8>>2]=h;VA(k,n);i=k+12|0;VA(i,m);c[j>>2]=h;h=(Rp(d,o)|0)==1;if((a[k+23>>0]|0)<0)SA(c[i>>2]|0);if((a[k+11>>0]|0)<0)SA(c[k>>2]|0);c[j>>2]=k;SA(k);if(!h?(Op(d,31)|0)!=1:0)break b}while(0);ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}while(0);h=RA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=66;break}case 34:{o=d+100|0;dy(i,d+16+(f*40|0)|0);f=d+16+((c[o>>2]&1)*40|0)|0;fy(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;c[o>>2]=c[o>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;fy(i);Sp(d,s);f=RA(80)|0;o=a[s+11>>0]|0;g=o<<24>>24<0;h=g?c[s>>2]|0:s;o=g?c[s+4>>2]|0:o&255;g=f+4|0;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;c[f+28>>2]=1;c[f>>2]=288756;An(f+32|0,h,o);o=f+48|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o+16>>1]=0;h=f+72|0;c[h>>2]=-16;if((uq(d,o)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}if((sq(d,h)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}if((Op(d,31)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else{h=RA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=66;break a}}case 22:{o=d+100|0;dy(j,d+16+(f*40|0)|0);f=d+16+((c[o>>2]&1)*40|0)|0;fy(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;c[o>>2]=c[o>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;fy(j);Sp(d,s);f=RA(72)|0;o=a[s+11>>0]|0;g=o<<24>>24<0;n=g?c[s>>2]|0:s;o=g?c[s+4>>2]|0:o&255;g=f+4|0;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;c[f+28>>2]=2;c[f>>2]=288740;An(f+32|0,n,o);o=f+48|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o+16>>1]=0;if((uq(d,o)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}if((Op(d,31)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else{h=RA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=66;break a}}case 17:{n=d+100|0;dy(k,d+16+(f*40|0)|0);f=d+16+((c[n>>2]&1)*40|0)|0;fy(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;c[n>>2]=c[n>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;fy(k);Sp(d,s);f=RA(64)|0;n=a[s+11>>0]|0;g=n<<24>>24<0;m=g?c[s>>2]|0:s;n=g?c[s+4>>2]|0:n&255;g=f+4|0;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;c[f+28>>2]=3;c[f>>2]=288724;o=f+32|0;An(o,m,n);c[f+44>>2]=-64;a[f+48>>0]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;if((Wq(d,o)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}if((Op(d,31)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else{h=RA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=66;break a}}case 13:{i=d+100|0;dy(l,d+16+(f*40|0)|0);f=d+16+((c[i>>2]&1)*40|0)|0;fy(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;c[i>>2]=c[i>>2]&1^1;c[g>>2]=(c[g>>2]|0)+-1;fy(l);Sp(d,s);f=RA(108)|0;i=a[s+11>>0]|0;g=i<<24>>24<0;j=g?c[s>>2]|0:s;i=g?c[s+4>>2]|0:i&255;g=f+4|0;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;c[f+28>>2]=4;c[f>>2]=288676;An(f+32|0,j,i);i=f+44|0;a[i>>0]=0;j=f+48|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;wl(j,-1,o);h=f+84|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;do if(Np(d,36)|0){a[i>>0]=1;if((Tp(d,j)|0)!=1?(Op(d,31)|0)!=1:0)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else a[i>>0]=0;while(0);if((fq(d,h)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}if((Op(d,31)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}else{h=RA(40)|0;c[h+4>>2]=0;c[h+8>>2]=0;r=h+12|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];r=66;break a}}default:{h=RA(32)|0;c[n>>2]=h;c[n+8>>2]=-2147483616;c[n+4>>2]=16;l=h;f=310166;m=l+16|0;do{a[l>>0]=a[f>>0]|0;l=l+1|0;f=f+1|0}while((l|0)<(m|0));a[h+16>>0]=0;f=o+4|0;g=RA(12)|0;c[o>>2]=g;q=g+12|0;c[o+8>>2]=q;VA(g,n);c[f>>2]=q;Qp(d,o,0);if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);c[f>>2]=g;SA(g);SA(h);f=1}}while(0);if((r|0)==66){c[h+32>>2]=2;c[h>>2]=288692;r=h+36|0;c[r>>2]=f;cB(g,t)|0;cB((c[r>>2]|0)+16|0,u)|0;c[q>>2]=h;il(e,q);f=c[q>>2]|0;c[q>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f);f=(Op(d,31)|0)==1&1}if((a[s+11>>0]|0)<0)SA(c[s>>2]|0)}else f=1;if((a[u+11>>0]|0)<0)SA(c[u>>2]|0);if((a[t+11>>0]|0)<0)SA(c[t>>2]|0)}u=f;aa=v;return u|0}function Rq(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;t=aa;aa=aa+144|0;q=t+8|0;f=t;p=t+108|0;n=t+84|0;s=t+68|0;r=t+52|0;j=t+104|0;m=t+80|0;o=t+64|0;g=t+48|0;if((Op(d,21)|0)==1){s=1;aa=t;return s|0}Ip(n,d);if((Op(d,22)|0)==1)f=1;else{c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Sp(d,s);c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;a:do if((Uq(d,r,2)|0)==1)f=1;else{do if(!(Kp(d,18)|0)){if(!(Np(d,10)|0)){f=RA(80)|0;o=a[s+11>>0]|0;l=o<<24>>24<0;m=l?c[s>>2]|0:s;o=l?c[s+4>>2]|0:o&255;c[f+4>>2]=0;c[f+8>>2]=0;l=f+12|0;c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];c[l+16>>2]=c[n+16>>2];c[f+32>>2]=7;c[f>>2]=288628;An(f+40|0,m,o);o=f+56|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o+16>>1]=0;if((uq(d,o)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);f=1;break a}c[g>>2]=f;nl(e,g);f=c[g>>2]|0;c[g>>2]=0;if(!f)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);break}k=RA(112)|0;c[k+4>>2]=0;c[k+8>>2]=0;j=k+12|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];c[j+16>>2]=c[n+16>>2];c[k+32>>2]=8;c[k>>2]=287700;An(k+36|0,0,0);j=k+48|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;wl(j,-1,q);a[k+84>>0]=0;f=k+88|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;l=k;g=(c[e+164>>2]|0)-(c[e+160>>2]|0)>>2;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;wl(q,g,p);yl(j,q)|0;Dl(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;El(q,0,p);j=RA(80)|0;g=j+4|0;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;c[g+24>>2]=0;c[j+32>>2]=15;c[j>>2]=287652;g=j+40|0;h=q;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));h=k+92|0;g=c[h>>2]|0;if(g){c[j+8>>2]=g;f=g+4|0}c[f>>2]=j;c[h>>2]=j;f=k+96|0;c[f>>2]=(c[f>>2]|0)+1;f=j+12|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];c[f+16>>2]=c[n+16>>2];f=k+100|0;qq(d,f)|0;if((Op(d,31)|0)==1){ma[c[(c[k>>2]|0)+4>>2]&255](k);f=1;break a}j=RA(80)|0;i=a[s+11>>0]|0;g=i<<24>>24<0;h=g?c[s>>2]|0:s;i=g?c[s+4>>2]|0:i&255;c[j+4>>2]=0;c[j+8>>2]=0;g=j+12|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[g+12>>2]=c[n+12>>2];c[g+16>>2]=c[n+16>>2];c[j+32>>2]=7;c[j>>2]=288628;An(j+40|0,h,i);i=j+56|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;b[i+16>>1]=0;n=((c[k+104>>2]|0)+65535-(c[f>>2]|0)|0)>>>16;f=i;c[f>>2]=n;c[f+4>>2]=0;f=j+64|0;c[f>>2]=n;c[f+4>>2]=0;a[j+72>>0]=1;c[m>>2]=j;nl(e,m);f=c[m>>2]|0;c[m>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f);c[o>>2]=l;Wk(e,o);f=c[o>>2]|0;c[o>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f)}else{if(!((((((c[e+80>>2]|0)-(c[e+76>>2]|0)>>2|0)==(c[e+48>>2]|0)?((c[e+140>>2]|0)-(c[e+136>>2]|0)>>2|0)==(c[e+52>>2]|0):0)?((c[e+164>>2]|0)-(c[e+160>>2]|0)>>2|0)==(c[e+56>>2]|0):0)?((c[e+92>>2]|0)-(c[e+88>>2]|0)>>2|0)==(c[e+60>>2]|0):0)?((c[e+68>>2]|0)-(c[e+64>>2]|0)>>2|0)==(c[e+44>>2]|0):0)){Ip(p,d);c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];Gp(d,q,310113,f)}g=RA(72)|0;i=a[s+11>>0]|0;h=i<<24>>24<0;f=h?c[s>>2]|0:s;i=h?c[s+4>>2]|0:i&255;h=g+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g+28>>2]=2;c[g>>2]=288740;An(g+32|0,f,i);i=g+48|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;b[i+16>>1]=0;f=g;if(((((Op(d,21)|0)!=1?(Op(d,18)|0)!=1:0)?(tq(d,h)|0)!=1:0)?(tq(d,g+16|0)|0)!=1:0)?(Op(d,31)|0)!=1:0){if((uq(d,i)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}Ip(q,d);o=RA(40)|0;c[o+4>>2]=0;c[o+8>>2]=0;n=o+12|0;c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];c[n+16>>2]=c[q+16>>2];c[o+32>>2]=2;c[o>>2]=288692;c[o+36>>2]=f;c[j>>2]=o;il(e,j);f=c[j>>2]|0;c[j>>2]=0;if(!f)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);break}ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}while(0);g=((c[e+164>>2]|0)-(c[e+160>>2]|0)>>2)+-1|0;f=(c[e+36>>2]|0)+12|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];c[q+16>>2]=c[f+16>>2];f=c[r>>2]|0;if(f|0)do{wl(p,g,q);yl(f+52|0,p)|0;Dl(p);f=c[f+4>>2]|0}while((f|0)!=0);sl(e,r);f=(Op(d,31)|0)==1&1}while(0);g=c[r>>2]|0;if(g|0)do{r=g;g=c[g+4>>2]|0;ma[c[(c[r>>2]|0)+4>>2]&255](r)}while((g|0)!=0);if((a[s+11>>0]|0)<0)SA(c[s>>2]|0)}s=f;aa=t;return s|0}function Sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+96|0;d=h+60|0;e=h+40|0;g=h+4|0;f=h;if((Op(a,21)|0)==1){g=1;aa=h;return g|0}Ip(e,a);if((Op(a,33)|0)==1)d=1;else{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;wl(g,-1,d);if((Tp(a,g)|0)!=1?(Op(a,31)|0)!=1:0){a=RA(72)|0;zl(d,g);c[a+4>>2]=0;c[a+8>>2]=0;i=a+12|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];c[a+32>>2]=9;c[a>>2]=288580;zl(a+36|0,d);c[f>>2]=a;Dl(d);ol(b,f);d=c[f>>2]|0;c[f>>2]=0;if(!d)d=0;else{ma[c[(c[d>>2]|0)+4>>2]&255](d);d=0}}else d=1;Dl(g)}i=d;aa=h;return i|0}function Tq(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;t=aa;aa=aa+176|0;q=t+8|0;f=t;p=t+128|0;n=t+104|0;s=t+88|0;r=t+72|0;k=t+124|0;i=t+48|0;m=t+100|0;o=t+84|0;h=t+68|0;if((Op(d,21)|0)==1){s=1;aa=t;return s|0}Ip(n,d);if((Op(d,34)|0)==1)f=1;else{c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Sp(d,s);c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;a:do if((Uq(d,r,1)|0)==1)f=1;else{do if(Kp(d,18)|0){if(!((((((c[e+80>>2]|0)-(c[e+76>>2]|0)>>2|0)==(c[e+48>>2]|0)?((c[e+140>>2]|0)-(c[e+136>>2]|0)>>2|0)==(c[e+52>>2]|0):0)?((c[e+164>>2]|0)-(c[e+160>>2]|0)>>2|0)==(c[e+56>>2]|0):0)?((c[e+92>>2]|0)-(c[e+88>>2]|0)>>2|0)==(c[e+60>>2]|0):0)?((c[e+68>>2]|0)-(c[e+64>>2]|0)>>2|0)==(c[e+44>>2]|0):0)){Ip(p,d);c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];Gp(d,q,310113,f)}g=RA(80)|0;h=a[s+11>>0]|0;j=h<<24>>24<0;i=j?c[s>>2]|0:s;h=j?c[s+4>>2]|0:h&255;j=g+4|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;c[g+28>>2]=1;c[g>>2]=288756;An(g+32|0,i,h);h=g+48|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;b[h+16>>1]=0;i=g+72|0;c[i>>2]=-16;f=g;if(((((Op(d,21)|0)!=1?(Op(d,18)|0)!=1:0)?(tq(d,j)|0)!=1:0)?(tq(d,g+16|0)|0)!=1:0)?(Op(d,31)|0)!=1:0){if((uq(d,h)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}if((sq(d,i)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}Ip(q,d);o=RA(40)|0;c[o+4>>2]=0;c[o+8>>2]=0;n=o+12|0;c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];c[n+16>>2]=c[q+16>>2];c[o+32>>2]=2;c[o>>2]=288692;c[o+36>>2]=f;c[k>>2]=o;il(e,k);f=c[k>>2]|0;c[k>>2]=0;if(!f)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);break}ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}else{g=d+96|0;if(!(c[g>>2]|0)){f=d+100|0;do{vp(q,c[d>>2]|0,d);l=c[g>>2]|0;c[g>>2]=l+1;l=d+16+(((c[f>>2]|0)+l&1)*40|0)|0;fy(l);dy(l,q);fy(q)}while(!(c[g>>2]|0))}else f=d+100|0;if((c[d+16+((c[f>>2]&1)*40|0)+20>>2]|0)!=109){g=RA(88)|0;o=a[s+11>>0]|0;m=o<<24>>24<0;f=m?c[s>>2]|0:s;o=m?c[s+4>>2]|0:o&255;c[g+4>>2]=0;c[g+8>>2]=0;m=g+12|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];c[m+16>>2]=c[n+16>>2];c[g+32>>2]=5;c[g>>2]=288644;An(g+40|0,f,o);o=g+56|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o+16>>1]=0;f=g+80|0;c[f>>2]=-16;if((uq(d,o)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}if((sq(d,f)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);f=1;break a}c[h>>2]=g;ql(e,h);f=c[h>>2]|0;c[h>>2]=0;if(!f)break;ma[c[(c[f>>2]|0)+4>>2]&255](f);break}if(((sq(d,p)|0)!=1?(Op(d,21)|0)!=1:0)?(Op(d,11)|0)!=1:0){k=RA(112)|0;c[k+4>>2]=0;c[k+8>>2]=0;j=k+12|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];c[j+16>>2]=c[n+16>>2];c[k+32>>2]=6;c[k>>2]=287716;An(k+36|0,0,0);j=k+48|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;wl(j,-1,q);a[k+84>>0]=0;f=k+88|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;l=k;g=(c[e+140>>2]|0)-(c[e+136>>2]|0)>>2;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;wl(q,g,i);yl(j,q)|0;Dl(q);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;El(q,0,i);j=RA(80)|0;g=j+4|0;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;c[g+24>>2]=0;c[j+32>>2]=15;c[j>>2]=287652;g=j+40|0;h=q;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));h=k+92|0;g=c[h>>2]|0;if(g){c[j+8>>2]=g;f=g+4|0}c[f>>2]=j;c[h>>2]=j;f=k+96|0;c[f>>2]=(c[f>>2]|0)+1;f=j+12|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];c[f+16>>2]=c[n+16>>2];f=k+100|0;if(jq(d,f)|0?(Op(d,31)|0)!=1:0){j=RA(88)|0;i=a[s+11>>0]|0;g=i<<24>>24<0;h=g?c[s>>2]|0:s;i=g?c[s+4>>2]|0:i&255;c[j+4>>2]=0;c[j+8>>2]=0;g=j+12|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[g+12>>2]=c[n+12>>2];c[g+16>>2]=c[n+16>>2];c[j+32>>2]=5;c[j>>2]=288644;An(j+40|0,h,i);i=j+56|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;b[i+16>>1]=0;n=((c[k+104>>2]|0)-(c[f>>2]|0)|0)/36|0;f=i;c[f>>2]=n;c[f+4>>2]=0;f=j+64|0;c[f>>2]=n;c[f+4>>2]=0;a[j+72>>0]=1;c[j+80>>2]=c[p>>2];c[m>>2]=j;ql(e,m);f=c[m>>2]|0;c[m>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f);c[o>>2]=l;Yk(e,o);f=c[o>>2]|0;c[o>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f);break}ma[c[(c[k>>2]|0)+4>>2]&255](k);f=1;break a}f=1;break a}while(0);g=((c[e+140>>2]|0)-(c[e+136>>2]|0)>>2)+-1|0;f=(c[e+36>>2]|0)+12|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];c[q+16>>2]=c[f+16>>2];f=c[r>>2]|0;if(f|0)do{wl(p,g,q);yl(f+52|0,p)|0;Dl(p);f=c[f+4>>2]|0}while((f|0)!=0);sl(e,r);f=(Op(d,31)|0)==1&1}while(0);g=c[r>>2]|0;if(g|0)do{r=g;g=c[g+4>>2]|0;ma[c[(c[r>>2]|0)+4>>2]&255](r)}while((g|0)!=0);if((a[s+11>>0]|0)<0)SA(c[s>>2]|0)}s=f;aa=t;return s|0}function Uq(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=aa;aa=aa+48|0;i=l+20|0;h=l;if(!(Kp(a,14)|0)){k=0;aa=l;return k|0}g=b+4|0;j=b+8|0;while(1){if((Op(a,21)|0)==1){e=1;f=13;break}Ip(h,a);k=RA(88)|0;c[k+4>>2]=0;f=k+8|0;c[f>>2]=0;e=k+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];c[e+16>>2]=c[h+16>>2];c[k+32>>2]=3;c[k>>2]=288596;e=k+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;wl(k+52|0,-1,i);c[k+48>>2]=d;if((Op(a,14)|0)==1){f=5;break}if((tq(a,e)|0)==1){f=7;break}if((Op(a,31)|0)==1){f=9;break}e=c[g>>2]|0;if(!e)e=b;else{c[f>>2]=e;e=e+4|0}c[e>>2]=k;c[g>>2]=k;c[j>>2]=(c[j>>2]|0)+1;if(!(Kp(a,14)|0)){e=0;f=13;break}}if((f|0)==5){ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}else if((f|0)==7){ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}else if((f|0)==9){ma[c[(c[k>>2]|0)+4>>2]&255](k);k=1;aa=l;return k|0}else if((f|0)==13){aa=l;return e|0}return 0}function Vq(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=aa;aa=aa+112|0;j=t+64|0;s=t+48|0;q=t+44|0;n=t+24|0;o=t;if(!(Np(b,d)|0)){s=0;aa=t;return s|0}p=b+96|0;l=b+100|0;i=e+4|0;m=o+20|0;k=e+8|0;r=s+11|0;while(1){if(!(c[p>>2]|0))do{vp(j,c[b>>2]|0,b);h=c[p>>2]|0;c[p>>2]=h+1;h=b+16+(((c[l>>2]|0)+h&1)*40|0)|0;fy(h);dy(h,j);fy(j)}while(!(c[p>>2]|0));if((c[b+16+((c[l>>2]&1)*40|0)+20>>2]|0)==108){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Ip(n,b);Sp(b,s);if((rq(b,q)|0)==1){i=9;break}h=((c[i>>2]|0)-(c[e>>2]|0)>>2)+g|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];c[m>>2]=h;Ig(j,f,s,o);Ag(f,c[j>>2]|0);h=c[i>>2]|0;if((h|0)==(c[k>>2]|0))Kn(e,q);else{c[h>>2]=c[q>>2];c[i>>2]=h+4}if((a[r>>0]|0)<0)SA(c[s>>2]|0)}else gq(b,e);if((Op(b,31)|0)==1){h=1;i=20;break}if(!(Np(b,d)|0)){h=0;i=20;break}}if((i|0)==9){if((a[r>>0]|0)<0)SA(c[s>>2]|0);s=1;aa=t;return s|0}else if((i|0)==20){aa=t;return h|0}return 0}function Wq(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;k=aa;aa=aa+64|0;j=k+48|0;e=k;if(Np(b,24)|0){a[d+16>>0]=1;if((rq(b,d+12|0)|0)==1){b=1;aa=k;return b|0}f=e+4|0;c[f>>2]=0;c[f+4>>2]=50331648;a[e>>0]=a[329758]|0;a[e+1>>0]=a[329759]|0;a[e+2>>0]=a[329760]|0;a[e+3>>0]=0;f=e+12|0;g=e+16|0;c[g>>2]=0;c[g+4>>2]=50331648;a[f>>0]=a[329754]|0;a[f+1>>0]=a[329755]|0;a[f+2>>0]=a[329756]|0;a[f+3>>0]=0;g=e+24|0;l=e+28|0;c[l>>2]=0;c[l+4>>2]=50331648;a[g>>0]=a[329750]|0;a[g+1>>0]=a[329751]|0;a[g+2>>0]=a[329752]|0;a[g+3>>0]=0;l=e+36|0;h=e+40|0;c[h>>2]=0;c[h+4>>2]=50331648;a[l>>0]=a[329746]|0;a[l+1>>0]=a[329747]|0;a[l+2>>0]=a[329748]|0;a[l+3>>0]=0;h=j+4|0;i=RA(48)|0;c[j>>2]=i;d=i+48|0;c[j+8>>2]=d;VA(i,e);e=i+12|0;VA(e,f);f=i+24|0;VA(f,g);g=i+36|0;VA(g,l);c[h>>2]=d;d=(Rp(b,j)|0)==1;if((a[i+47>>0]|0)<0)SA(c[g>>2]|0);if((a[i+35>>0]|0)<0)SA(c[f>>2]|0);if((a[i+23>>0]|0)<0)SA(c[e>>2]|0);if((a[i+11>>0]|0)<0)SA(c[i>>2]|0);c[h>>2]=i;SA(i);if(d){l=1;aa=k;return l|0}if((Op(b,31)|0)==1){l=1;aa=k;return l|0}}else if((rq(b,d+12|0)|0)==1){l=1;aa=k;return l|0}l=0;aa=k;return l|0}function Xq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+96|0;i=k+56|0;j=k;g=k+16|0;if((Op(b,21)|0)==1){aa=k;return 1}h=b+96|0;if(!(c[h>>2]|0)){e=b+100|0;do{vp(i,c[b>>2]|0,b);f=c[h>>2]|0;c[h>>2]=f+1;f=b+16+(((c[e>>2]|0)+f&1)*40|0)|0;fy(f);dy(f,i);fy(i)}while(!(c[h>>2]|0))}else e=b+100|0;f=c[e>>2]&1;switch(c[b+16+(f*40|0)+20>>2]|0){case 15:{e=0;break}case 34:{e=1;break}case 22:{e=2;break}case 17:{e=3;break}case 13:{e=4;break}default:{d=RA(32)|0;c[j>>2]=d;c[j+8>>2]=-2147483616;c[j+4>>2]=16;e=d;f=310166;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));a[d+16>>0]=0;e=i+4|0;f=RA(12)|0;c[i>>2]=f;h=f+12|0;c[i+8>>2]=h;VA(f,j);c[e>>2]=h;Qp(b,i,0);if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);c[e>>2]=f;SA(f);SA(d);aa=k;return 1}}c[d+12>>2]=e;j=b+100|0;dy(g,b+16+(f*40|0)|0);i=b+16+((c[j>>2]&1)*40|0)|0;fy(i);c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[j>>2]=c[j>>2]&1^1;c[h>>2]=(c[h>>2]|0)+-1;fy(g);if((Tp(b,d+16|0)|0)==1){aa=k;return 1}else{b=(Op(b,31)|0)==1&1;aa=k;return b|0}return 0}function Yq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b+12|0;if(c[j>>2]|0){h=b+8|0;e=c[h>>2]|0;if(e|0)do{f=e;e=c[e>>2]|0;g=f+8|0;if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);SA(f)}while((e|0)!=0);c[h>>2]=0;e=c[b+4>>2]|0;if(e|0){f=0;do{c[(c[b>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[j>>2]=0}i=c[d>>2]|0;c[d>>2]=0;e=c[b>>2]|0;c[b>>2]=i;if(e|0)SA(e);i=d+4|0;f=b+4|0;c[f>>2]=c[i>>2];c[i>>2]=0;i=d+12|0;g=c[i>>2]|0;c[j>>2]=g;c[b+16>>2]=c[d+16>>2];d=d+8|0;e=c[d>>2]|0;h=b+8|0;c[h>>2]=e;if(!g)return;e=c[e+4>>2]|0;f=c[f>>2]|0;g=f+-1|0;if(g&f){if(e>>>0>=f>>>0)e=(e>>>0)%(f>>>0)|0}else e=g&e;c[(c[b>>2]|0)+(e<<2)>>2]=h;c[d>>2]=0;c[i>>2]=0;return}function Zq(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;s=aa;aa=aa+192|0;q=s+144|0;o=s+120|0;r=s+64|0;f=s+80|0;g=s+24|0;h=s+16|0;l=s;if((Op(b,21)|0)==1){r=1;aa=s;return r|0}Ip(o,b);if((Op(b,23)|0)==1)e=1;else{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Sp(b,r);i=b+96|0;if(!(c[i>>2]|0)){e=b+100|0;do{vp(q,c[b>>2]|0,b);k=c[i>>2]|0;c[i>>2]=k+1;k=b+16+(((c[e>>2]|0)+k&1)*40|0)|0;fy(k);dy(k,q);fy(q)}while(!(c[i>>2]|0))}else e=b+100|0;e=c[e>>2]&1;a:do switch(c[b+16+(e*40|0)+20>>2]|0){case 9:{j=b+100|0;dy(f,b+16+(e*40|0)|0);h=b+16+((c[j>>2]&1)*40|0)|0;fy(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[j>>2]=c[j>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;fy(f);c[q>>2]=0;j=q+4|0;c[j>>2]=0;h=q+8|0;c[h>>2]=0;if(!(qq(b,q)|0)){e=c[q>>2]|0;if(e|0){c[j>>2]=e;SA(e)}e=1;break a}i=RA(52)|0;c[i+4>>2]=1;c[i>>2]=290104;e=i+8|0;f=e;k=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(k|0));cB(i+28|0,r)|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];g=i+40|0;e=c[g>>2]|0;if(!e){e=i+44|0;f=i+48|0}else{p=i+44|0;c[p>>2]=e;SA(e);f=i+48|0;c[f>>2]=0;c[p>>2]=0;c[g>>2]=0;e=p}c[g>>2]=c[q>>2];c[e>>2]=c[j>>2];c[f>>2]=c[h>>2];c[h>>2]=0;c[j>>2]=0;c[q>>2]=0;e=c[d>>2]|0;c[d>>2]=i;if(e|0?(ma[c[(c[e>>2]|0)+4>>2]&255](e),n=c[q>>2]|0,n|0):0){c[j>>2]=n;SA(n)}p=44;break}case 28:{j=b+100|0;dy(g,b+16+(e*40|0)|0);h=b+16+((c[j>>2]&1)*40|0)|0;fy(h);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[j>>2]=c[j>>2]&1^1;c[i>>2]=(c[i>>2]|0)+-1;fy(g);c[q>>2]=0;j=q+4|0;c[j>>2]=0;h=q+8|0;c[h>>2]=0;if(!(qq(b,q)|0)){e=c[q>>2]|0;if(e|0){c[j>>2]=e;SA(e)}e=1;break a}i=RA(52)|0;c[i+4>>2]=2;c[i>>2]=290124;e=i+8|0;f=e;k=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(k|0));cB(i+28|0,r)|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];g=i+40|0;e=c[g>>2]|0;if(!e){e=i+44|0;f=i+48|0}else{p=i+44|0;c[p>>2]=e;SA(e);f=i+48|0;c[f>>2]=0;c[p>>2]=0;c[g>>2]=0;e=p}c[g>>2]=c[q>>2];c[e>>2]=c[j>>2];c[f>>2]=c[h>>2];c[h>>2]=0;c[j>>2]=0;c[q>>2]=0;e=c[d>>2]|0;c[d>>2]=i;if(e|0?(ma[c[(c[e>>2]|0)+4>>2]&255](e),m=c[q>>2]|0,m|0):0){c[j>>2]=m;SA(m)}p=44;break}default:{j=RA(384)|0;e=j;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=290144;e=j+8|0;lC(e|0,0,212)|0;c[j+220>>2]=1065353216;n=j+224|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+240>>2]=1065353216;n=j+244|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+260>>2]=1065353216;n=j+264|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+280>>2]=1065353216;n=j+284|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+300>>2]=1065353216;n=j+304|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+320>>2]=1065353216;n=j+324|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+340>>2]=1065353216;n=j+344|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+360>>2]=1065353216;n=j+364|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[j+380>>2]=1065353216;cB(j+28|0,r)|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];Jp(h,b);b:do if((c[h>>2]|0)==21){switch(c[h+4>>2]|0){case 34:case 33:case 22:case 18:case 17:case 36:case 15:case 14:case 13:case 11:case 10:break;default:{p=34;break b}}if((yq(b,e)|0)==1){ma[c[(c[j>>2]|0)+4>>2]&255](j);e=1;break a}}else p=34;while(0);if((p|0)==34){if(!(c[i>>2]|0)){e=b+100|0;do{vp(q,c[b>>2]|0,b);o=c[i>>2]|0;c[i>>2]=o+1;o=b+16+(((c[e>>2]|0)+o&1)*40|0)|0;fy(o);dy(o,q);fy(q)}while(!(c[i>>2]|0))}else e=b+100|0;if((c[b+16+((c[e>>2]&1)*40|0)+20>>2]|0)!=31){Mp(b,21)|0;g=RA(16)|0;c[l>>2]=g;c[l+8>>2]=-2147483632;c[l+4>>2]=14;f=g;e=310039;k=f+14|0;do{a[f>>0]=a[e>>0]|0;f=f+1|0;e=e+1|0}while((f|0)<(k|0));a[g+14>>0]=0;e=q+4|0;f=RA(12)|0;c[q>>2]=f;d=f+12|0;c[q+8>>2]=d;VA(f,l);c[e>>2]=d;Qp(b,q,0);if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);c[e>>2]=f;SA(f);SA(g);ma[c[(c[j>>2]|0)+4>>2]&255](j);e=1;break a}}e=c[d>>2]|0;c[d>>2]=j;if(!e)p=44;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);p=44}}}while(0);if((p|0)==44)e=(Op(b,31)|0)==1&1;if((a[r+11>>0]|0)<0)SA(c[r>>2]|0)}r=e;aa=s;return r|0}function _q(a){a=a|0;c[a>>2]=290088;db(a+8|0);return}function $q(a){a=a|0;c[a>>2]=290088;db(a+8|0);SA(a);return}function ar(a){a=a|0;c[a>>2]=290144;db(a+8|0);return}function br(a){a=a|0;c[a>>2]=290144;db(a+8|0);SA(a);return}function cr(a){a=a|0;return a+8|0}function dr(b){b=b|0;var d=0;c[b>>2]=290124;d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;SA(d)}d=b+28|0;if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function er(b){b=b|0;var d=0;c[b>>2]=290124;d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;SA(d)}d=b+28|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function fr(a){a=a|0;return a+8|0}function gr(b){b=b|0;var d=0;c[b>>2]=290104;d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;SA(d)}d=b+28|0;if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function hr(b){b=b|0;var d=0;c[b>>2]=290104;d=c[b+40>>2]|0;if(d|0){c[b+44>>2]=d;SA(d)}d=b+28|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function ir(a){a=a|0;return a+8|0}function jr(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;n=aa;aa=aa+64|0;e=n+32|0;k=n+40|0;j=n+8|0;f=n;m=RA(32)|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]=1065353216;l=m;Jp(e,b);a:do if((c[e>>2]|0)==21){switch(c[e+4>>2]|0){case 34:case 33:case 22:case 18:case 17:case 36:case 15:case 14:case 13:case 11:case 10:break;default:{h=12;break a}}e=RA(384)|0;i=e;c[i>>2]=0;c[i+4>>2]=0;c[e>>2]=290088;i=e+8|0;lC(i|0,0,212)|0;c[e+220>>2]=1065353216;g=e+224|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+240>>2]=1065353216;g=e+244|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+260>>2]=1065353216;g=e+264|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+280>>2]=1065353216;g=e+284|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+300>>2]=1065353216;g=e+304|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+320>>2]=1065353216;g=e+324|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+340>>2]=1065353216;g=e+344|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+360>>2]=1065353216;g=e+364|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+380>>2]=1065353216;g=e;c[k>>2]=g;Ip(j,b);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];if((yq(b,i)|0)==1){c[k>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);break}f=m+4|0;e=c[f>>2]|0;if(e>>>0>=(c[m+8>>2]|0)>>>0){kr(m,k);e=c[k>>2]|0;c[k>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e)}else{c[e>>2]=g;c[f>>2]=e+4;c[k>>2]=0}h=18}else h=12;while(0);b:do if((h|0)==12){Jp(f,b);c:do if((c[f>>2]|0)==21){switch(c[f+4>>2]|0){case 29:case 23:case 19:case 16:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:break;default:break c}if((lr(b,m,m)|0)==1)break b;else{h=18;break b}}while(0);Mp(b,21)|0;i=RA(16)|0;c[j>>2]=i;c[j+8>>2]=-2147483632;c[j+4>>2]=14;e=i;f=310039;g=e+14|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[i+14>>0]=0;h=j+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a[h+11>>0]=9;e=h;f=310683;g=e+9|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));a[h+9>>0]=0;f=k+4|0;g=RA(24)|0;c[k>>2]=g;o=g+24|0;c[k+8>>2]=o;VA(g,j);e=g+12|0;VA(e,h);c[f>>2]=o;Qp(b,k,0);if((a[g+23>>0]|0)<0)SA(c[e>>2]|0);if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);c[f>>2]=g;SA(g);SA(i);h=18}while(0);if(((h|0)==18?(Op(b,12)|0)!=1:0)?(o=c[b+8>>2]|0,(c[o+4>>2]|0)==(c[o>>2]|0)):0){i=c[d>>2]|0;c[d>>2]=l;if(!i){o=0;aa=n;return o|0}e=c[i+20>>2]|0;if(e|0)do{f=e;e=c[e>>2]|0;g=f+8|0;if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);SA(f)}while((e|0)!=0);o=i+12|0;e=c[o>>2]|0;c[o>>2]=0;if(e|0)SA(e);g=c[i>>2]|0;if(g|0){h=i+4|0;e=c[h>>2]|0;if((e|0)==(g|0))e=g;else{do{e=e+-4|0;f=c[e>>2]|0;c[e>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((e|0)!=(g|0));e=c[i>>2]|0}c[h>>2]=g;SA(e)}SA(i);o=0;aa=n;return o|0}e=c[m+20>>2]|0;if(e|0)do{f=e;e=c[e>>2]|0;g=f+8|0;if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);SA(f)}while((e|0)!=0);o=m+12|0;e=c[o>>2]|0;c[o>>2]=0;if(e|0)SA(e);g=c[m>>2]|0;if(g|0){h=m+4|0;e=c[h>>2]|0;if((e|0)==(g|0))e=g;else{do{e=e+-4|0;f=c[e>>2]|0;c[e>>2]=0;if(f|0)ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((e|0)!=(g|0));e=c[m>>2]|0}c[h>>2]=g;SA(e)}SA(m);o=1;aa=n;return o|0}function kr(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;k=a+4|0;d=c[a>>2]|0;j=(c[k>>2]|0)-d>>2;e=j+1|0;if(e>>>0>1073741823)yB();l=a+8|0;h=(c[l>>2]|0)-d|0;d=h>>1;d=h>>2>>>0<536870911?(d>>>0<e>>>0?e:d):1073741823;do if(d)if(d>>>0>1073741823)U();else{i=RA(d<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;h=i+(d<<2)|0;g=c[b>>2]|0;c[b>>2]=0;c[e>>2]=g;g=e+4|0;d=c[a>>2]|0;f=d;b=c[k>>2]|0;if((b|0)!=(d|0)){f=(b+-4-f|0)>>>2;do{e=e+-4|0;b=b+-4|0;m=c[b>>2]|0;c[b>>2]=0;c[e>>2]=m}while((b|0)!=(d|0));e=i+(j+-1-f<<2)|0;f=c[a>>2]|0;d=c[k>>2]|0}c[a>>2]=e;c[k>>2]=g;c[l>>2]=h;b=f;if((d|0)!=(b|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(b|0));if(!f)return;SA(f);return}function lr(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;m=aa;aa=aa+16|0;i=m;k=m+8|0;Jp(i,a);if((c[i>>2]|0)!=21){l=0;aa=m;return l|0}j=i+4|0;g=d+4|0;h=d+8|0;a:while(1){switch(c[j>>2]|0){case 29:case 23:case 19:case 16:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:break;default:{e=0;l=15;break a}}c[k>>2]=0;do if(!(mr(a,b,k)|0)){f=c[g>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=c[k>>2];c[g>>2]=f+4;c[k>>2]=0;break}else{nr(d,k);l=12;break}}else if((Pp(a,102)|0)==1){l=9;break a}else l=12;while(0);if((l|0)==12?(l=0,e=c[k>>2]|0,c[k>>2]=0,e|0):0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Jp(i,a);if((c[i>>2]|0)!=21){e=0;l=15;break}}if((l|0)==9){e=c[k>>2]|0;c[k>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);l=1;aa=m;return l|0}else if((l|0)==15){aa=m;return e|0}return 0}function mr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=aa;aa=aa+48|0;f=h;g=a+96|0;if((c[g>>2]|0)>>>0>1)e=a+100|0;else{e=a+100|0;do{vp(f,c[a>>2]|0,a);i=c[g>>2]|0;c[g>>2]=i+1;i=a+16+(((c[e>>2]|0)+i&1)*40|0)|0;fy(i);dy(i,f);fy(f)}while((c[g>>2]|0)>>>0<=1)}do switch(c[a+16+((c[e>>2]&1^1)*40|0)+20>>2]|0){case 1:{i=pr(a,d)|0;aa=h;return i|0}case 2:{i=qr(a,d)|0;aa=h;return i|0}case 3:{i=rr(a,d)|0;aa=h;return i|0}case 4:{i=sr(a,d)|0;aa=h;return i|0}case 5:{i=tr(a,d)|0;aa=h;return i|0}case 6:{i=ur(a,d)|0;aa=h;return i|0}case 7:{i=vr(a,d)|0;aa=h;return i|0}case 8:{i=wr(a,d)|0;aa=h;return i|0}case 19:case 16:{f=RA(12)|0;c[f+4>>2]=1;c[f>>2]=290164;i=f+8|0;c[i>>2]=0;if((xr(a,i)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);i=1;aa=h;return i|0}e=c[d>>2]|0;c[d>>2]=f;if(!e){i=0;aa=h;return i|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);i=0;aa=h;return i|0}case 23:{i=wq(a,b,d)|0;aa=h;return i|0}case 29:{i=yr(a,d)|0;aa=h;return i|0}default:{i=1;aa=h;return i|0}}while(0);return 0}function nr(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;k=a+4|0;d=c[a>>2]|0;j=(c[k>>2]|0)-d>>2;e=j+1|0;if(e>>>0>1073741823)yB();l=a+8|0;h=(c[l>>2]|0)-d|0;d=h>>1;d=h>>2>>>0<536870911?(d>>>0<e>>>0?e:d):1073741823;do if(d)if(d>>>0>1073741823)U();else{i=RA(d<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;h=i+(d<<2)|0;g=c[b>>2]|0;c[b>>2]=0;c[e>>2]=g;g=e+4|0;d=c[a>>2]|0;f=d;b=c[k>>2]|0;if((b|0)!=(d|0)){f=(b+-4-f|0)>>>2;do{e=e+-4|0;b=b+-4|0;m=c[b>>2]|0;c[b>>2]=0;c[e>>2]=m}while((b|0)!=(d|0));e=i+(j+-1-f<<2)|0;f=c[a>>2]|0;d=c[k>>2]|0}c[a>>2]=e;c[k>>2]=g;c[l>>2]=h;b=f;if((d|0)!=(b|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(b|0));if(!f)return;SA(f);return}function or(a){a=a|0;if((c[a>>2]|0)!=21)return 0;a=(c[a+4>>2]|0)+-1|0;if(a>>>0<29)return (272924927>>>(a&536870911)&1|0)!=0|0;else return 0;return 0}function pr(a,b){a=a|0;b=b|0;var d=0,e=0;if((Op(a,21)|0)==1){b=1;return b|0}if((Op(a,1)|0)==1){b=1;return b|0}d=RA(24)|0;c[d+4>>2]=11;c[d>>2]=290372;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((xr(a,e)|0)!=1?(tq(a,d+12|0)|0)!=1:0)?(Op(a,31)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function qr(a,b){a=a|0;b=b|0;var d=0,e=0;if((Op(a,21)|0)==1){b=1;return b|0}if((Op(a,2)|0)==1){b=1;return b|0}d=RA(24)|0;c[d+4>>2]=4;c[d>>2]=290356;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((Zq(a,e)|0)!=1?(tq(a,d+12|0)|0)!=1:0)?(Op(a,31)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function rr(a,b){a=a|0;b=b|0;var d=0,e=0;if((Op(a,21)|0)==1){b=1;return b|0}if((Op(a,3)|0)==1){b=1;return b|0}d=RA(24)|0;c[d+4>>2]=3;c[d>>2]=290340;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((Zq(a,e)|0)!=1?(tq(a,d+12|0)|0)!=1:0)?(Op(a,31)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function sr(a,b){a=a|0;b=b|0;var d=0,e=0;if((Op(a,21)|0)==1){b=1;return b|0}if((Op(a,4)|0)==1){b=1;return b|0}d=RA(24)|0;c[d+4>>2]=7;c[d>>2]=290324;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((xr(a,e)|0)!=1?(Br(a,d+12|0)|0)!=1:0)?(Op(a,31)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function tr(a,b){a=a|0;b=b|0;var d=0,e=0;if((Op(a,21)|0)==1){b=1;return b|0}if((Op(a,5)|0)==1){b=1;return b|0}d=RA(12)|0;c[d+4>>2]=9;c[d>>2]=290308;e=d+8|0;c[e>>2]=0;if((xr(a,e)|0)!=1?(Op(a,31)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function ur(a,b){a=a|0;b=b|0;var d=0,e=0;if((Op(a,21)|0)==1){b=1;return b|0}if((Op(a,6)|0)==1){b=1;return b|0}d=RA(12)|0;c[d+4>>2]=8;c[d>>2]=290292;e=d+8|0;c[e>>2]=0;if((xr(a,e)|0)!=1?(Op(a,31)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((Op(a,21)|0)==1)return 1;if((Op(a,7)|0)==1)return 1;f=Kp(a,23)|0;e=RA(24)|0;d=e+4|0;if(f){c[d>>2]=6;c[e>>2]=290260;f=e+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;if((Zq(a,f)|0)==1){ma[c[(c[e>>2]|0)+4>>2]&255](e);return 1}if((tq(a,e+12|0)|0)==1){ma[c[(c[e>>2]|0)+4>>2]&255](e);return 1}d=c[b>>2]|0;c[b>>2]=e;if(!d){f=Op(a,31)|0;f=(f|0)==1;f=f&1;return f|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);f=Op(a,31)|0;f=(f|0)==1;f=f&1;return f|0}else{c[d>>2]=10;c[e>>2]=290276;f=e+8|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;if((xr(a,f)|0)==1){ma[c[(c[e>>2]|0)+4>>2]&255](e);return 1}if((tq(a,e+12|0)|0)==1){ma[c[(c[e>>2]|0)+4>>2]&255](e);return 1}d=c[b>>2]|0;c[b>>2]=e;if(!d){f=Op(a,31)|0;f=(f|0)==1;f=f&1;return f|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);f=Op(a,31)|0;f=(f|0)==1;f=f&1;return f|0}return 0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0;if((Op(a,21)|0)==1){b=1;return b|0}if((Op(a,8)|0)==1){b=1;return b|0}d=RA(24)|0;c[d+4>>2]=5;c[d>>2]=290244;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;if(((Zq(a,e)|0)!=1?(tq(a,d+12|0)|0)!=1:0)?(Op(a,31)|0)!=1:0){a=c[b>>2]|0;c[b>>2]=d;if(!a){e=0;return e|0}ma[c[(c[a>>2]|0)+4>>2]&255](a);e=0;return e|0}ma[c[(c[d>>2]|0)+4>>2]&255](d);e=1;return e|0}function xr(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;o=aa;aa=aa+240|0;m=o+200|0;l=o+104|0;f=o+160|0;j=o+124|0;g=o+64|0;i=o;k=o+40|0;if((Op(b,21)|0)==1){b=1;aa=o;return b|0}Ip(l,b);h=b+96|0;if(!(c[h>>2]|0)){e=b+100|0;do{vp(m,c[b>>2]|0,b);p=c[h>>2]|0;c[h>>2]=p+1;p=b+16+(((c[e>>2]|0)+p&1)*40|0)|0;fy(p);dy(p,m);fy(m)}while(!(c[h>>2]|0))}else e=b+100|0;e=c[e>>2]&1;a:do switch(c[b+16+(e*40|0)+20>>2]|0){case 19:{k=b+100|0;dy(f,b+16+(e*40|0)|0);p=b+16+((c[k>>2]&1)*40|0)|0;fy(p);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[k>>2]=c[k>>2]&1^1;c[h>>2]=(c[h>>2]|0)+-1;fy(f);f=RA(88)|0;c[f>>2]=290196;k=f+4|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];c[k+16>>2]=c[l+16>>2];k=f+24|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;wl(k,-1,m);p=f+60|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[f>>2]=290212;e=f+76|0;c[e>>2]=0;c[f+80>>2]=0;c[f+84>>2]=0;wl(j,c[b+4>>2]|0,l);Up(b,k,j)|0;Dl(j);if((tq(b,p)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}if((Br(b,e)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}e=c[d>>2]|0;c[d>>2]=f;if(!e)n=20;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);n=20}break}case 16:{f=b+100|0;dy(g,b+16+(e*40|0)|0);k=b+16+((c[f>>2]&1)*40|0)|0;fy(k);c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[h>>2]=(c[h>>2]|0)+-1;fy(g);f=RA(76)|0;c[f>>2]=290196;k=f+4|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];c[k+16>>2]=c[l+16>>2];k=f+24|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;wl(k,-1,m);p=f+60|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[f+72>>2]=1;c[f>>2]=290228;wl(i,c[b+4>>2]|0,l);Up(b,k,i)|0;Dl(i);if((tq(b,p)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);e=1;break a}e=c[d>>2]|0;c[d>>2]=f;if(!e)n=20;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);n=20}break}default:{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;a[k+11>>0]=6;a[k>>0]=a[329072]|0;a[k+1>>0]=a[329073]|0;a[k+2>>0]=a[329074]|0;a[k+3>>0]=a[329075]|0;a[k+4>>0]=a[329076]|0;a[k+5>>0]=a[329077]|0;a[k+6>>0]=0;d=k+12|0;f=k+16|0;c[f>>2]=0;c[f+4>>2]=50331648;a[d>>0]=a[329054]|0;a[d+1>>0]=a[329055]|0;a[d+2>>0]=a[329056]|0;a[d+3>>0]=0;f=m+4|0;g=RA(24)|0;c[m>>2]=g;p=g+24|0;c[m+8>>2]=p;VA(g,k);e=g+12|0;VA(e,d);c[f>>2]=p;Qp(b,m,0);if((a[g+23>>0]|0)<0)SA(c[e>>2]|0);if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);c[f>>2]=g;SA(g);e=1}}while(0);if((n|0)==20)e=(Op(b,31)|0)==1&1;p=e;aa=o;return p|0}function yr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+128|0;f=j+104|0;h=j+92|0;i=j+56|0;g=j+36|0;e=j;if((Op(b,21)|0)==1){i=1;aa=j;return i|0}Ip(f,b);if((Op(b,29)|0)==1)e=1;else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;wl(i,-1,g);if((tq(b,h)|0)!=1?(wl(e,c[b+4>>2]|0,f),Up(b,i,e)|0,Dl(e),(Op(b,31)|0)!=1):0){b=RA(56)|0;e=a[h+11>>0]|0;f=e<<24>>24<0;g=f?c[h>>2]|0:h;e=f?c[h+4>>2]|0:e&255;c[b+4>>2]=2;c[b>>2]=290180;zn(b+8|0,g,e);zl(b+20|0,i);e=c[d>>2]|0;c[d>>2]=b;if(!e)e=0;else{ma[c[(c[e>>2]|0)+4>>2]&255](e);e=0}}else e=1;Dl(i);if((a[h+11>>0]|0)<0)SA(c[h>>2]|0)}i=e;aa=j;return i|0}function zr(b){b=b|0;c[b>>2]=290180;Dl(b+20|0);b=b+8|0;if((a[b+11>>0]|0)>=0)return;SA(c[b>>2]|0);return}function Ar(b){b=b|0;var d=0;c[b>>2]=290180;Dl(b+20|0);d=b+8|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}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,l=0,m=0,n=0;n=aa;aa=aa+112|0;l=n+80|0;i=n+40|0;j=n;if(!(Kp(a,62)|0)){a=0;aa=n;return a|0}k=a+100|0;m=a+96|0;g=b+4|0;h=b+8|0;while(1){dy(i,a+16+((c[k>>2]&1)*40|0)|0);f=a+16+((c[k>>2]&1)*40|0)|0;fy(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;c[k>>2]=c[k>>2]&1^1;c[m>>2]=(c[m>>2]|0)+-1;fy(i);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;El(j,0,l);if((mq(a,j)|0)==1){e=4;break}if((Op(a,31)|0)==1){e=6;break}d=c[g>>2]|0;if((d|0)==(c[h>>2]|0))Er(b,j);else{e=j;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[g>>2]=(c[g>>2]|0)+40}if(!(Kp(a,62)|0)){d=0;e=11;break}}if((e|0)==4){a=1;aa=n;return a|0}else if((e|0)==6){a=1;aa=n;return a|0}else if((e|0)==11){aa=n;return d|0}return 0}function Cr(b){b=b|0;var d=0;c[b>>2]=290196;d=b+60|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);Dl(b+24|0);return}function Dr(b){b=b|0;var d=0;c[b>>2]=290196;d=b+60|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);Dl(b+24|0);SA(b);return}function Er(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;j=a+4|0;i=c[a>>2]|0;l=(c[j>>2]|0)-i|0;e=(l|0)/40|0;d=e+1|0;if(d>>>0>107374182)yB();k=a+8|0;g=((c[k>>2]|0)-i|0)/40|0;h=g<<1;d=g>>>0<53687091?(h>>>0<d>>>0?d:h):107374182;do if(d)if(d>>>0>107374182)U();else{f=RA(d*40|0)|0;break}else f=0;while(0);h=f+(e*40|0)|0;g=f+(d*40|0)|0;f=h;d=b;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));d=h+(((l|0)/-40|0)*40|0)|0;if((l|0)>0)jC(d|0,i|0,l|0)|0;c[a>>2]=d;c[j>>2]=h+40;c[k>>2]=g;if(!i)return;SA(i);return}function Fr(b){b=b|0;var d=0;c[b>>2]=290212;d=c[b+76>>2]|0;if(d|0){c[b+80>>2]=d;SA(d)}c[b>>2]=290196;d=b+60|0;if((a[d+11>>0]|0)>=0){b=b+24|0;Dl(b);return}SA(c[d>>2]|0);b=b+24|0;Dl(b);return}function Gr(b){b=b|0;var d=0;c[b>>2]=290212;d=c[b+76>>2]|0;if(d|0){c[b+80>>2]=d;SA(d)}c[b>>2]=290196;d=b+60|0;if((a[d+11>>0]|0)>=0){d=b+24|0;Dl(d);SA(b);return}SA(c[d>>2]|0);d=b+24|0;Dl(d);SA(b);return}function Hr(b){b=b|0;var d=0;c[b>>2]=290196;d=b+60|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);Dl(b+24|0);SA(b);return}function Ir(a){a=a|0;var b=0;c[a>>2]=290164;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;ma[c[(c[a>>2]|0)+4>>2]&255](a);return}function Jr(a){a=a|0;var b=0,d=0;c[a>>2]=290164;d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){SA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);SA(a);return}function Kr(b){b=b|0;var d=0;c[b>>2]=290244;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function Lr(b){b=b|0;var d=0,e=0;c[b>>2]=290244;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){SA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);SA(b);return}function Mr(b){b=b|0;var d=0;c[b>>2]=290276;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function Nr(b){b=b|0;var d=0,e=0;c[b>>2]=290276;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){SA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);SA(b);return}function Or(b){b=b|0;var d=0;c[b>>2]=290260;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function Pr(b){b=b|0;var d=0,e=0;c[b>>2]=290260;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){SA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);SA(b);return}function Qr(a){a=a|0;var b=0;c[a>>2]=290292;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;ma[c[(c[a>>2]|0)+4>>2]&255](a);return}function Rr(a){a=a|0;var b=0,d=0;c[a>>2]=290292;d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){SA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);SA(a);return}function Sr(a){a=a|0;var b=0;c[a>>2]=290308;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;ma[c[(c[a>>2]|0)+4>>2]&255](a);return}function Tr(a){a=a|0;var b=0,d=0;c[a>>2]=290308;d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){SA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);SA(a);return} +function ky(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;m=b+4|0;h=c[b>>2]|0;j=((c[m>>2]|0)-h|0)/36|0;i=j+1|0;if(i>>>0>119304647)yB();n=b+8|0;l=((c[n>>2]|0)-h|0)/36|0;h=l<<1;h=l>>>0<59652323?(h>>>0<i>>>0?i:h):119304647;do if(h)if(h>>>0>119304647)U();else{k=RA(h*36|0)|0;break}else k=0;while(0);i=k+(j*36|0)|0;l=k+(h*36|0)|0;iy(i,c[d>>2]|0,e,f,c[g>>2]|0);d=i+36|0;j=c[b>>2]|0;h=c[m>>2]|0;if((h|0)==(j|0)){h=i;k=j;i=j}else{do{f=h;h=h+-36|0;c[i+-36>>2]=c[h>>2];g=i+-32|0;e=f+-32|0;c[g>>2]=0;k=i+-28|0;c[k>>2]=0;o=i+-24|0;c[o>>2]=0;c[g>>2]=c[e>>2];g=f+-28|0;c[k>>2]=c[g>>2];k=f+-24|0;c[o>>2]=c[k>>2];c[k>>2]=0;c[g>>2]=0;c[e>>2]=0;e=i+-20|0;g=f+-20|0;c[e>>2]=0;k=i+-16|0;c[k>>2]=0;o=i+-12|0;c[o>>2]=0;c[e>>2]=c[g>>2];e=f+-16|0;c[k>>2]=c[e>>2];k=f+-12|0;c[o>>2]=c[k>>2];c[k>>2]=0;c[e>>2]=0;c[g>>2]=0;g=i+-8|0;f=f+-8|0;c[g>>2]=c[f>>2];a[g+4>>0]=a[f+4>>0]|0;i=i+-36|0}while((h|0)!=(j|0));h=i;k=c[b>>2]|0;i=c[m>>2]|0}c[b>>2]=h;c[m>>2]=d;c[n>>2]=l;j=k;if((i|0)!=(j|0))do{h=c[i+-20>>2]|0;if(h|0){c[i+-16>>2]=h;SA(h)}h=c[i+-32>>2]|0;if(h|0){c[i+-28>>2]=h;SA(h)}i=i+-36|0}while((i|0)!=(j|0));if(!k)return;SA(k);return}function ly(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=aa;aa=aa+64|0;s=y+16|0;x=y+8|0;h=y;u=y+48|0;w=y+36|0;v=y+24|0;if(!d){aa=y;return}r=b+36|0;p=b+40|0;d=c[r>>2]|0;t=(c[p>>2]|0)-d|0;g=(t|0)/36|0;if(!t){c[h>>2]=0;c[h+4>>2]=g+-1;jy(b,329610,h);d=0}else d=c[d+((g+-1|0)*36|0)+28>>2]|0;c[u>>2]=0;t=u+4|0;c[t>>2]=0;n=u+8|0;c[n>>2]=0;o=b+24|0;m=b+28|0;q=((c[m>>2]|0)-(c[o>>2]|0)>>2)-d|0;l=(c[f+4>>2]|0)-(c[f>>2]|0)|0;k=l>>2;k=(l|0)==0?(q>>>0<4?q:4):q>>>0<k>>>0?q:k;q=(k|0)==(q|0);if(k|0){l=0;do{j=k-l|0;d=c[r>>2]|0;i=(c[p>>2]|0)-d|0;h=(i|0)/36|0;do if(i){g=c[o>>2]|0;i=(c[m>>2]|0)-g>>2;if((j+-1+(c[d+((h+-1|0)*36|0)+28>>2]|0)|0)>>>0<i>>>0){g=c[g+(i-j<<2)>>2]|0;c[w>>2]=g;break}else{c[w>>2]=0;g=0;break}}else{c[s>>2]=0;c[s+4>>2]=h+-1;jy(b,329610,s);g=0}while(0);d=c[t>>2]|0;if((d|0)==(c[n>>2]|0))Kn(u,w);else{c[d>>2]=g;c[t>>2]=d+4}l=l+1|0}while((l|0)!=(k|0))}d=RA(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=17;g=d;h=329638;i=g+17|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+17>>0]=0;mB(w,e)|0;mB(w,329656)|0;my(v,f,0);f=v+11|0;e=a[f>>0]|0;s=e<<24>>24<0;lB(w,s?c[v>>2]|0:v,s?c[v+4>>2]|0:e&255)|0;if((a[f>>0]|0)<0)SA(c[v>>2]|0);mB(w,329668)|0;my(v,u,q?0:329678);f=v+11|0;e=a[f>>0]|0;s=e<<24>>24<0;lB(w,s?c[v>>2]|0:v,s?c[v+4>>2]|0:e&255)|0;if((a[f>>0]|0)<0)SA(c[v>>2]|0);v=w+11|0;c[x>>2]=(a[v>>0]|0)<0?c[w>>2]|0:w;jy(b,329683,x);if((a[v>>0]|0)<0)SA(c[w>>2]|0);d=c[u>>2]|0;if(d|0){c[t>>2]=d;SA(d)}aa=y;return}function my(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+11>>0]=1;a[b>>0]=91;a[b+1>>0]=0;if(e|0)mB(b,e)|0;h=d+4|0;e=c[d>>2]|0;if((c[h>>2]|0)==(e|0)){mB(b,329686)|0;return}g=0;do{do switch(c[e+(g<<2)>>2]|0){case -1:{e=329758;break}case -2:{e=329754;break}case -3:{e=329750;break}case -4:{e=329746;break}case -5:{e=329741;break}case -16:{e=329733;break}case -32:{e=329728;break}case -24:{e=329717;break}case -64:{e=329712;break}case 0:{e=329708;break}case -17:{e=329701;break}default:e=329688}while(0);mB(b,e)|0;e=c[d>>2]|0;f=(c[h>>2]|0)-e>>2;if(g>>>0<(f+-1|0)>>>0){mB(b,329762)|0;f=c[d>>2]|0;e=f;f=(c[h>>2]|0)-f>>2}g=g+1|0}while(g>>>0<f>>>0);mB(b,329686)|0;return}function ny(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;v=aa;aa=aa+16|0;u=v;p=d+4|0;f=c[p>>2]|0;g=c[d>>2]|0;h=f-g|0;if(!h){u=0;ly(b,u,e,d);aa=v;return u|0}s=b+36|0;q=b+40|0;t=b+24|0;r=b+28|0;m=f;o=0;f=0;h=h>>2;do{l=h-o|0;n=c[g+(o<<2)>>2]|0;h=c[s>>2]|0;k=(c[q>>2]|0)-h|0;i=(k|0)/36|0;do if(k){k=i+-1|0;i=c[t>>2]|0;j=(c[r>>2]|0)-i>>2;if((l+-1+(c[h+(k*36|0)+28>>2]|0)|0)>>>0<j>>>0){i=c[i+(j-l<<2)>>2]|0;h=0;break}else{i=0;h=(a[h+(k*36|0)+32>>0]|0)==0;break}}else{c[u>>2]=0;c[u+4>>2]=i+-1;jy(b,329610,u);m=c[p>>2]|0;g=c[d>>2]|0;i=0;h=1}while(0);f=((f|0)==1|(h|(i|0)!=0&((n|0)!=0&(i|0)!=(n|0))))&1;o=o+1|0;h=m-g>>2}while(h>>>0>o>>>0);ly(b,f,e,d);aa=v;return f|0}function oy(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;n=aa;aa=aa+32|0;m=n;k=n+20|0;l=n+8|0;h=c[d>>2]|0;f=(c[d+4>>2]|0)-h|0;j=f>>2;g=c[e>>2]|0;i=g;if((j|0)==((c[e+4>>2]|0)-g>>2|0)){if(!f){m=0;aa=n;return m|0}g=0;f=0;while(1){o=c[h+(g<<2)>>2]|0;p=c[i+(g<<2)>>2]|0;f=(f|0)==1|(o|0)!=0&((p|0)!=0&(p|0)!=(o|0));g=g+1|0;if(g>>>0>=j>>>0)break;else f=f&1}if(!f){p=0;aa=n;return p|0}}my(k,e,0);f=k+11|0;j=(a[f>>0]|0)<0?c[k>>2]|0:k;my(l,d,0);p=l+11|0;o=(a[p>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=j;c[m+4>>2]=o;jy(b,329765,m);if((a[p>>0]|0)<0)SA(c[l>>2]|0);if((a[f>>0]|0)<0)SA(c[k>>2]|0);p=1;aa=n;return p|0}function py(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;n=aa;aa=aa+16|0;f=n;m=ny(b,d,e)|0;l=(c[d+4>>2]|0)-(c[d>>2]|0)|0;k=l>>2;e=c[b+36>>2]|0;j=(c[b+40>>2]|0)-e|0;d=(j|0)/36|0;if(!j){c[f>>2]=0;c[f+4>>2]=d+-1;jy(b,329610,f);l=1;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}i=d+-1|0;h=c[e+(i*36|0)+28>>2]|0;j=b+24|0;b=b+28|0;d=c[b>>2]|0;f=c[j>>2]|0;g=d-f>>2;if((h+k|0)>>>0<=g>>>0){if(!l){l=0;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}c[b>>2]=d+(0-k<<2);l=0;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}if(h>>>0<=g>>>0){if(h>>>0<g>>>0)c[b>>2]=f+(h<<2)}else Qt(j,h-g|0);l=(a[e+(i*36|0)+32>>0]|0)==0;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}function qy(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;q=aa;aa=aa+16|0;g=q;p=q+8|0;o=ny(b,d,f)|0;n=(c[d+4>>2]|0)-(c[d>>2]|0)|0;m=n>>2;f=c[b+36>>2]|0;l=(c[b+40>>2]|0)-f|0;d=(l|0)/36|0;do if(!l){c[g>>2]=0;c[g+4>>2]=d+-1;jy(b,329610,g);f=1}else{k=d+-1|0;d=c[f+(k*36|0)+28>>2]|0;l=b+24|0;i=b+28|0;g=c[i>>2]|0;h=c[l>>2]|0;j=g-h>>2;if((d+m|0)>>>0<=j>>>0){if(!n){f=0;break}c[i>>2]=g+(0-m<<2);f=0;break}if(d>>>0<=j>>>0){if(d>>>0<j>>>0)c[i>>2]=h+(d<<2)}else Qt(l,d-j|0);f=(a[f+(k*36|0)+32>>0]|0)==0}while(0);l=((o|0)==1|f)&1;f=c[e>>2]|0;i=c[e+4>>2]|0;if((f|0)==(i|0)){aa=q;return l|0}j=b+28|0;k=b+32|0;h=b+24|0;do{d=c[f>>2]|0;c[p>>2]=d;do if((d|0)!=-64){g=c[j>>2]|0;if((g|0)==(c[k>>2]|0)){Kn(h,p);break}else{c[g>>2]=d;c[j>>2]=g+4;break}}while(0);f=f+4|0}while((f|0)!=(i|0));aa=q;return l|0}function ry(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;p=aa;aa=aa+32|0;o=p+8|0;g=p;j=p+16|0;k=b+36|0;n=b+40|0;f=c[k>>2]|0;l=(c[n>>2]|0)-f|0;h=(l|0)/36|0;if(l){i=h+-1|0;g=c[b+24>>2]|0;h=(c[b+28>>2]|0)-g>>2;if((c[f+(i*36|0)+28>>2]|0)>>>0<h>>>0){g=c[g+(h+-1<<2)>>2]|0;f=0}else{g=0;f=(a[f+(i*36|0)+32>>0]|0)==0}f=f|(g|0)!=0&((d|0)!=0&(g|0)!=(d|0));if(f)m=7;else l=f}else{c[g>>2]=0;c[g+4>>2]=h+-1;jy(b,329610,g);f=1;m=7}if((m|0)==7){l=RA(4)|0;c[j>>2]=l;m=l+4|0;c[j+8>>2]=m;c[l>>2]=d;c[j+4>>2]=m;ly(b,1,e,j);SA(l);l=f}f=c[k>>2]|0;n=(c[n>>2]|0)-f|0;g=(n|0)/36|0;if(!n){c[o>>2]=0;c[o+4>>2]=g+-1;jy(b,329610,o);b=1;b=l|b;b=b&1;aa=p;return b|0}j=g+-1|0;d=c[f+(j*36|0)+28>>2]|0;k=b+24|0;i=b+28|0;g=c[i>>2]|0;h=c[k>>2]|0;e=g-h>>2;if((d+1|0)>>>0<=e>>>0){c[i>>2]=g+-4;b=0;b=l|b;b=b&1;aa=p;return b|0}if(d>>>0<=e>>>0){if(d>>>0<e>>>0)c[i>>2]=h+(d<<2)}else Qt(k,d-e|0);b=(a[f+(j*36|0)+32>>0]|0)==0;b=l|b;b=b&1;aa=p;return b|0}function sy(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,r=0,s=0;s=aa;aa=aa+48|0;r=s+16|0;m=s+8|0;g=s;p=s+24|0;o=b+36|0;q=b+40|0;i=c[q>>2]|0;j=c[o>>2]|0;n=i-j|0;h=(n|0)/36|0;do if(n){l=j;k=h+-1|0;g=c[b+24>>2]|0;h=(c[b+28>>2]|0)-g>>2;if((c[l+(k*36|0)+28>>2]|0)>>>0<h>>>0){h=c[g+(h+-1<<2)>>2]|0;g=0;break}else{h=0;g=(a[l+(k*36|0)+32>>0]|0)==0;break}}else{c[g>>2]=0;c[g+4>>2]=h+-1;jy(b,329610,g);i=c[q>>2]|0;j=c[o>>2]|0;h=0;g=1}while(0);k=g|(h|0)!=0&((e|0)!=0&(h|0)!=(e|0));n=i-j|0;g=(n|0)/36|0;do if(n){i=g+-1|0;g=c[b+24>>2]|0;h=(c[b+28>>2]|0)-g>>2;if(((c[j+(i*36|0)+28>>2]|0)+1|0)>>>0<h>>>0){h=c[g+(h+-2<<2)>>2]|0;g=0;break}else{h=0;g=(a[j+(i*36|0)+32>>0]|0)==0;break}}else{c[m>>2]=0;c[m+4>>2]=g+-1;jy(b,329610,m);h=0;g=1}while(0);n=k|(g|(h|0)!=0&((d|0)!=0&(h|0)!=(d|0)));if(n){m=RA(8)|0;c[p>>2]=m;l=m+8|0;c[p+8>>2]=l;c[m>>2]=d;c[m+4>>2]=e;c[p+4>>2]=l;ly(b,1,f,p);SA(m)}g=c[o>>2]|0;q=(c[q>>2]|0)-g|0;h=(q|0)/36|0;if(!q){c[r>>2]=0;c[r+4>>2]=h+-1;jy(b,329610,r);b=1;b=n|b;b=b&1;aa=s;return b|0}m=h+-1|0;l=c[g+(m*36|0)+28>>2]|0;f=b+24|0;j=b+28|0;h=c[j>>2]|0;i=c[f>>2]|0;k=h-i>>2;if((l+2|0)>>>0<=k>>>0){c[j>>2]=h+-8;b=0;b=n|b;b=b&1;aa=s;return b|0}if(l>>>0<=k>>>0){if(l>>>0<k>>>0)c[j>>2]=i+(l<<2)}else Qt(f,l-k|0);b=(a[g+(m*36|0)+32>>0]|0)==0;b=n|b;b=b&1;aa=s;return b|0}function ty(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;u=aa;aa=aa+48|0;t=u+24|0;p=u+16|0;o=u+8|0;h=u;r=u+32|0;q=b+36|0;s=b+40|0;j=c[s>>2]|0;k=c[q>>2]|0;n=j-k|0;i=(n|0)/36|0;do if(n){m=k;l=i+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if((c[m+(l*36|0)+28>>2]|0)>>>0<i>>>0){i=c[h+(i+-1<<2)>>2]|0;h=0;break}else{i=0;h=(a[m+(l*36|0)+32>>0]|0)==0;break}}else{c[h>>2]=0;c[h+4>>2]=i+-1;jy(b,329610,h);j=c[s>>2]|0;k=c[q>>2]|0;i=0;h=1}while(0);n=h|(i|0)!=0&((f|0)!=0&(i|0)!=(f|0));m=j-k|0;h=(m|0)/36|0;do if(m){m=k;l=h+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if(((c[m+(l*36|0)+28>>2]|0)+1|0)>>>0<i>>>0){i=c[h+(i+-2<<2)>>2]|0;h=0;break}else{i=0;h=(a[m+(l*36|0)+32>>0]|0)==0;break}}else{c[o>>2]=0;c[o+4>>2]=h+-1;jy(b,329610,o);j=c[s>>2]|0;k=c[q>>2]|0;i=0;h=1}while(0);l=n|(h|(i|0)!=0&((e|0)!=0&(i|0)!=(e|0)));o=j-k|0;h=(o|0)/36|0;do if(o){j=h+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if(((c[k+(j*36|0)+28>>2]|0)+2|0)>>>0<i>>>0){i=c[h+(i+-3<<2)>>2]|0;h=0;break}else{i=0;h=(a[k+(j*36|0)+32>>0]|0)==0;break}}else{c[p>>2]=0;c[p+4>>2]=h+-1;jy(b,329610,p);i=0;h=1}while(0);if(l|(h|(i|0)!=0&((d|0)!=0&(i|0)!=(d|0)))){p=RA(12)|0;c[r>>2]=p;o=p+12|0;c[r+8>>2]=o;c[p>>2]=d;c[p+4>>2]=e;c[p+8>>2]=f;c[r+4>>2]=o;ly(b,1,g,r);SA(p)}i=c[q>>2]|0;s=(c[s>>2]|0)-i|0;h=(s|0)/36|0;if(!s){c[t>>2]=0;c[t+4>>2]=h+-1;jy(b,329610,t);aa=u;return}l=c[i+((h+-1|0)*36|0)+28>>2]|0;m=b+24|0;j=b+28|0;h=c[j>>2]|0;i=c[m>>2]|0;k=h-i>>2;if((l+3|0)>>>0<=k>>>0){c[j>>2]=h+-12;aa=u;return}if(l>>>0>k>>>0){Qt(m,l-k|0);aa=u;return}if(l>>>0>=k>>>0){aa=u;return}c[j>>2]=i+(l<<2);aa=u;return}function uy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;g=h;em(g,b);e=c[g+8>>2]|0;em(g,b);f=c[g+12>>2]|0;em(g,b);f=sy(a,e,f,c[g>>2]|0)|0;em(g,b);b=c[g+4>>2]|0;c[g>>2]=b;if((b|0)==-64){aa=h;return f|0}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,g);aa=h;return f|0}else{c[d>>2]=b;c[e>>2]=d+4;aa=h;return f|0}return 0}function vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;em(f,b);h=c[f+8>>2]|0;em(f,b);d=c[f+12>>2]|0;em(f,b);e=c[f+16>>2]|0;em(f,b);ty(a,h,d,e,c[f>>2]|0);em(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function wy(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=aa;aa=aa+32|0;l=o+16|0;n=o+12|0;m=o;h=a+24|0;f=c[h>>2]|0;g=a+28|0;c[g>>2]=f;k=a+36|0;i=c[k>>2]|0;j=a+40|0;d=c[j>>2]|0;if((d|0)==(i|0)){e=f;d=f}else{do{e=c[d+-20>>2]|0;if(e|0){c[d+-16>>2]=e;SA(e)}e=c[d+-32>>2]|0;if(e|0){c[d+-28>>2]=e;SA(e)}d=d+-36|0}while((d|0)!=(i|0));e=c[g>>2]|0;d=c[h>>2]|0}c[j>>2]=i;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[l>>2]=0;d=e-d>>2;c[n>>2]=d;if(i>>>0<(c[a+44>>2]|0)>>>0){iy(i,0,m,b,d);c[j>>2]=(c[j>>2]|0)+36;aa=o;return}else{ky(k,l,m,b,n);aa=o;return}}function xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;em(f,b);e=c[f+8>>2]|0;em(f,b);ry(a,e,c[f>>2]|0)|0;em(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function yy(a,b){a=a|0;b=b|0;uy(a,b)|0;return}function zy(a,b){a=a|0;b=b|0;uy(a,b)|0;return}function Ay(a,b){a=a|0;b=b|0;vy(a,b);return}function By(a,b){a=a|0;b=b|0;vy(a,b);return}function Cy(a,b){a=a|0;b=b|0;uy(a,b)|0;return}function Dy(a,b){a=a|0;b=b|0;uy(a,b)|0;return}function Ey(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=aa;aa=aa+16|0;j=l+4|0;g=l;py(a,b,329828)|0;c[j>>2]=1;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){iy(e,1,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else ky(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){Kn(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function Fy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k+8|0;h=k;f=b+36|0;i=b+40|0;e=c[f>>2]|0;g=((c[i>>2]|0)-e|0)/36|0;if(g>>>0<=d>>>0){c[h>>2]=d;c[h+4>>2]=g+-1;jy(b,329610,h);aa=k;return}d=g+~d|0;ny(b,(c[e+(d*36|0)>>2]|0)==2?e+(d*36|0)+4|0:e+(d*36|0)+16|0,329834)|0;d=c[f>>2]|0;i=(c[i>>2]|0)-d|0;e=(i|0)/36|0;if(!i){c[j>>2]=0;c[j+4>>2]=e+-1;jy(b,329610,j);aa=k;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;d=b+28|0;e=c[h>>2]|0;f=(c[d>>2]|0)-e>>2;if(g>>>0>f>>>0){Qt(h,g-f|0);aa=k;return}if(g>>>0>=f>>>0){aa=k;return}c[d>>2]=e+(g<<2);aa=k;return}function Gy(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=aa;aa=aa+16|0;f=k;j=k+8|0;ry(a,-1,329837)|0;d=c[a+36>>2]|0;e=((c[a+40>>2]|0)-d|0)/36|0;if(e>>>0<=b>>>0){c[f>>2]=b;c[f+4>>2]=e+-1;jy(a,329610,f);aa=k;return}h=d;g=e+~b|0;i=h+(g*36|0)|0;d=h+(g*36|0)+4|0;g=h+(g*36|0)+16|0;py(a,(c[i>>2]|0)==2?d:g,329837)|0;g=(c[i>>2]|0)==2?d:g;d=c[g>>2]|0;g=c[g+4>>2]|0;if((d|0)==(g|0)){aa=k;return}h=a+28|0;i=a+32|0;f=a+24|0;do{b=c[d>>2]|0;c[j>>2]=b;do if((b|0)!=-64){e=c[h>>2]|0;if((e|0)==(c[i>>2]|0)){Kn(f,j);break}else{c[e>>2]=b;c[h>>2]=e+4;break}}while(0);d=d+4|0}while((d|0)!=(g|0));aa=k;return}function Hy(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;o=aa;aa=aa+48|0;m=o+8|0;h=o;n=o+28|0;l=o+16|0;ry(b,-24,329843)|0;f=c[b+36>>2]|0;g=((c[b+40>>2]|0)-f|0)/36|0;if(g>>>0<=d>>>0){c[h>>2]=d;c[h+4>>2]=g+-1;jy(b,329610,h);aa=o;return}i=g+~d|0;i=(c[f+(i*36|0)>>2]|0)==2?f+(i*36|0)+4|0:f+(i*36|0)+16|0;g=c[e>>2]|0;f=(c[e+4>>2]|0)-g|0;j=f>>2;d=c[i>>2]|0;h=d;if((j|0)==((c[i+4>>2]|0)-d>>2|0)){if(f|0){d=0;f=0;while(1){p=c[g+(d<<2)>>2]|0;q=c[h+(d<<2)>>2]|0;f=(f|0)==1|(p|0)!=0&((q|0)!=0&(q|0)!=(p|0));d=d+1|0;if(d>>>0>=j>>>0)break;else f=f&1}if(f)k=8}}else k=8;if((k|0)==8){my(n,i,0);f=n+11|0;k=(a[f>>0]|0)<0?c[n>>2]|0:n;my(l,e,0);q=l+11|0;p=(a[q>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=k;c[m+4>>2]=p;jy(b,329853,m);if((a[q>>0]|0)<0)SA(c[l>>2]|0);if((a[f>>0]|0)<0)SA(c[n>>2]|0)}c[n>>2]=-24;d=b+28|0;f=c[d>>2]|0;if((f|0)==(c[b+32>>2]|0))Kn(b+24|0,n);else{c[f>>2]=-24;c[d>>2]=f+4}aa=o;return}function Iy(a){a=a|0;c[a+48>>2]=0;ry(a,-1,329907)|0;return}function Jy(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;l=aa;aa=aa+48|0;k=l+8|0;g=l;i=l+28|0;j=l+16|0;e=c[b+36>>2]|0;f=((c[b+40>>2]|0)-e|0)/36|0;if(f>>>0<=d>>>0){c[g>>2]=d;c[g+4>>2]=f+-1;jy(b,329610,g);aa=l;return}h=f+~d|0;h=(c[e+(h*36|0)>>2]|0)==2?e+(h*36|0)+4|0:e+(h*36|0)+16|0;ny(b,h,329907)|0;d=b+48|0;e=c[d>>2]|0;if(!e){c[d>>2]=h;e=h}n=c[e+4>>2]|0;m=c[e>>2]|0;f=c[h>>2]|0;d=m;g=n;a:do if((n-m|0)==((c[h+4>>2]|0)-f|0)){if((d|0)==(g|0)){aa=l;return}while(1){if((c[d>>2]|0)!=(c[f>>2]|0))break a;d=d+4|0;if((d|0)==(g|0))break;else f=f+4|0}aa=l;return}while(0);my(i,e,0);e=i+11|0;g=(a[e>>0]|0)<0?c[i>>2]|0:i;my(j,h,0);n=j+11|0;m=(a[n>>0]|0)<0?c[j>>2]|0:j;c[k>>2]=g;c[k+4>>2]=m;jy(b,329916,k);if((a[n>>0]|0)<0)SA(c[j>>2]|0);if((a[e>>0]|0)<0)SA(c[i>>2]|0);aa=l;return}function Ky(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;jy(b,329610,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){Qt(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;qy(a,b,c,329977)|0;return}function My(a,b,c){a=a|0;b=b|0;c=c|0;ry(a,-1,329982)|0;qy(a,b,c,329982)|0;return}function Ny(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;k=aa;aa=aa+16|0;j=k+8|0;i=k;py(b,d,329996)|0;f=b+36|0;h=b+40|0;d=c[f>>2]|0;l=(c[h>>2]|0)-d|0;g=((l|0)/36|0)+-1|0;if(!l){c[i>>2]=g;c[i+4>>2]=g;jy(b,329610,i);aa=k;return}oy(b,e,d+16|0)|0;f=c[f>>2]|0;l=(c[h>>2]|0)-f|0;d=(l|0)/36|0;if(!l){c[j>>2]=0;c[j+4>>2]=d+-1;jy(b,329610,j);aa=k;return}h=d+-1|0;a[f+(h*36|0)+32>>0]=1;e=b+24|0;h=c[f+(h*36|0)+28>>2]|0;f=b+28|0;d=c[e>>2]|0;g=(c[f>>2]|0)-d>>2;if(h>>>0>g>>>0){Qt(e,h-g|0);aa=k;return}if(h>>>0>=g>>>0){aa=k;return}c[f>>2]=d+(h<<2);aa=k;return}function Oy(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;k=aa;aa=aa+16|0;j=k+8|0;i=k;ry(b,-1,330008)|0;py(b,d,330008)|0;f=b+36|0;h=b+40|0;d=c[f>>2]|0;l=(c[h>>2]|0)-d|0;g=((l|0)/36|0)+-1|0;if(!l){c[i>>2]=g;c[i+4>>2]=g;jy(b,329610,i);aa=k;return}oy(b,e,d+16|0)|0;f=c[f>>2]|0;l=(c[h>>2]|0)-f|0;d=(l|0)/36|0;if(!l){c[j>>2]=0;c[j+4>>2]=d+-1;jy(b,329610,j);aa=k;return}h=d+-1|0;a[f+(h*36|0)+32>>0]=1;e=b+24|0;h=c[f+(h*36|0)+28>>2]|0;f=b+28|0;d=c[e>>2]|0;g=(c[f>>2]|0)-d>>2;if(h>>>0>g>>>0){Qt(e,h-g|0);aa=k;return}if(h>>>0>=g>>>0){aa=k;return}c[f>>2]=d+(h<<2);aa=k;return}function Py(a,b){a=a|0;b=b|0;uy(a,b)|0;return}function Qy(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;n=aa;aa=aa+32|0;i=n+8|0;e=n;m=n+16|0;g=b+36|0;h=b+40|0;d=c[g>>2]|0;l=(c[h>>2]|0)-d|0;f=(l|0)/36|0;if(!l){c[e>>2]=0;c[e+4>>2]=f+-1;jy(b,329610,e);aa=n;return}l=f+-1|0;k=d+(l*36|0)|0;py(b,d+(l*36|0)+16|0,330029)|0;f=c[g>>2]|0;j=(c[h>>2]|0)-f|0;e=(j|0)/36|0;if(j){h=b+24|0;g=b+28|0;if(((c[g>>2]|0)-(c[h>>2]|0)>>2|0)==(c[f+((e+-1|0)*36|0)+28>>2]|0)){f=h;e=g;j=g;i=h}else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;ly(b,1,330029,m);f=h;e=g;j=g;i=h}}else{c[i>>2]=0;c[i+4>>2]=e+-1;jy(b,329610,i);i=b+24|0;j=b+28|0;f=i;e=j}h=c[d+(l*36|0)+28>>2]|0;e=c[e>>2]|0;f=c[f>>2]|0;g=e-f>>2;if(h>>>0<=g>>>0){if(h>>>0<g>>>0){e=f+(h<<2)|0;c[j>>2]=e}}else{Qt(i,h-g|0);e=c[j>>2]|0}c[k>>2]=6;a[d+(l*36|0)+32>>0]=0;c[m>>2]=-24;if((e|0)==(c[b+32>>2]|0))Kn(i,m);else{c[e>>2]=-24;c[j>>2]=e+4}aa=n;return}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;em(f,b);e=c[f+8>>2]|0;em(f,b);ry(a,e,c[f>>2]|0)|0;em(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Ty(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;n=aa;aa=aa+32|0;e=n;l=n+20|0;m=n+8|0;d=c[b+36>>2]|0;k=(c[b+40>>2]|0)-d|0;f=(k|0)/36|0;if(k){j=f+-1|0;e=c[d+(j*36|0)+28>>2]|0;k=b+24|0;h=b+28|0;f=c[h>>2]|0;g=c[k>>2]|0;i=f-g>>2;if((e+1|0)>>>0<=i>>>0){c[h>>2]=f+-4;aa=n;return}if(e>>>0<=i>>>0){if(e>>>0<i>>>0)c[h>>2]=g+(e<<2)}else Qt(k,e-i|0);if(a[d+(j*36|0)+32>>0]|0){aa=n;return}}else{c[e>>2]=0;c[e+4>>2]=f+-1;jy(b,329610,e)}c[l>>2]=1;l=RA(4)|0;c[m>>2]=l;k=l+4|0;c[m+8>>2]=k;c[l>>2]=0;c[m+4>>2]=k;ly(b,1,330039,m);SA(l);aa=n;return}function Uy(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;p=aa;aa=aa+32|0;i=p+8|0;e=p;o=p+16|0;g=b+36|0;h=b+40|0;d=c[g>>2]|0;n=(c[h>>2]|0)-d|0;f=(n|0)/36|0;if(!n){c[e>>2]=0;c[e+4>>2]=f+-1;jy(b,329610,e);o=1;aa=p;return o|0}n=f+-1|0;m=d+(n*36|0)|0;j=(c[m>>2]|0)!=3;j=j|(py(b,d+(n*36|0)+16|0,330044)|0)==1;f=c[g>>2]|0;l=(c[h>>2]|0)-f|0;e=(l|0)/36|0;if(l){h=b+24|0;g=b+28|0;e=((c[g>>2]|0)-(c[h>>2]|0)>>2|0)!=(c[f+((e+-1|0)*36|0)+28>>2]|0);if(e){c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;ly(b,1,330044,o);f=h;i=g;l=g;k=h}else{f=h;i=g;l=g;k=h}}else{c[i>>2]=0;c[i+4>>2]=e+-1;jy(b,329610,i);k=b+24|0;l=b+28|0;f=k;i=l;e=1}j=(j|e)&1;g=c[d+(n*36|0)+28>>2]|0;f=c[f>>2]|0;e=(c[i>>2]|0)-f>>2;if(g>>>0<=e>>>0){if(g>>>0<e>>>0)c[l>>2]=f+(g<<2)}else Qt(k,g-e|0);e=c[d+(n*36|0)+4>>2]|0;i=c[d+(n*36|0)+8>>2]|0;if((e|0)!=(i|0)){h=b+32|0;do{f=c[e>>2]|0;c[o>>2]=f;do if((f|0)!=-64){g=c[l>>2]|0;if((g|0)==(c[h>>2]|0)){Kn(k,o);break}else{c[g>>2]=f;c[l>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(i|0))}c[m>>2]=4;a[d+(n*36|0)+32>>0]=0;o=j;aa=p;return o|0}function Vy(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=aa;aa=aa+32|0;f=p;n=p+8|0;m=b+16|0;j=(py(a,m,d)|0)==1;o=a+40|0;d=c[a+36>>2]|0;l=(c[o>>2]|0)-d|0;g=(l|0)/36|0;if(l){h=a+24|0;f=a+28|0;d=((c[f>>2]|0)-(c[h>>2]|0)>>2|0)!=(c[d+((g+-1|0)*36|0)+28>>2]|0);if(d){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;ly(a,1,e,n);e=h;i=f;l=f;k=h}else{e=h;i=f;l=f;k=h}}else{c[f>>2]=0;c[f+4>>2]=g+-1;jy(a,329610,f);k=a+24|0;l=a+28|0;e=k;i=l;d=1}j=(j|d)&1;g=c[b+28>>2]|0;f=c[e>>2]|0;d=(c[i>>2]|0)-f>>2;if(g>>>0<=d>>>0){if(g>>>0<d>>>0)c[l>>2]=f+(g<<2)}else Qt(k,g-d|0);d=c[m>>2]|0;h=c[b+20>>2]|0;if((d|0)!=(h|0)){e=a+32|0;do{f=c[d>>2]|0;c[n>>2]=f;do if((f|0)!=-64){g=c[l>>2]|0;if((g|0)==(c[e>>2]|0)){Kn(k,n);break}else{c[g>>2]=f;c[l>>2]=g+4;break}}while(0);d=d+4|0}while((d|0)!=(h|0))}f=c[o>>2]|0;d=c[f+-20>>2]|0;if(d|0){c[f+-16>>2]=d;SA(d)}d=c[f+-32>>2]|0;if(!d){n=f+-36|0;c[o>>2]=n;aa=p;return j|0}c[f+-28>>2]=d;SA(d);n=f+-36|0;c[o>>2]=n;aa=p;return j|0}function Wy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=aa;aa=aa+16|0;e=f;b=c[a+36>>2]|0;g=(c[a+40>>2]|0)-b|0;d=(g|0)/36|0;if(!g){c[e>>2]=0;c[e+4>>2]=d+-1;jy(a,329610,e);aa=f;return}d=b+((d+-1|0)*36|0)|0;b=c[d>>2]|0;do if((b|0)==3)if((Uy(a)|0)==1){aa=f;return}else{b=c[d>>2]|0;break}while(0);g=c[279632+(b<<2)>>2]|0;Vy(a,d,g,g)|0;aa=f;return}function Xy(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=aa;aa=aa+16|0;j=l+4|0;g=l;ry(a,-1,330073)|0;py(a,b,330073)|0;c[j>>2]=3;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){iy(e,3,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else ky(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){Kn(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function Yy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Zy(a,b){a=a|0;b=b|0;ry(a,b,330106)|0;return}function _y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;em(f,b);e=c[f+8>>2]|0;em(f,b);ry(a,e,c[f>>2]|0)|0;em(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function $y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function az(a,b){a=a|0;b=b|0;ry(a,b,330117)|0;return}function bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;ry(a,b,330127)|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function cz(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=aa;aa=aa+16|0;j=l+4|0;g=l;py(a,b,330068)|0;c[j>>2]=2;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){iy(e,2,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else ky(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){Kn(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function dz(a){a=a|0;vy(a,199);return}function ez(a){a=a|0;vy(a,200);return}function fz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;em(f,51);b=c[f+8>>2]|0;em(f,51);ry(a,b,c[f>>2]|0)|0;em(f,51);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function gz(a){a=a|0;vy(a,197);return}function hz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Kn(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function iz(a){a=a|0;vy(a,203);return}function jz(a){a=a|0;vy(a,201);return}function kz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;ry(a,-1,330137)|0;c[e>>2]=-17;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Kn(a+24|0,e);aa=f;return}else{c[b>>2]=-17;c[d>>2]=b+4;aa=f;return}}function lz(a){a=a|0;sy(a,-1,-17,330147)|0;return}function mz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;sy(a,-1,-17,330157)|0;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Kn(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function nz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Kn(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function oz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;c[e>>2]=-17;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Kn(a+24|0,e);aa=f;return}else{c[b>>2]=-17;c[d>>2]=b+4;aa=f;return}}function pz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;ry(a,-17,330168)|0;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){Kn(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function qz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;ry(b,-24,330180)|0;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;jy(b,329610,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){Qt(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;py(b,d,330188)|0;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;jy(b,329610,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){Qt(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function sz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+16|0;i=j+8|0;g=j;e=b+36|0;h=b+40|0;d=c[e>>2]|0;k=(c[h>>2]|0)-d|0;f=((k|0)/36|0)+-1|0;if(!k){c[g>>2]=f;c[g+4>>2]=f;jy(b,329610,g);aa=j;return}py(b,d+16|0,330194)|0;e=c[e>>2]|0;k=(c[h>>2]|0)-e|0;d=(k|0)/36|0;if(!k){c[i>>2]=0;c[i+4>>2]=d+-1;jy(b,329610,i);aa=j;return}g=d+-1|0;a[e+(g*36|0)+32>>0]=1;h=b+24|0;g=c[e+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){Qt(h,g-f|0);aa=j;return}if(g>>>0>=f>>>0){aa=j;return}c[e>>2]=d+(g<<2);aa=j;return}function tz(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=aa;aa=aa+48|0;o=q+24|0;l=q+16|0;k=q+8|0;d=q;p=q+32|0;m=b+36|0;n=b+40|0;f=c[n>>2]|0;g=c[m>>2]|0;j=f-g|0;e=(j|0)/36|0;do if(j){i=g;h=e+-1|0;d=c[b+24>>2]|0;e=(c[b+28>>2]|0)-d>>2;if((c[i+(h*36|0)+28>>2]|0)>>>0<e>>>0){e=((c[d+(e+-1<<2)>>2]|0)+1|0)>>>0>1;d=0;break}else{e=0;d=(a[i+(h*36|0)+32>>0]|0)==0;break}}else{c[d>>2]=0;c[d+4>>2]=e+-1;jy(b,329610,d);f=c[n>>2]|0;g=c[m>>2]|0;e=0;d=1}while(0);j=e|d;i=f-g|0;d=(i|0)/36|0;do if(i){e=g;d=d+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if(((c[e+(d*36|0)+28>>2]|0)+1|0)>>>0<i>>>0){d=0;k=c[h+(i+-2<<2)>>2]|0;break}else{d=(a[e+(d*36|0)+32>>0]|0)==0;k=0;break}}else{c[k>>2]=0;c[k+4>>2]=d+-1;jy(b,329610,k);f=c[n>>2]|0;g=c[m>>2]|0;d=1;k=0}while(0);h=j|d;j=f-g|0;d=(j|0)/36|0;do if(j){f=d+-1|0;d=c[b+24>>2]|0;e=(c[b+28>>2]|0)-d>>2;if(((c[g+(f*36|0)+28>>2]|0)+2|0)>>>0<e>>>0){e=c[d+(e+-3<<2)>>2]|0;d=0;break}else{e=0;d=(a[g+(f*36|0)+32>>0]|0)==0;break}}else{c[l>>2]=0;c[l+4>>2]=d+-1;jy(b,329610,l);e=0;d=1}while(0);if(h|(d|(e|0)!=0&((k|0)!=0&(e|0)!=(k|0)))){l=RA(12)|0;c[p>>2]=l;j=l+12|0;c[p+8>>2]=j;c[l>>2]=-1;c[l+4>>2]=k;c[l+8>>2]=k;c[p+4>>2]=j;ly(b,1,330201,p);SA(l)}e=c[m>>2]|0;n=(c[n>>2]|0)-e|0;d=(n|0)/36|0;do if(n){d=c[e+((d+-1|0)*36|0)+28>>2]|0;i=b+24|0;g=b+28|0;e=c[g>>2]|0;f=c[i>>2]|0;h=e-f>>2;if((d+3|0)>>>0<=h>>>0){c[g>>2]=e+-12;break}if(d>>>0>h>>>0){Qt(i,d-h|0);break}if(d>>>0<h>>>0)c[g>>2]=f+(d<<2)}else{c[o>>2]=0;c[o+4>>2]=d+-1;jy(b,329610,o)}while(0);c[p>>2]=k;if((k|0)==-64){aa=q;return}e=b+28|0;d=c[e>>2]|0;if((d|0)==(c[b+32>>2]|0)){Kn(b+24|0,p);aa=q;return}else{c[d>>2]=k;c[e>>2]=d+4;aa=q;return}}function uz(a,b){a=a|0;b=b|0;uy(a,b)|0;return}function vz(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=aa;aa=aa+16|0;j=l+4|0;g=l;py(a,b,330092)|0;c[j>>2]=5;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){iy(e,5,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else ky(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){Kn(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;em(f,b);e=c[f+8>>2]|0;em(f,b);ry(a,e,c[f>>2]|0)|0;em(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){Kn(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function xz(a,b){a=a|0;b=b|0;vy(a,b);return}function yz(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=aa;aa=aa+64|0;g=i;h=i+16|0;f=im(b)|0;if(!(0>e>>>0|0==(e|0)&f>>>0>d>>>0)){c[g>>2]=f;f=g+8|0;c[f>>2]=d;c[f+4>>2]=e;jy(a,330208,g)}switch(b|0){case 232:case 226:case 229:case 223:case 220:case 219:case 216:case 215:{em(h,b);d=c[h+8>>2]|0;em(h,b);ry(a,d,c[h>>2]|0)|0;em(h,b);d=c[h+4>>2]|0;c[h>>2]=d;do if((d|0)!=-64){f=a+28|0;e=c[f>>2]|0;if((e|0)==(c[a+32>>2]|0)){Kn(a+24|0,h);break}else{c[e>>2]=d;c[f>>2]=e+4;break}}while(0);aa=i;return}case 233:case 227:case 230:case 224:case 221:case 217:{uy(a,b)|0;aa=i;return}default:{}}}function zz(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,I=0,J=0,K=0;K=aa;aa=aa+128|0;I=K+120|0;H=K+112|0;F=K+104|0;E=K+96|0;D=K+88|0;C=K+80|0;B=K+72|0;A=K+64|0;z=K+56|0;y=K+48|0;x=K+40|0;w=K+32|0;J=K+24|0;G=K+16|0;v=K+8|0;u=K;f=a[e>>0]|0;o=a[e+1>>0]|0;p=a[e+2>>0]|0;q=a[e+3>>0]|0;r=a[e+4>>0]|0;s=a[e+5>>0]|0;t=a[e+6>>0]|0;g=a[e+7>>0]|0;h=a[e+8>>0]|0;i=a[e+9>>0]|0;j=a[e+10>>0]|0;k=a[e+11>>0]|0;l=a[e+12>>0]|0;m=a[e+13>>0]|0;n=a[e+14>>0]|0;e=a[e+15>>0]|0;if((f&255)>31){c[u>>2]=f&255;jy(b,330251,u)}if((o&255)>31){c[v>>2]=o&255;jy(b,330251,v)}if((p&255)>31){c[G>>2]=p&255;jy(b,330251,G)}if((q&255)>31){c[J>>2]=q&255;jy(b,330251,J)}if((r&255)>31){c[w>>2]=r&255;jy(b,330251,w)}if((s&255)>31){c[x>>2]=s&255;jy(b,330251,x)}if((t&255)>31){c[y>>2]=t&255;jy(b,330251,y)}if((g&255)>31){c[z>>2]=g&255;jy(b,330251,z)}if((h&255)>31){c[A>>2]=h&255;jy(b,330251,A)}if((i&255)>31){c[B>>2]=i&255;jy(b,330251,B)}if((j&255)>31){c[C>>2]=j&255;jy(b,330251,C)}if((k&255)>31){c[D>>2]=k&255;jy(b,330251,D)}if((l&255)>31){c[E>>2]=l&255;jy(b,330251,E)}if((m&255)>31){c[F>>2]=m&255;jy(b,330251,F)}if((n&255)>31){c[H>>2]=n&255;jy(b,330251,H)}if((e&255)<=31){uy(b,d)|0;aa=K;return}c[I>>2]=e&255;jy(b,330251,I);uy(b,d)|0;aa=K;return}function Az(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;jy(b,329610,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){Qt(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function Bz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=aa;aa=aa+16|0;e=f;b=c[a+36>>2]|0;g=(c[a+40>>2]|0)-b|0;d=(g|0)/36|0;if(!g){c[e>>2]=0;c[e+4>>2]=d+-1;jy(a,329610,e);aa=f;return}else{Vy(a,b+((d+-1|0)*36|0)|0,330292,330059)|0;aa=f;return}}function Cz(b,d){b=b|0;d=d|0;var e=0,f=0;f=b+d|0;if((d|0)<=0){f=1;return f|0}a:while(1){e=a[b>>0]|0;d=c[279664+((e&255)<<2)>>2]|0;if((b+d|0)>>>0>f>>>0){b=0;d=14;break}switch(d|0){case 0:{b=0;d=14;break a}case 1:{b=b+1|0;break}case 2:{if((a[b+1>>0]&-64)<<24>>24==-128)b=b+2|0;else{b=0;d=14;break a}break}case 3:{d=a[b+1>>0]|0;if(!((d&-64)<<24>>24==-128?(a[b+2>>0]&-64)<<24>>24==-128:0)){b=0;d=14;break a}if(e<<24>>24==-32&(d&255)<160){b=0;d=14;break a}if(e<<24>>24==-19&(d&255)>159){b=0;d=14;break a}else b=b+3|0;break}case 4:{d=a[b+1>>0]|0;if(!(((d&-64)<<24>>24==-128?(a[b+2>>0]&-64)<<24>>24==-128:0)&(a[b+3>>0]&-64)<<24>>24==-128)){b=0;d=14;break a}if(e<<24>>24==-16&(d&255)<144){b=0;d=14;break a}if(e<<24>>24==-12&(d&255)>143){b=0;d=14;break a}else b=b+4|0;break}default:{}}if(b>>>0>=f>>>0){b=1;d=14;break}}if((d|0)==14)return b|0;return 0}function Dz(a){a=a|0;var b=0,d=0;b=aa;aa=aa+16|0;d=b;a=Hz(c[a+60>>2]|0)|0;c[d>>2]=a;a=Fz(T(6,d|0)|0)|0;aa=b;return a|0}function Ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=aa;aa=aa+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Fz(Q(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;aa=f;return a|0}function Fz(a){a=a|0;if(a>>>0>4294963200){c[87846]=0-a;a=-1}return a|0}function Gz(){return 351384}function Hz(a){a=a|0;return a|0}function Iz(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=aa;aa=aa+48|0;i=m+32|0;f=m+16|0;e=m;j=a+28|0;g=c[j>>2]|0;c[e>>2]=g;k=a+20|0;g=(c[k>>2]|0)-g|0;c[e+4>>2]=g;c[e+8>>2]=b;c[e+12>>2]=d;g=g+d|0;h=a+60|0;c[f>>2]=c[h>>2];c[f+4>>2]=e;c[f+8>>2]=2;b=Fz(R(146,f|0)|0)|0;a:do if((g|0)!=(b|0)){f=2;while(1){if((b|0)<0)break;g=g-b|0;o=c[e+4>>2]|0;n=b>>>0>o>>>0;e=n?e+8|0:e;f=f+(n<<31>>31)|0;o=b-(n?o:0)|0;c[e>>2]=(c[e>>2]|0)+o;n=e+4|0;c[n>>2]=(c[n>>2]|0)-o;c[i>>2]=c[h>>2];c[i+4>>2]=e;c[i+8>>2]=f;b=Fz(R(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((f|0)==2)d=0;else d=d-(c[e+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[j>>2]=o;c[k>>2]=o}aa=m;return d|0}function Jz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=aa;aa=aa+16|0;g=f;c[g>>2]=e;e=Mz(a,b,d,g)|0;aa=f;return e|0}function Kz(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 Lz(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3)){d=b;e=5}else{d=f;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=b;if(!(d&3)){d=b;e=5;break}}}while(0);if((e|0)==5){while(1){b=c[d>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))d=d+4|0;else break}if((b&255)<<24>>24)do d=d+1|0;while((a[d>>0]|0)!=0)}return d-f|0}function Mz(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=aa;aa=aa+128|0;g=m+124|0;l=m;h=l;i=291540;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;k=4}else{c[87846]=75;g=-1}else{g=b;k=4}if((k|0)==4){k=-2-g|0;k=d>>>0>k>>>0?k:d;c[l+48>>2]=k;h=l+20|0;c[h>>2]=g;c[l+44>>2]=g;g=g+k|0;d=l+16|0;c[d>>2]=g;c[l+28>>2]=g;g=Nz(l,e,f)|0;if(k){e=c[h>>2]|0;a[e+(((e|0)==(c[d>>2]|0))<<31>>31)>>0]=0}}aa=m;return g|0}function Nz(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=aa;aa=aa+224|0;m=q+208|0;p=q+160|0;o=q+80|0;n=q;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[m>>2]=c[e>>2];if((Oz(0,d,m,o,p)|0)<0)e=-1;else{e=c[b>>2]|0;l=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){g=b+44|0;f=c[g>>2]|0;c[g>>2]=n;i=b+28|0;c[i>>2]=n;k=b+20|0;c[k>>2]=n;c[h>>2]=80;j=b+16|0;c[j>>2]=n+80;e=Oz(b,d,m,o,p)|0;if(f){ga[c[b+36>>2]&127](b,0,0)|0;e=(c[k>>2]|0)==0?-1:e;c[g>>2]=f;c[h>>2]=0;c[j>>2]=0;c[i>>2]=0;c[k>>2]=0}}else e=Oz(b,d,m,o,p)|0;p=c[b>>2]|0;c[b>>2]=p|l;e=(p&32|0)==0?e:-1}aa=q;return e|0}function Oz(d,e,f,h,i){d=d|0;e=e|0;f=f|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,A=0,B=0,C=0,D=0,E=0,F=0;F=aa;aa=aa+64|0;D=F+56|0;B=F+40|0;w=F;E=F+48|0;C=F+60|0;c[D>>2]=e;A=(d|0)!=0;v=w+40|0;y=v;w=w+39|0;x=E+4|0;e=0;j=0;m=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[87846]=75;e=-1;break}else{e=j+e|0;break}while(0);p=c[D>>2]|0;j=a[p>>0]|0;if(!(j<<24>>24)){u=93;break a}k=p;b:while(1){switch(j<<24>>24){case 37:{u=10;break b}case 0:{j=k;break b}default:{}}t=k+1|0;c[D>>2]=t;j=a[t>>0]|0;k=t}c:do if((u|0)==10){u=0;l=k;j=k;do{if((a[l+1>>0]|0)!=37)break c;j=j+1|0;l=l+2|0;c[D>>2]=l}while((a[l>>0]|0)==37)}while(0);j=j-p|0;if(A)Pz(d,p,j)}while((j|0)!=0);l=c[D>>2]|0;j=a[l+1>>0]|0;if(!(Qz(j)|0)){k=1;r=-1;o=m}else{o=(a[l+2>>0]|0)==36;k=o?3:1;r=o?j+-48|0:-1;o=o?1:m}k=l+k|0;c[D>>2]=k;j=a[k>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<<l&75913|0)==0)n=0;else{j=0;while(1){m=1<<l|j;k=k+1|0;c[D>>2]=k;j=a[k>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<<l&75913|0)==0){n=m;break}else j=m}}if(j<<24>>24==42){l=k+1|0;j=a[l>>0]|0;if((Qz(j)|0)!=0?(a[k+2>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;m=1;j=k+3|0;k=c[h+((a[l>>0]|0)+-48<<3)>>2]|0}else{if(o|0){e=-1;break}if(A){m=(c[f>>2]|0)+(4-1)&~(4-1);k=c[m>>2]|0;c[f>>2]=m+4;m=0;j=l}else{m=0;j=l;k=0}}c[D>>2]=j;s=(k|0)<0;l=j;q=s?n|8192:n;t=m;s=s?0-k|0:k}else{j=Rz(D)|0;if((j|0)<0){e=-1;break}l=c[D>>2]|0;q=n;t=o;s=j}do if((a[l>>0]|0)==46){j=l+1|0;if((a[j>>0]|0)!=42){c[D>>2]=j;n=Rz(D)|0;j=c[D>>2]|0;break}j=l+2|0;k=a[j>>0]|0;if(Qz(k)|0?(a[l+3>>0]|0)==36:0){c[i+(k+-48<<2)>>2]=10;n=c[h+((a[j>>0]|0)+-48<<3)>>2]|0;j=l+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(A){o=(c[f>>2]|0)+(4-1)&~(4-1);k=c[o>>2]|0;c[f>>2]=o+4}else k=0;c[D>>2]=j;n=k}else{j=l;n=-1}while(0);o=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j+1|0;c[D>>2]=k;l=a[(a[j>>0]|0)+-65+(280688+(o*58|0))>>0]|0;m=l&255;if((m+-1|0)>>>0<8){j=k;o=m}else break}if(!(l<<24>>24)){e=-1;break}k=(r|0)>-1;do if(l<<24>>24==19)if(k){e=-1;break a}else u=52;else{if(k){c[i+(r<<2)>>2]=m;m=h+(r<<3)|0;r=c[m+4>>2]|0;u=B;c[u>>2]=c[m>>2];c[u+4>>2]=r;u=52;break}if(!A){e=0;break a}Sz(B,m,f);u=53}while(0);if((u|0)==52){u=0;if(A)u=53;else j=0}d:do if((u|0)==53){u=0;l=a[j>>0]|0;l=(o|0)!=0&(l&15|0)==3?l&-33:l;k=q&-65537;r=(q&8192|0)==0?q:k;e:do switch(l|0){case 110:switch((o&255)<<24>>24){case 0:{c[c[B>>2]>>2]=e;j=0;break d}case 1:{c[c[B>>2]>>2]=e;j=0;break d}case 2:{j=c[B>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[B>>2]>>1]=e;j=0;break d}case 4:{a[c[B>>2]>>0]=e;j=0;break d}case 6:{c[c[B>>2]>>2]=e;j=0;break d}case 7:{j=c[B>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{j=r|8;k=n>>>0>8?n:8;m=120;u=65;break}case 88:case 120:{j=r;k=n;m=l;u=65;break}case 111:{q=B;p=c[q>>2]|0;q=c[q+4>>2]|0;o=Uz(p,q,v)|0;k=y-o|0;j=r;k=(r&8|0)==0|(n|0)>(k|0)?n:k+1|0;l=0;n=330308;u=71;break}case 105:case 100:{k=B;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=aC(0,0,j|0,k|0)|0;k=z()|0;l=B;c[l>>2]=j;c[l+4>>2]=k;l=1;m=330308;u=70;break e}else{l=(r&2049|0)!=0&1;m=(r&2048|0)==0?((r&1|0)==0?330308:330310):330309;u=70;break e}}case 117:{k=B;j=c[k>>2]|0;k=c[k+4>>2]|0;l=0;m=330308;u=70;break}case 99:{a[w>>0]=c[B>>2];p=w;o=k;m=1;l=0;k=330308;j=y;break}case 109:{j=Wz(c[87846]|0)|0;u=75;break}case 115:{j=c[B>>2]|0;j=(j|0)==0?330318:j;u=75;break}case 67:{c[E>>2]=c[B>>2];c[x>>2]=0;c[B>>2]=E;l=E;n=-1;u=80;break}case 83:if(!n){Yz(d,32,s,0,r);j=0;u=90;break e}else{l=c[B>>2]|0;u=80;break e}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=_z(d,+g[B>>3],s,n,r,l)|0;break d}default:{o=r;m=n;l=0;k=330308;j=y}}while(0);f:do if((u|0)==65){q=B;p=c[q>>2]|0;q=c[q+4>>2]|0;o=Tz(p,q,v,m&32)|0;n=(j&8|0)==0|(p|0)==0&(q|0)==0;l=n?0:2;n=n?330308:330308+(m>>>4)|0;u=71}else if((u|0)==70){p=j;q=k;o=Vz(j,k,v)|0;j=r;k=n;n=m;u=71}else if((u|0)==75){u=0;r=Xz(j,n)|0;q=(r|0)==0;p=j;o=k;m=q?n:r-j|0;l=0;k=330308;j=q?j+n|0:r}else if((u|0)==80){u=0;j=0;o=l;while(1){k=c[o>>2]|0;if(!k)break;k=Zz(C,k)|0;m=(k|0)<0;if(m|k>>>0>(n-j|0)>>>0){u=84;break}j=k+j|0;if(n>>>0>j>>>0)o=o+4|0;else break}if((u|0)==84){u=0;if(m){e=-1;break a}}Yz(d,32,s,j,r);if(!j){j=0;u=90}else{m=0;while(1){k=c[l>>2]|0;if(!k){u=90;break f}k=Zz(C,k)|0;m=k+m|0;if((m|0)>(j|0)){u=90;break f}Pz(d,C,k);if(m>>>0>=j>>>0){u=90;break}else l=l+4|0}}}while(0);if((u|0)==71){u=0;m=(p|0)!=0|(q|0)!=0;r=(k|0)!=0|m;m=y-o+((m^1)&1)|0;p=r?o:v;o=(k|0)>-1?j&-65537:j;m=r?((k|0)>(m|0)?k:m):0;k=n;j=y}else if((u|0)==90){u=0;Yz(d,32,s,j,r^8192);j=(s|0)>(j|0)?s:j;break}q=j-p|0;n=(m|0)<(q|0)?q:m;r=n+l|0;j=(s|0)<(r|0)?r:s;Yz(d,32,j,r,o);Pz(d,k,l);Yz(d,48,j,r,o^65536);Yz(d,48,n,q,0);Pz(d,p,q);Yz(d,32,j,r,o^8192)}while(0);m=t}g:do if((u|0)==93)if(!d)if(!m)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;Sz(h+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}j=0;while(1){e=e+1|0;if(j|0){e=-1;break g}if(e>>>0>=10){e=1;break g}j=c[i+(e<<2)>>2]|0}}while(0);aa=F;return e|0}function Pz(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))jA(b,d,a);return}function Qz(a){a=a|0;return (a+-48|0)>>>0<10|0}function Rz(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;d=a[e>>0]|0;if(!(Qz(d<<24>>24)|0))d=0;else{f=d;d=0;do{d=(d*10|0)+-48+(f<<24>>24)|0;e=e+1|0;c[b>>2]=e;f=a[e>>0]|0}while((Qz(f<<24>>24)|0)!=0)}return d|0}function Sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;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:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}default:break a}while(0);while(0);return}function Tz(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[281152+(b&15)>>0]|0|f;b=fC(b|0,c|0,4)|0;c=z()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Uz(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=fC(b|0,c|0,3)|0;c=z()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Vz(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=dC(b|0,c|0,10,0)|0;f=c;c=z()|0;g=_B(b|0,c|0,-10,-1)|0;g=$B(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);if(b)do{g=b;b=(b>>>0)/10|0;f=(g+(v(b,-10)|0)|48)&255;d=d+-1|0;a[d>>0]=f}while(g>>>0>=10);return d|0}function Wz(a){a=a|0;return dA(a,351428)|0}function Xz(b,d){b=b|0;d=d|0;var e=0,f=0;e=(d|0)!=0;a:do if(e&(b&3|0)!=0)while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(b&3|0)!=0)){f=5;break}}else f=5;while(0);b:do if((f|0)==5){do if(e){if(!(a[b>>0]|0))if(!d)break;else break b;c:do if(d>>>0>3)while(1){e=c[b>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break c;b=b+4|0;d=d+-4|0;if(d>>>0<=3){f=11;break}}else f=11;while(0);if((f|0)==11)if(!d)break;while(1){if(!(a[b>>0]|0))break b;d=d+-1|0;if(!d)break;else b=b+1|0}}while(0);b=0}while(0);return b|0}function Yz(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=aa;aa=aa+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;lC(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){d=e;do{Pz(a,f,256);d=d+-256|0}while(d>>>0>255);e=e&255}Pz(a,f,e)}aa=g;return}function Zz(a,b){a=a|0;b=b|0;if(!a)a=0;else a=cA(a,b)|0;return a|0}function _z(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=aa;aa=aa+560|0;m=H+32|0;t=H+536|0;G=H;F=G;l=H+540|0;c[t>>2]=0;E=l+12|0;$z(e)|0;j=z()|0;if((j|0)<0){e=-e;$z(e)|0;j=z()|0;D=1;B=330325}else{D=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?330326:330331):330328}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;Yz(b,32,f,j,h&-65537);Pz(b,B,D);Pz(b,e!=e|0.0!=0.0?(G?330367:330352):G?330344:330348,3);Yz(b,32,f,j,h^8192)}else{q=+aA(e,t)*2.0;j=q!=0.0;if(j)c[t>>2]=(c[t>>2]|0)+-1;w=i|32;if((w|0)==97){o=i&32;r=(o|0)==0?B:B+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[t>>2]|0;j=(k|0)<0?0-k|0:k;j=Vz(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=l+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;j=G;while(1){D=~~e;m=j+1|0;a[j>>0]=o|d[281152+D>>0];e=(e-+(D|0))*16.0;if((m-F|0)==1?!(l&(k&e==0.0)):0){a[m>>0]=46;m=j+2|0}if(!(e!=0.0))break;else j=m}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;Yz(b,32,f,E,h);Pz(b,r,p);Yz(b,48,f,E,h^65536);F=m-F|0;Pz(b,G,F);G=k-l|0;Yz(b,48,j-(F+G)|0,0,0);Pz(b,n,G);Yz(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){l=(c[t>>2]|0)+-28|0;c[t>>2]=l;e=q*268435456.0}else{l=c[t>>2]|0;e=q}C=(l|0)<0?m:m+288|0;m=C;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);y=C;if((l|0)>0){j=C;do{o=(l|0)<29?l:29;l=m+-4|0;if(l>>>0>=j>>>0){n=0;do{s=gC(c[l>>2]|0,0,o|0)|0;s=$B(s|0,z()|0,n|0,0)|0;u=z()|0;n=dC(s|0,u|0,1e9,0)|0;x=_B(n|0,z()|0,-1e9,-1)|0;x=$B(s|0,u|0,x|0,z()|0)|0;z()|0;c[l>>2]=x;l=l+-4|0}while(l>>>0>=j>>>0);if(n){j=j+-4|0;c[j>>2]=n}}a:do if(m>>>0>j>>>0)while(1){l=m+-4|0;if(c[l>>2]|0)break a;if(l>>>0>j>>>0)m=l;else{m=l;break}}while(0);l=(c[t>>2]|0)-o|0;c[t>>2]=l}while((l|0)>0)}else j=C;if((l|0)<0){g=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-l|0;r=(r|0)<9?r:9;if(j>>>0<m>>>0){o=(1<<r)+-1|0;n=1e9>>>r;p=0;l=j;do{x=c[l>>2]|0;c[l>>2]=(x>>>r)+p;p=v(x&o,n)|0;l=l+4|0}while(l>>>0<m>>>0);j=(c[j>>2]|0)==0?j+4|0:j;if(p){c[m>>2]=p;m=m+4|0}}else j=(c[j>>2]|0)==0?j+4|0:j;l=s?C:j;m=(m-l>>2|0)>(g|0)?l+(g<<2)|0:m;l=(c[t>>2]|0)+r|0;c[t>>2]=l}while((l|0)<0);s=m}else s=m;if(j>>>0<s>>>0){l=(y-j>>2)*9|0;n=c[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;t=(w|0)==103;u=(k|0)!=0;m=k-((w|0)==102?0:l)+((u&t)<<31>>31)|0;if((m|0)<(((s-y>>2)*9|0)+-9|0)){x=m+9216|0;m=(x|0)/9|0;g=C+4+(m+-1024<<2)|0;m=x+(v(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;o=c[g>>2]|0;m=(o>>>0)/(n>>>0)|0;r=v(m,n)|0;o=o-r|0;p=(g+4|0)==(s|0);if(!(p&(o|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;x=n>>>1;e=o>>>0<x>>>0?.5:p&(o|0)==(x|0)?1.0:1.5;if(D){x=(a[B>>0]|0)==45;q=x?-q:q;e=x?-e:e}c[g>>2]=r;if(q+e!=q){x=r+n|0;c[g>>2]=x;if(x>>>0>999999999){l=g;while(1){m=l+-4|0;c[l>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[m>>2]|0)+1|0;c[m>>2]=x;if(x>>>0>999999999)l=m;else break}}else m=g;l=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}else m=g}else m=g;w=m+4|0;x=j;j=s>>>0>w>>>0?w:s}else{x=j;j=s}r=0-l|0;b:do if(j>>>0>x>>>0)while(1){m=j+-4|0;if(c[m>>2]|0){s=1;w=j;break b}if(m>>>0>x>>>0)j=m;else{s=0;w=m;break}}else{s=0;w=j}while(0);do if(t){j=k+((u^1)&1)|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}if(!(h&8)){if(s?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else n=i;while(0);g=(k|0)!=0;o=g?1:h>>>3&1;p=(n|32|0)==102;if(p){u=0;j=(l|0)>0?l:0}else{j=(l|0)<0?r:l;j=Vz(j,((j|0)<0)<<31>>31,E)|0;m=E;if((m-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((m-j|0)<2);a[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;a[j>>0]=n;u=j;j=m-j|0}j=D+1+k+o+j|0;Yz(b,32,f,j,h);Pz(b,B,D);Yz(b,48,f,j,h^65536);if(p){o=x>>>0>C>>>0?C:x;r=G+9|0;p=r;n=G+8|0;m=o;do{l=Vz(c[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){a[n>>0]=48;l=n}}else if(l>>>0>G>>>0){lC(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Pz(b,l,p-l|0);m=m+4|0}while(m>>>0<=C>>>0);if(!((h&8|0)==0&(g^1)))Pz(b,330356,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=Vz(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){lC(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Pz(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<w>>>0&(k|0)>9)){k=l;break}else k=l}Yz(b,48,k+9|0,9,0)}else{g=s?w:x+4|0;if(x>>>0<g>>>0&(k|0)>-1){r=G+9|0;t=(h&8|0)==0;s=r;n=0-F|0;p=G+8|0;o=x;do{l=Vz(c[o>>2]|0,0,r)|0;if((l|0)==(r|0)){a[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Pz(b,l,1);if(t&(k|0)<1){l=m;break}Pz(b,330356,1);l=m}else{if(l>>>0<=G>>>0)break;lC(G|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=s-l|0;Pz(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<g>>>0&(k|0)>-1)}Yz(b,48,k+18|0,18,0);Pz(b,u,E-u|0)}Yz(b,32,f,j,h^8192)}while(0);aa=H;return ((j|0)<(f|0)?f:j)|0}function $z(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 aA(a,b){a=+a;b=b|0;return +(+bA(a,b))}function bA(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=fC(d|0,e|0,52)|0;z()|0;switch(f&2047){case 0:{if(a!=0.0){a=+bA(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 cA(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[87857]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[87846]=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[87846]=84;b=-1;break}}else b=1;while(0);return b|0}function dA(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[281168+f>>0]|0)==(b|0)){b=4;break}f=f+1|0;if((f|0)==87){f=87;b=5;break}}if((b|0)==4)if(!f)f=281264;else b=5;if((b|0)==5){b=281264;do{do{g=b;b=b+1|0}while((a[g>>0]|0)!=0);f=f+-1|0}while((f|0)!=0);f=b}return eA(f,c[e+20>>2]|0)|0}function eA(a,b){a=a|0;b=b|0;return fA(a,b)|0}function fA(a,b){a=a|0;b=b|0;if(!b)b=0;else b=gA(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function gA(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[b>>2]|0)+1794895138|0;h=hA(c[b+8>>2]|0,o)|0;f=hA(c[b+12>>2]|0,o)|0;g=hA(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;f=hA(c[b+(g<<2)>>2]|0,o)|0;g=hA(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=iA(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:j;h=f?k:h-k|0}f=i+m|0;g=hA(c[b+(f<<2)>>2]|0,o)|0;f=hA(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function hA(a,b){a=a|0;b=b|0;var c=0;c=hC(a|0)|0;return ((b|0)==0?a:c)|0}function iA(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))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));return (d&255)-(e&255)|0}function jA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=e+16|0;f=c[g>>2]|0;if(!f){if(!(kA(e)|0)){f=c[g>>2]|0;h=5}}else h=5;a:do if((h|0)==5){i=e+20|0;h=c[i>>2]|0;g=h;if((f-h|0)>>>0<d>>>0){ga[c[e+36>>2]&127](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0)f=d;else{h=d;while(1){f=h+-1|0;if((a[b+f>>0]|0)==10)break;if(!f){f=d;break b}else h=f}if((ga[c[e+36>>2]&127](e,b,h)|0)>>>0<h>>>0)break a;g=c[i>>2]|0;f=d-h|0;b=b+h|0}while(0);jC(g|0,b|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while(0);return}function kA(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;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function lA(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;jC(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function mA(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function nA(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function oA(a){a=a|0;var b=0,e=0;e=aa;aa=aa+16|0;b=e;if((pA(a)|0)==0?(ga[c[a+32>>2]&127](a,b,1)|0)==1:0)b=d[b>>0]|0;else b=-1;aa=e;return b|0}function pA(b){b=b|0;var d=0,e=0;e=b+74|0;d=a[e>>0]|0;a[e>>0]=d+255|d;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)ga[c[b+36>>2]&127](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>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 qA(a){a=a|0;var b=0;c[a+104>>2]=0;b=c[a+8>>2]|0;c[a+108>>2]=b-(c[a+4>>2]|0);c[a+100>>2]=b;return}function rA(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+104|0;j=c[f>>2]|0;if((j|0)!=0?(c[b+108>>2]|0)>=(j|0):0)k=4;else{e=oA(b)|0;if((e|0)>=0){g=c[f>>2]|0;j=c[b+8>>2]|0;if(g){f=b+4|0;i=c[f>>2]|0;h=g-(c[b+108>>2]|0)|0;g=j;if((j-i|0)<(h|0))k=9;else c[b+100>>2]=i+(h+-1)}else{f=b+4|0;g=j;k=9}if((k|0)==9)c[b+100>>2]=j;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else k=4}if((k|0)==4){c[b+100>>2]=0;e=-1}return e|0}function sA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=aa;aa=aa+16|0;e=a;c[e>>2]=d;Nz(291416,b,e)|0;aa=a;return}function tA(a){a=a|0;return (a+-32|0)>>>0<95|0}function uA(b,e){b=b|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;switch(e|0){case 0:{j=24;k=-149;i=4;break}case 1:{j=53;k=-1074;i=4;break}case 2:{j=53;k=-1074;i=4;break}default:f=0.0}a:do if((i|0)==4){m=b+4|0;l=b+100|0;do{e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0}else e=rA(b)|0}while((mA(e)|0)!=0);b:do switch(e|0){case 43:case 45:{g=1-(((e|0)==45&1)<<1)|0;e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0;h=g;break b}else{e=rA(b)|0;h=g;break b}}default:h=1}while(0);g=e;e=0;while(1){if((g|32|0)!=(a[330358+e>>0]|0))break;do if(e>>>0<7){g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[m>>2]=g+1;g=d[g>>0]|0;break}else{g=rA(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:{i=23;break}default:{if(e>>>0>3)if((e|0)==8)break c;else{i=23;break c}d:do if(!e){e=0;do{if((g|32|0)!=(a[330367+e>>0]|0)){i=39;break d}do if(e>>>0<2){g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[m>>2]=g+1;g=d[g>>0]|0;break}else{g=rA(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}else i=39;while(0);e:do if((i|0)==39){switch(e|0){case 3:break e;case 0:break;default:{if(c[l>>2]|0)c[m>>2]=(c[m>>2]|0)+-1;c[87846]=22;qA(b);f=0.0;break a}}if((g|0)==48){e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0}else e=rA(b)|0;if((e|32|0)==120){f=+vA(b,j,k,h);break a}if(!(c[l>>2]|0))e=48;else{c[m>>2]=(c[m>>2]|0)+-1;e=48}}else e=g;f=+wA(b,e,j,k,h);break a}while(0);e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0}else e=rA(b)|0;if((e|0)!=40){if(!(c[l>>2]|0)){f=r;break a}c[m>>2]=(c[m>>2]|0)+-1;f=r;break a}e=1;while(1){g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[m>>2]=g+1;g=d[g>>0]|0}else g=rA(b)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;e=e+1|0}if((g|0)==41){f=r;break a}g=(c[l>>2]|0)==0;if(!g)c[m>>2]=(c[m>>2]|0)+-1;if(!e){f=r;break a}while(1){e=e+-1|0;if(!g)c[m>>2]=(c[m>>2]|0)+-1;if(!e){f=r;break a}}}}while(0);if((i|0)==23){g=(c[l>>2]|0)==0;if(!g)c[m>>2]=(c[m>>2]|0)+-1;if(e>>>0>3)do{if(!g)c[m>>2]=(c[m>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}f=+(h|0)*s}while(0);return +f}function vA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0.0,h=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,A=0,B=0,C=0;A=a+4|0;j=c[A>>2]|0;B=a+100|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=rA(a)|0;o=0;a:while(1){switch(j|0){case 46:{C=10;break a}case 48:break;default:{l=0;m=0;p=0;break a}}j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=rA(a)|0;o=1}if((C|0)==10){j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=rA(a)|0;if((j|0)==48){l=0;m=0;do{j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=rA(a)|0;l=$B(l|0,m|0,-1,-1)|0;m=z()|0}while((j|0)==48);o=1;p=1}else{l=0;m=0;p=1}}x=0;w=0;t=j;u=0;n=1.0;j=0;g=0.0;while(1){s=t+-48|0;q=t|32;if(s>>>0>=10){r=(t|0)==46;if(!(r|(q+-97|0)>>>0<6)){q=t;break}if(r)if(!p){l=w;m=x;s=w;r=x;v=1;q=u;k=n}else{q=46;break}else C=24}else C=24;if((C|0)==24){C=0;o=(t|0)>57?q+-87|0:s;do if(!((x|0)<0|(x|0)==0&w>>>0<8))if((x|0)<0|(x|0)==0&w>>>0<14){n=n*.0625;q=u;k=n;g=g+n*+(o|0);break}else{v=(u|0)!=0|(o|0)==0;q=v?u:1;k=n;g=v?g:g+n*.5;break}else{q=u;k=n;j=o+(j<<4)|0}while(0);s=$B(w|0,x|0,1,0)|0;r=z()|0;o=1;v=p}p=c[A>>2]|0;if(p>>>0<(c[B>>2]|0)>>>0){c[A>>2]=p+1;p=d[p>>0]|0}else p=rA(a)|0;x=r;w=s;t=p;p=v;u=q;n=k}do if(!o){if(c[B>>2]|0?(y=c[A>>2]|0,c[A>>2]=y+-2,p|0):0)c[A>>2]=y+-3;g=+(f|0)*0.0}else{o=(p|0)==0;p=o?w:l;o=o?x:m;if((x|0)<0|(x|0)==0&w>>>0<8){m=w;l=x;do{j=j<<4;C=m;m=$B(m|0,l|0,1,0)|0;y=l;l=z()|0}while((y|0)<0|(y|0)==0&C>>>0<7)}if(!((q|32|0)==112?(i=xA(a)|0,h=z()|0,!((i|0)==0&(h|0)==-2147483648)):0))if(!(c[B>>2]|0)){i=0;h=0}else{c[A>>2]=(c[A>>2]|0)+-1;i=0;h=0}C=gC(p|0,o|0,2)|0;C=$B(C|0,z()|0,-32,-1)|0;h=$B(C|0,z()|0,i|0,h|0)|0;i=z()|0;if(!j){g=+(f|0)*0.0;break}C=0-e|0;B=((C|0)<0)<<31>>31;if((i|0)>(B|0)|(i|0)==(B|0)&h>>>0>C>>>0){c[87846]=34;g=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}C=e+-106|0;B=((C|0)<0)<<31>>31;if((i|0)<(B|0)|(i|0)==(B|0)&h>>>0<C>>>0){c[87846]=34;g=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((j|0)>-1){do{C=!(g>=.5);j=j<<1|(C^1)&1;g=g+(C?g:g+-1.0);h=$B(h|0,i|0,-1,-1)|0;i=z()|0}while((j|0)>-1);l=h;n=g}else{l=h;n=g}C=((b|0)<0)<<31>>31;h=aC(32,0,e|0,((e|0)<0)<<31>>31|0)|0;h=$B(h|0,z()|0,l|0,i|0)|0;e=z()|0;if((e|0)<(C|0)|(e|0)==(C|0)&h>>>0<b>>>0)if((h|0)>0)C=59;else{i=0;h=84;C=61}else{h=b;C=59}if((C|0)==59)if((h|0)<53){i=h;h=84-h|0;C=61}else{k=0.0;g=+(f|0)}if((C|0)==61){g=+(f|0);k=+zA(+yA(1.0,h),g);h=i}f=(j&1|0)==0&(n!=0.0&(h|0)<32);g=(f?0.0:n)*g+(k+g*+((j+(f&1)|0)>>>0))-k;if(!(g!=0.0))c[87846]=34;g=+BA(g,l)}while(0);return +g}function wA(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,o=0,p=0.0,q=0.0,r=0,s=0.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.0;H=aa;aa=aa+512|0;E=H;F=f+e|0;G=0-F|0;C=a+4|0;D=a+100|0;i=b;l=0;a:while(1){switch(i|0){case 46:{B=7;break a}case 48:break;default:{j=0;b=0;r=0;break a}}b=c[C>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=rA(a)|0;i=b;l=1}if((B|0)==7){b=c[C>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[C>>2]=b+1;i=d[b>>0]|0}else i=rA(a)|0;if((i|0)==48){i=0;b=0;while(1){j=$B(i|0,b|0,-1,-1)|0;b=z()|0;i=c[C>>2]|0;if(i>>>0<(c[D>>2]|0)>>>0){c[C>>2]=i+1;i=d[i>>0]|0}else i=rA(a)|0;if((i|0)==48)i=j;else{l=1;r=1;break}}}else{j=0;b=0;r=1}}c[E>>2]=0;w=i+-48|0;m=(i|0)==46;b:do if(m|w>>>0<10){B=E+496|0;A=0;u=0;x=m;o=0;n=0;m=0;c:while(1){do if(x)if(!r){j=A;b=u;r=1}else break c;else{x=$B(A|0,u|0,1,0)|0;u=z()|0;y=(i|0)!=48;if((n|0)>=125){if(!y){A=x;break}c[B>>2]=c[B>>2]|1;A=x;break}l=E+(n<<2)|0;if(!o)i=w;else i=i+-48+((c[l>>2]|0)*10|0)|0;c[l>>2]=i;o=o+1|0;w=(o|0)==9;A=x;l=1;o=w?0:o;n=n+(w&1)|0;m=y?x:m}while(0);i=c[C>>2]|0;if(i>>>0<(c[D>>2]|0)>>>0){c[C>>2]=i+1;i=d[i>>0]|0}else i=rA(a)|0;w=i+-48|0;x=(i|0)==46;if(!(x|w>>>0<10)){B=31;break b}}r=A;i=(l|0)!=0;B=37}else{A=0;u=0;o=0;n=0;m=0;B=31}while(0);do if((B|0)==31){w=(r|0)==0;j=w?A:j;b=w?u:b;w=(l|0)!=0;if(!(w&(i|32|0)==101))if((i|0)>-1){r=A;i=w;B=37;break}else{r=A;l=u;i=w;B=39;break}l=xA(a)|0;i=z()|0;if((l|0)==0&(i|0)==-2147483648)if(!(c[D>>2]|0)){l=0;i=0}else{c[C>>2]=(c[C>>2]|0)+-1;l=0;i=0}j=$B(l|0,i|0,j|0,b|0)|0;r=A;b=z()|0;l=u;B=41}while(0);if((B|0)==37)if(c[D>>2]|0){c[C>>2]=(c[C>>2]|0)+-1;if(i){l=u;B=41}else B=40}else{l=u;B=39}if((B|0)==39)if(i)B=41;else B=40;do if((B|0)==40){c[87846]=22;qA(a);h=0.0}else if((B|0)==41){i=c[E>>2]|0;if(!i){h=+(g|0)*0.0;break}if(((l|0)<0|(l|0)==0&r>>>0<10)&((j|0)==(r|0)&(b|0)==(l|0))?(e|0)>30|(i>>>e|0)==0:0){h=+(g|0)*+(i>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((b|0)>(D|0)|(b|0)==(D|0)&j>>>0>a>>>0){c[87846]=34;h=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((b|0)<(D|0)|(b|0)==(D|0)&j>>>0<a>>>0){c[87846]=34;h=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!o)i=n;else{if((o|0)<9){l=E+(n<<2)|0;b=o;i=c[l>>2]|0;while(1){i=i*10|0;if((b|0)>=8)break;else b=b+1|0}c[l>>2]=i}i=n+1|0}if((m|0)<9?(m|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){h=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){h=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[283072+(8-j<<2)>>2]|0);break}a=e+27+(v(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){h=+(g|0)*+(b>>>0)*+(c[283072+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)l=0;else{r=(j|0)>-1?b:b+9|0;b=c[283072+(8-r<<2)>>2]|0;if(i){n=1e9/(b|0)|0;l=0;m=0;o=0;do{C=E+(o<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(b>>>0)|0;D=D-(v(a,b)|0)|0;a=a+m|0;c[C>>2]=a;m=v(n,D)|0;a=(o|0)==(l|0)&(a|0)==0;j=a?j+-9|0:j;l=a?l+1&127:l;o=o+1|0}while((o|0)!=(i|0));if(!m)b=i;else{c[E+(i<<2)>>2]=m;b=i+1|0}}else{l=0;b=0}j=9-r+j|0;i=b}b=0;d:while(1){x=(j|0)<18;y=(j|0)==18;w=E+(l<<2)|0;do{if(!x){if(!y)break d;if((c[w>>2]|0)>>>0>=9007199){j=18;break d}}n=0;m=i+127|0;while(1){r=m&127;o=E+(r<<2)|0;m=gC(c[o>>2]|0,0,29)|0;m=$B(m|0,z()|0,n|0,0)|0;n=z()|0;if(n>>>0>0|(n|0)==0&m>>>0>1e9){u=dC(m|0,n|0,1e9,0)|0;a=_B(u|0,z()|0,-1e9,-1)|0;m=$B(m|0,n|0,a|0,z()|0)|0;z()|0}else u=0;c[o>>2]=m;a=(r|0)==(l|0);o=(r|0)!=(i+127&127|0)|a?i:(m|0)==0?r:i;if(a)break;else{n=u;m=r+-1|0;i=o}}b=b+-29|0}while((u|0)==0);l=l+127&127;m=o+127&127;n=E+((o+126&127)<<2)|0;if((l|0)==(o|0)){c[n>>2]=c[n>>2]|c[E+(m<<2)>>2];i=m}c[E+(l<<2)>>2]=u;j=j+9|0}e:while(1){w=i+1&127;x=E+((i+127&127)<<2)|0;while(1){r=(j|0)==18;u=(j|0)>27?9:1;while(1){o=0;while(1){m=o+l&127;if((m|0)==(i|0)){B=90;break}m=c[E+(m<<2)>>2]|0;n=c[291664+(o<<2)>>2]|0;if(m>>>0<n>>>0){B=90;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{B=90;break}}if((B|0)==90?(B=0,r):0)break e;b=u+b|0;if((l|0)==(i|0))l=i;else break}r=(1<<u)+-1|0;o=1e9>>>u;m=l;n=0;do{C=E+(l<<2)|0;D=c[C>>2]|0;a=(D>>>u)+n|0;c[C>>2]=a;n=v(D&r,o)|0;a=(l|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;l=l+1&127}while((l|0)!=(i|0));if(n|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}l=m}c[E+(i<<2)>>2]=n;l=m;i=w}n=0;h=0.0;j=i;while(1){m=n+l&127;i=j+1&127;if((m|0)==(j|0))c[E+(i+-1<<2)>>2]=0;else i=j;h=h*1.0e9+ +((c[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else j=i}s=+(g|0);k=h*s;m=b+53|0;r=m-f|0;o=(r|0)<(e|0);n=o?((r|0)>0?r:0):e;if((n|0)<53){I=+zA(+yA(1.0,105-n|0),k);p=+AA(k,+yA(1.0,53-n|0));q=I;h=p;p=I+(k-p)}else{q=0.0;h=0.0;p=k}j=l+2&127;if((j|0)!=(i|0)){j=c[E+(j<<2)>>2]|0;do if(j>>>0>=5e8){if((j|0)!=5e8){h=s*.75+h;break}if((l+3&127|0)==(i|0)){h=s*.5+h;break}else{h=s*.75+h;break}}else{if((j|0)==0?(l+3&127|0)==(i|0):0)break;h=s*.25+h}while(0);if((53-n|0)>1?!(+AA(h,1.0)!=0.0):0)k=h+1.0;else k=h}else k=h;h=p+k-q;do if((m&2147483647|0)>(-2-F|0)){F=!(+t(+h)>=9007199254740992.0);b=b+((F^1)&1)|0;h=F?h:h*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(r|0)|F))):0)break;c[87846]=34}while(0);h=+BA(h,b)}while(0);aa=H;return +h}function xA(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;b=c[i>>2]|0;j=a+100|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=rA(a)|0;switch(b|0){case 43:case 45:{e=(b|0)==45&1;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=rA(a)|0;if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=14}else{h=e;f=12}break}default:if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else f=14;else{h=0;f=12}}if((f|0)==12){f=0;while(1){f=b+-48+(f*10|0)|0;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;e=d[b>>0]|0}else e=rA(a)|0;g=(e+-48|0)>>>0<10;if(!(g&(f|0)<214748364))break;else b=e}b=((f|0)<0)<<31>>31;if(g){do{k=_B(f|0,b|0,10,0)|0;g=z()|0;e=$B(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=$B(e|0,z()|0,k|0,g|0)|0;b=z()|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=rA(a)|0;g=(e+-48|0)>>>0<10}while(g&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));if(g)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=rA(a)|0}while((e+-48|0)>>>0<10)}if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(h|0)==0;k=aC(0,0,f|0,b|0)|0;e=z()|0;e=j?b:e;b=j?f:k}else if((f|0)==14){c[i>>2]=(c[i>>2]|0)+-1;e=-2147483648;b=0}y(e|0);return b|0}function yA(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;d=(b|0)<-2044;e=b+2044|0;b=d?((e|0)>-1022?e:-1022):b+1022|0;a=d?a*2.2250738585072014e-308:a}}else{a=a*8988465674311579538646525.0e283;e=(b|0)>2046;d=b+-2046|0;b=e?((d|0)<1023?d:1023):b+-1023|0;a=e?a*8988465674311579538646525.0e283:a}d=gC(b+1023|0,0,52)|0;e=z()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function zA(a,b){a=+a;b=+b;return +(+EA(a,b))}function AA(a,b){a=+a;b=+b;return +(+CA(a,b))}function BA(a,b){a=+a;b=b|0;return +(+yA(a,b))}function CA(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;k=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=fC(k|0,l|0,52)|0;z()|0;e=e&2047;m=fC(n|0,o|0,52)|0;z()|0;m=m&2047;p=l&-2147483648;j=gC(n|0,o|0,1)|0;i=z()|0;a:do if(!((j|0)==0&(i|0)==0)?(f=DA(b)|0,d=(z()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=gC(k|0,l|0,1)|0;f=z()|0;if(!(f>>>0>i>>>0|(f|0)==(i|0)&d>>>0>j>>>0))return +((d|0)==(j|0)&(f|0)==(i|0)?a*0.0:a);if(!e){d=gC(k|0,l|0,12)|0;e=z()|0;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){f=e;e=0;do{e=e+-1|0;d=gC(d|0,f|0,1)|0;f=z()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;k=gC(k|0,l|0,1-e|0)|0;j=z()|0}else j=l&1048575|1048576;if(!m){d=gC(n|0,o|0,12)|0;f=z()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){i=0;do{i=i+-1|0;d=gC(d|0,f|0,1)|0;f=z()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else i=0;n=gC(n|0,o|0,1-i|0)|0;l=z()|0;m=i}else l=o&1048575|1048576;d=aC(k|0,j|0,n|0,l|0)|0;f=z()|0;i=(f|0)>-1|(f|0)==-1&d>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(i){if((d|0)==0&(f|0)==0)break}else{d=k;f=j}k=gC(d|0,f|0,1)|0;j=z()|0;e=e+-1|0;d=aC(k|0,j|0,n|0,l|0)|0;f=z()|0;i=(f|0)>-1|(f|0)==-1&d>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(i){if((d|0)==0&(f|0)==0){b=a*0.0;break}}else{f=j;d=k}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=gC(d|0,f|0,1)|0;f=z()|0;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=$B(d|0,f|0,0,-1048576)|0;d=z()|0;e=gC(e|0,0,52)|0;d=d|(z()|0);e=o|e}else{e=fC(d|0,f|0,1-e|0)|0;d=z()|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 DA(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 EA(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 FA(a){a=a|0;return c[a+60>>2]|0}function GA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=a[b>>0]|0;e=c<<24>>24;d=b+1|0;if(!(mA(e)|0))break;else b=d}switch(e|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;d=b}}if((f|0)==5){e=a[d>>0]|0;c=e;e=e<<24>>24;g=b}if(!(Qz(e)|0))b=0;else{b=0;do{d=d+1|0;b=(b*10|0)+48-(c<<24>>24)|0;c=a[d>>0]|0}while((Qz(c<<24>>24)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function HA(a,b){a=a|0;b=b|0;return +(+IA(a,b,0))}function IA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=aa;aa=aa+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;qA(h);e=+uA(h,d);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=(d|0)==0?a:a+d|0;aa=i;return +e}function JA(a,b){a=a|0;b=b|0;return +(+IA(a,b,1))}function KA(a){a=a|0;var b=0,d=0;b=aa;aa=aa+32|0;d=b;c[d>>2]=a;c[d+4>>2]=21523;c[d+8>>2]=b+16;a=(Fz(S(54,d|0)|0)|0)==0&1;aa=b;return a|0}function LA(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=aa;aa=aa+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[87863]|0;d=m>>>a;if(d&3|0){e=(d&1^1)+a|0;f=351492+(e<<1<<2)|0;b=f+8|0;a=c[b>>2]|0;g=a+8|0;d=c[g>>2]|0;if((d|0)==(f|0))c[87863]=m&~(1<<e);else{c[d+12>>2]=f;c[b>>2]=d}v=e<<3;c[a+4>>2]=v|3;v=a+v+4|0;c[v>>2]=c[v>>2]|1;v=g;aa=w;return v|0}l=c[87865]|0;if(k>>>0>l>>>0){if(d|0){i=2<<a;d=d<<a&(i|0-i);d=(d&0-d)+-1|0;i=d>>>12&16;d=d>>>i;a=d>>>5&8;d=d>>>a;g=d>>>2&4;d=d>>>g;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=(a|i|g|b|e)+(d>>>e)|0;d=351492+(e<<1<<2)|0;b=d+8|0;g=c[b>>2]|0;i=g+8|0;a=c[i>>2]|0;if((a|0)==(d|0)){a=m&~(1<<e);c[87863]=a}else{c[a+12>>2]=d;c[b>>2]=a;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[87868]|0;b=l>>>3;d=351492+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[87863]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[87865]=h;c[87868]=f;v=i;aa=w;return v|0}g=c[87864]|0;if(g){i=(g&0-g)+-1|0;f=i>>>12&16;i=i>>>f;e=i>>>5&8;i=i>>>e;h=i>>>2&4;i=i>>>h;d=i>>>1&2;i=i>>>d;j=i>>>1&1;j=c[351756+((e|f|h|d|j)+(i>>>j)<<2)>>2]|0;i=(c[j+4>>2]&-8)-k|0;d=j;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}d=(c[a+4>>2]&-8)-k|0;h=d>>>0<i>>>0;i=h?d:i;d=a;j=h?a:j}h=j+k|0;if(h>>>0>j>>>0){f=c[j+24>>2]|0;b=c[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){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[j+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[j+28>>2]|0;a=351756+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[87864]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(j|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[j+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[j+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(i>>>0<16){v=i+k|0;c[j+4>>2]=v|3;v=j+v+4|0;c[v>>2]=c[v>>2]|1}else{c[j+4>>2]=k|3;c[h+4>>2]=i|1;c[h+i>>2]=i;if(l|0){e=c[87868]|0;b=l>>>3;d=351492+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[87863]=b|m;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[87865]=i;c[87868]=h}v=j+8|0;aa=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[87864]|0;if(e){d=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;r=a<<m;i=(r+520192|0)>>>16&4;r=r<<i;j=(r+245760|0)>>>16&2;j=14-(i|m|j)+(r<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=c[351756+(j<<2)>>2]|0;a:do if(!a){f=0;a=0;r=61}else{f=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(c[i+4>>2]&-8)-k|0;if(g>>>0<d>>>0)if(!g){d=0;f=i;a=i;r=65;break a}else{d=g;a=i}r=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;f=(r|0)==0|(r|0)==(i|0)?f:r;if(!i){r=61;break}else h=h<<1}}while(0);if((r|0)==61){if((f|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}a=(a&0-a)+-1|0;i=a>>>12&16;a=a>>>i;h=a>>>5&8;a=a>>>h;j=a>>>2&4;a=a>>>j;m=a>>>1&2;a=a>>>m;f=a>>>1&1;f=c[351756+((h|i|j|m|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;g=a}else r=65}if((r|0)==65)while(1){m=(c[f+4>>2]&-8)-k|0;g=m>>>0<d>>>0;d=g?m:d;g=g?f:a;a=c[f+16>>2]|0;if(!a)a=c[f+20>>2]|0;if(!a){i=d;break}else{f=a;a=g}}if(((g|0)!=0?i>>>0<((c[87865]|0)-k|0)>>>0:0)?(l=g+k|0,l>>>0>g>>>0):0){h=c[g+24>>2]|0;b=c[g+12>>2]|0;do if((b|0)==(g|0)){a=g+20|0;b=c[a>>2]|0;if(!b){a=g+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[g+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(h){a=c[g+28>>2]|0;d=351756+(a<<2)|0;if((g|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[87864]=e;break}}else{v=h+16|0;c[((c[v>>2]|0)==(g|0)?v:h+20|0)>>2]=b;if(!b)break}c[b+24>>2]=h;a=c[g+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[g+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(i>>>0<16){v=i+k|0;c[g+4>>2]=v|3;v=g+v+4|0;c[v>>2]=c[v>>2]|1}else{c[g+4>>2]=k|3;c[l+4>>2]=i|1;c[l+i>>2]=i;b=i>>>3;if(i>>>0<256){d=351492+(b<<1<<2)|0;a=c[87863]|0;b=1<<b;if(!(a&b)){c[87863]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=l;c[a+12>>2]=l;c[l+8>>2]=a;c[l+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;d=(v+245760|0)>>>16&2;d=14-(t|u|d)+(v<<d>>>15)|0;d=i>>>(d+7|0)&1|d<<1}else d=0;b=351756+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<d;if(!(e&a)){c[87864]=e|a;c[b>>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)!=(i|0)){e=i<<((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)==(i|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=g+8|0;aa=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[87865]|0;if(d>>>0>=m>>>0){a=d-m|0;b=c[87868]|0;if(a>>>0>15){v=b+m|0;c[87868]=v;c[87865]=a;c[v+4>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=m|3}else{c[87865]=0;c[87868]=0;c[b+4>>2]=d|3;v=b+d+4|0;c[v>>2]=c[v>>2]|1}v=b+8|0;aa=w;return v|0}h=c[87866]|0;if(h>>>0>m>>>0){t=h-m|0;c[87866]=t;v=c[87869]|0;u=v+m|0;c[87869]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;aa=w;return v|0}if(!(c[87981]|0)){c[87983]=4096;c[87982]=4096;c[87984]=-1;c[87985]=-1;c[87986]=0;c[87974]=0;c[87981]=n&-16^1431655768;a=4096}else a=c[87983]|0;i=m+48|0;j=m+47|0;g=a+j|0;e=0-a|0;k=g&e;if(k>>>0<=m>>>0){v=0;aa=w;return v|0}a=c[87973]|0;if(a|0?(l=c[87971]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;aa=w;return v|0}d:do if(!(c[87974]&4)){d=c[87869]|0;e:do if(d){f=351900;while(1){a=c[f>>2]|0;if(a>>>0<=d>>>0?(q=f+4|0,(a+(c[q>>2]|0)|0)>>>0>d>>>0):0)break;a=c[f+8>>2]|0;if(!a){r=128;break e}else f=a}b=g-h&e;if(b>>>0<2147483647){a=mC(b|0)|0;if((a|0)==((c[f>>2]|0)+(c[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;r=145;break d}}else{e=a;r=136}}else b=0}else r=128;while(0);do if((r|0)==128){d=mC(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[87982]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[87971]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=c[87973]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=mC(b|0)|0;if((a|0)==(d|0)){h=d;g=b;r=145;break d}else{e=a;r=136}}else b=0}while(0);do if((r|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=e;g=b;r=145;break d}a=c[87983]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=e;g=b;r=145;break d}if((mC(a|0)|0)==(-1|0)){mC(d|0)|0;b=0;break}else{h=e;g=a+b|0;r=145;break d}}while(0);c[87974]=c[87974]|4;r=143}else{b=0;r=143}while(0);if(((r|0)==143?k>>>0<2147483647:0)?(s=mC(k|0)|0,q=mC(0)|0,u=q-s|0,t=u>>>0>(m+40|0)>>>0,!((s|0)==(-1|0)|t^1|s>>>0<q>>>0&((s|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=s;g=t?u:b;r=145}if((r|0)==145){b=(c[87971]|0)+g|0;c[87971]=b;if(b>>>0>(c[87972]|0)>>>0)c[87972]=b;j=c[87869]|0;f:do if(j){f=351900;while(1){b=c[f>>2]|0;e=f+4|0;a=c[e>>2]|0;if((h|0)==(b+a|0)){r=154;break}d=c[f+8>>2]|0;if(!d)break;else f=d}if(((r|0)==154?(c[f+12>>2]&8|0)==0:0)?h>>>0>j>>>0&b>>>0<=j>>>0:0){c[e>>2]=a+g;v=(c[87866]|0)+g|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[87869]=u;c[87866]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[87870]=c[87985];break}if(h>>>0<(c[87867]|0)>>>0)c[87867]=h;d=h+g|0;a=351900;while(1){if((c[a>>2]|0)==(d|0)){r=162;break}b=c[a+8>>2]|0;if(!b)break;else a=b}if((r|0)==162?(c[a+12>>2]&8|0)==0:0){c[a>>2]=h;l=a+4|0;c[l>>2]=(c[l>>2]|0)+g;l=h+8|0;l=h+((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[87866]|0)+i|0;c[87866]=v;c[87869]=k;c[k+4>>2]=v|1}else{if((c[87868]|0)==(b|0)){v=(c[87865]|0)+i|0;c[87865]=v;c[87868]=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[87863]=c[87863]&~(1<<e);break}else{c[a+12>>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)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>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=351756+(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[87864]=c[87864]&~(1<<d);break h}while(0);c[a+24>>2]=g;e=b+16|0;d=c[e>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}d=c[e+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=351492+(b<<1<<2)|0;a=c[87863]|0;b=1<<b;if(!(a&b)){c[87863]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;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<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);a=351756+(e<<2)|0;c[k+28>>2]=e;b=k+16|0;c[b+4>>2]=0;c[b>>2]=0;b=c[87864]|0;d=1<<e;if(!(b&d)){c[87864]=b|d;c[a>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[a>>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;aa=w;return v|0}a=351900;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(v=b+(c[a+4>>2]|0)|0,v>>>0>j>>>0):0)break;a=c[a+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<f>>>0?j:a;b=a+8|0;d=g+-40|0;t=h+8|0;t=(t&7|0)==0?0:0-t&7;u=h+t|0;t=d-t|0;c[87869]=u;c[87866]=t;c[u+4>>2]=t|1;c[h+d+4>>2]=40;c[87870]=c[87985];d=a+4|0;c[d>>2]=27;c[b>>2]=c[87975];c[b+4>>2]=c[87976];c[b+8>>2]=c[87977];c[b+12>>2]=c[87978];c[87975]=h;c[87976]=g;c[87978]=0;c[87977]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0<v>>>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=351492+(b<<1<<2)|0;a=c[87863]|0;b=1<<b;if(!(a&b)){c[87863]=a|b;b=d+8|0;a=d}else{a=d+8|0;b=a;a=c[a>>2]|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;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<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=351756+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[87864]|0;a=1<<e;if(!(b&a)){c[87864]=b|a;c[d>>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[87867]|0;if((v|0)==0|h>>>0<v>>>0)c[87867]=h;c[87975]=h;c[87976]=g;c[87978]=0;c[87872]=c[87981];c[87871]=-1;c[87876]=351492;c[87875]=351492;c[87878]=351500;c[87877]=351500;c[87880]=351508;c[87879]=351508;c[87882]=351516;c[87881]=351516;c[87884]=351524;c[87883]=351524;c[87886]=351532;c[87885]=351532;c[87888]=351540;c[87887]=351540;c[87890]=351548;c[87889]=351548;c[87892]=351556;c[87891]=351556;c[87894]=351564;c[87893]=351564;c[87896]=351572;c[87895]=351572;c[87898]=351580;c[87897]=351580;c[87900]=351588;c[87899]=351588;c[87902]=351596;c[87901]=351596;c[87904]=351604;c[87903]=351604;c[87906]=351612;c[87905]=351612;c[87908]=351620;c[87907]=351620;c[87910]=351628;c[87909]=351628;c[87912]=351636;c[87911]=351636;c[87914]=351644;c[87913]=351644;c[87916]=351652;c[87915]=351652;c[87918]=351660;c[87917]=351660;c[87920]=351668;c[87919]=351668;c[87922]=351676;c[87921]=351676;c[87924]=351684;c[87923]=351684;c[87926]=351692;c[87925]=351692;c[87928]=351700;c[87927]=351700;c[87930]=351708;c[87929]=351708;c[87932]=351716;c[87931]=351716;c[87934]=351724;c[87933]=351724;c[87936]=351732;c[87935]=351732;c[87938]=351740;c[87937]=351740;v=g+-40|0;t=h+8|0;t=(t&7|0)==0?0:0-t&7;u=h+t|0;t=v-t|0;c[87869]=u;c[87866]=t;c[u+4>>2]=t|1;c[h+v+4>>2]=40;c[87870]=c[87985]}while(0);b=c[87866]|0;if(b>>>0>m>>>0){t=b-m|0;c[87866]=t;v=c[87869]|0;u=v+m|0;c[87869]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;aa=w;return v|0}}c[87846]=12;v=0;aa=w;return v|0}function MA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;d=a+-8|0;e=c[87867]|0;a=c[a+-4>>2]|0;b=a&-8;k=d+b|0;do if(!(a&1)){f=c[d>>2]|0;if(!(a&3))return;g=d+(0-f)|0;h=f+b|0;if(g>>>0<e>>>0)return;if((c[87868]|0)==(g|0)){b=k+4|0;a=c[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}c[87865]=h;c[b>>2]=a&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}d=f>>>3;if(f>>>0<256){a=c[g+8>>2]|0;b=c[g+12>>2]|0;if((b|0)==(a|0)){c[87863]=c[87863]&~(1<<d);i=g;j=g;b=h;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=g;j=g;b=h;break}}f=c[g+24>>2]|0;a=c[g+12>>2]|0;do if((a|0)==(g|0)){d=g+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>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[g+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(f){a=c[g+28>>2]|0;b=351756+(a<<2)|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;if(!d){c[87864]=c[87864]&~(1<<a);i=g;j=g;b=h;break}}else{j=f+16|0;c[((c[j>>2]|0)==(g|0)?j:f+20|0)>>2]=d;if(!d){i=g;j=g;b=h;break}}c[d+24>>2]=f;b=g+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a){c[d+20>>2]=a;c[a+24>>2]=d;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=d;j=d}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=c[a>>2]|0;if(!(d&1))return;if(!(d&2)){if((c[87869]|0)==(k|0)){k=(c[87866]|0)+b|0;c[87866]=k;c[87869]=j;c[j+4>>2]=k|1;if((j|0)!=(c[87868]|0))return;c[87868]=0;c[87865]=0;return}if((c[87868]|0)==(k|0)){k=(c[87865]|0)+b|0;c[87865]=k;c[87868]=i;c[j+4>>2]=k|1;c[i+k>>2]=k;return}f=(d&-8)+b|0;e=d>>>3;do if(d>>>0<256){b=c[k+8>>2]|0;a=c[k+12>>2]|0;if((a|0)==(b|0)){c[87863]=c[87863]&~(1<<e);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>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[k+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[k+28>>2]|0;b=351756+(a<<2)|0;if((c[b>>2]|0)==(k|0)){c[b>>2]=d;if(!d){c[87864]=c[87864]&~(1<<a);break}}else{h=g+16|0;c[((c[h>>2]|0)==(k|0)?h:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=k+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[j+4>>2]=f|1;c[i+f>>2]=f;if((j|0)==(c[87868]|0)){c[87865]=f;return}}else{c[a>>2]=d&-2;c[j+4>>2]=b|1;c[i+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=351492+(a<<1<<2)|0;b=c[87863]|0;a=1<<a;if(!(b&a)){c[87863]=b|a;a=d+8|0;b=d}else{b=d+8|0;a=b;b=c[b>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{i=(a+1048320|0)>>>16&8;k=a<<i;h=(k+520192|0)>>>16&4;k=k<<h;e=(k+245760|0)>>>16&2;e=14-(h|i|e)+(k<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=351756+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[j+16>>2]=0;a=c[87864]|0;d=1<<e;a:do if(!(a&d)){c[87864]=a|d;c[b>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j}else{a=c[b>>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]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break a}while(0);i=a+8|0;k=c[i>>2]|0;c[k+12>>2]=j;c[i>>2]=j;c[j+8>>2]=k;c[j+12>>2]=a;c[j+24>>2]=0}while(0);k=(c[87871]|0)+-1|0;c[87871]=k;if(k|0)return;a=351908;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[87871]=-1;return}function NA(){O(351948);return}function OA(){return 351948} +function jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+148|0;g=a+156|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+152|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=RA(b<<2)|0;if((e|0)>0)jC(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;SA(f);return 0}function kf(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;g=aa;aa=aa+64|0;j=g+24|0;l=g;h=g+20|0;m=b+4|0;o=b+36|0;n=c[o>>2]|0;k=c[(c[m>>2]|0)+8>>2]|0;d=Lz(n)|0;i=RA(112)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=n;c[i+16>>2]=d;c[i+20>>2]=k;k=i+24|0;c[k>>2]=0;c[k+4>>2]=0;c[i+32>>2]=6;c[i>>2]=287716;An(i+36|0,0,0);k=i+48|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;wl(k,-1,j);d=i+84|0;a[d>>0]=0;n=i+88|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;o=c[o>>2]|0;m=c[(c[m>>2]|0)+8>>2]|0;n=l+12|0;c[n>>2]=0;c[n+4>>2]=0;n=Lz(o)|0;c[l>>2]=o;c[l+4>>2]=n;c[l+8>>2]=m;wl(j,e,l);yl(k,j)|0;Dl(j);a[d>>0]=f&1;d=c[b+12>>2]|0;c[h>>2]=i;Yk(d,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=g;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=g;return 0}function lf(a,b){a=a|0;b=b|0;c[a+32>>2]=(c[(c[(c[a+12>>2]|0)+148>>2]|0)+(b<<2)>>2]|0)+52;return 0}function mf(a,b){a=a|0;b=b|0;c[a+32>>2]=0;return 0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;Mg((c[(c[(c[a+12>>2]|0)+148>>2]|0)+(b<<2)>>2]|0)+64|0,d);return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+64|0;g=i+20|0;h=i;b=c[(c[(c[a+12>>2]|0)+148>>2]|0)+(b<<2)>>2]|0;f=b+68|0;e=c[f>>2]|0;if(e>>>0<(c[b+72>>2]|0)>>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;wl(e,-1,g);b=(c[f>>2]|0)+36|0;c[f>>2]=b}else{Lg(b+64|0);b=c[f>>2]|0}e=c[a+36>>2]|0;a=c[(c[a+4>>2]|0)+8>>2]|0;f=h+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Lz(e)|0;c[h>>2]=e;c[h+4>>2]=f;c[h+8>>2]=a;wl(g,d,h);yl(b+-36|0,g)|0;Dl(g);aa=i;return 0}function pf(a,b){a=a|0;b=b|0;return 0}function qf(a){a=a|0;return 0}function rf(a,b){a=a|0;b=b|0;return 0}function sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=c[a+12>>2]|0;h=a+172|0;g=a+180|0;f=c[h>>2]|0;if((c[g>>2]|0)-f>>2>>>0>=b>>>0)return 0;a=a+176|0;if(b>>>0>1073741823)U();e=(c[a>>2]|0)-f|0;d=RA(b<<2)|0;if((e|0)>0)jC(d|0,f|0,e|0)|0;c[h>>2]=d;c[a>>2]=d+(e>>2<<2);c[g>>2]=d+(b<<2);if(!f)return 0;SA(f);return 0}function tf(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;g=aa;aa=aa+64|0;j=g+24|0;l=g;h=g+20|0;m=b+4|0;o=b+36|0;n=c[o>>2]|0;k=c[(c[m>>2]|0)+8>>2]|0;d=Lz(n)|0;i=RA(112)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=n;c[i+16>>2]=d;c[i+20>>2]=k;k=i+24|0;c[k>>2]=0;c[k+4>>2]=0;c[i+32>>2]=8;c[i>>2]=287700;An(i+36|0,0,0);k=i+48|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;wl(k,-1,j);d=i+84|0;a[d>>0]=0;n=i+88|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;o=c[o>>2]|0;m=c[(c[m>>2]|0)+8>>2]|0;n=l+12|0;c[n>>2]=0;c[n+4>>2]=0;n=Lz(o)|0;c[l>>2]=o;c[l+4>>2]=n;c[l+8>>2]=m;wl(j,e,l);yl(k,j)|0;Dl(j);a[d>>0]=f&1;d=c[b+12>>2]|0;c[h>>2]=i;Wk(d,h);d=c[h>>2]|0;c[h>>2]=0;if(!d){aa=g;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=g;return 0}function uf(a,b){a=a|0;b=b|0;c[a+32>>2]=(c[(c[(c[a+12>>2]|0)+172>>2]|0)+(b<<2)>>2]|0)+52;return 0}function vf(a,b){a=a|0;b=b|0;c[a+32>>2]=0;return 0}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;g=c[(c[(c[b+12>>2]|0)+172>>2]|0)+(d<<2)>>2]|0;m=g+64|0;l=g+68|0;b=c[l>>2]|0;i=c[m>>2]|0;k=b-i|0;j=i;a:do if(k>>>0<f>>>0){d=f-k|0;h=g+72|0;g=c[h>>2]|0;if((g-b|0)>>>0>=d>>>0)while(1){a[b>>0]=0;b=(c[l>>2]|0)+1|0;c[l>>2]=b;d=d+-1|0;if(!d){n=15;break a}}if((f|0)<0)yB();b=g-i|0;g=b<<1;g=b>>>0<1073741823?(g>>>0<f>>>0?f:g):2147483647;if(!g)b=0;else b=RA(g)|0;lC(b+k|0,0,d|0)|0;if((k|0)>0)jC(b|0,j|0,k|0)|0;c[m>>2]=b;c[l>>2]=b+f;c[h>>2]=b+g;if(i|0)SA(j)}else if(k>>>0>f>>>0){c[l>>2]=j+f;n=15}else n=15;while(0);if((n|0)==15?(f|0)==0:0)return 0;jC(c[m>>2]|0,e|0,f|0)|0;return 0}function xf(a,b){a=a|0;b=b|0;return 0}function yf(a){a=a|0;return 0}function zf(a,b){a=a|0;b=b|0;return 0}function Af(a,b){a=a|0;b=b|0;return 0}function Bf(a){a=a|0;return 0}function Cf(a,b){a=a|0;b=b|0;return 0}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Ef(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;m=aa;aa=aa+32|0;i=m+20|0;g=m+8|0;l=m;f=c[e+4>>2]|0;if(!f){aa=m;return 0}j=c[e>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;h=i+11|0;a[h>>0]=1;a[i>>0]=36;a[i+1>>0]=0;An(g,j,f);j=a[g+11>>0]|0;f=j<<24>>24<0;e=c[g>>2]|0;lB(i,f?e:g,f?c[g+4>>2]|0:j&255)|0;j=c[i>>2]|0;k=i+4|0;c[l>>2]=c[k>>2];b[l+4>>1]=b[k+4>>1]|0;a[l+6>>0]=a[k+6>>0]|0;k=a[i+11>>0]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;if(f){SA(e);if((a[h>>0]|0)<0)SA(c[i>>2]|0)}e=c[d+12>>2]|0;g=e+20|0;f=g+11|0;if((a[f>>0]|0)<0){a[c[g>>2]>>0]=0;c[e+24>>2]=0;e=g}else{a[g>>0]=0;a[f>>0]=0;e=g}gB(g);c[e>>2]=j;j=e+4|0;c[j>>2]=c[l>>2];b[j+4>>1]=b[l+4>>1]|0;a[j+6>>0]=a[l+6>>0]|0;a[e+11>>0]=k;aa=m;return 0}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;d=c[a+12>>2]|0;d=(c[d+80>>2]|0)-(c[d+76>>2]|0)>>2;if(d>>>0>=b>>>0){e=0;aa=f;return e|0}c[e>>2]=b;c[e+4>>2]=d;Gg(a,292279,e);e=1;aa=f;return e|0}function Hf(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=aa;aa=aa+64|0;l=n+48|0;m=n+24|0;j=n+12|0;k=n;f=c[e+4>>2]|0;if(!f){aa=n;return 0}i=b+12|0;h=c[i>>2]|0;g=c[(c[h+76>>2]|0)+(d<<2)>>2]|0;h=h+216|0;o=c[e>>2]|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;e=l+11|0;a[e>>0]=1;a[l>>0]=36;a[l+1>>0]=0;An(m,o,f);o=a[m+11>>0]|0;f=o<<24>>24<0;b=c[m>>2]|0;lB(l,f?b:m,f?c[m+4>>2]|0:o&255)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;if(f){SA(b);if((a[e>>0]|0)<0)SA(c[l>>2]|0)}yg(j,h,k);if((a[k+11>>0]|0)<0)SA(c[k>>2]|0);cB(g,j)|0;o=c[i>>2]|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]=d;o=o+216|0;Ig(l,o,j,m);Ag(o,c[l>>2]|0);if((a[j+11>>0]|0)<0)SA(c[j>>2]|0);aa=n;return 0}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Jf(a,b){a=a|0;b=b|0;return 0}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=aa;aa=aa+16|0;e=f;b=c[(c[(c[a+12>>2]|0)+76>>2]|0)+(b<<2)>>2]|0;g=(c[b+56>>2]|0)-(c[b+52>>2]|0)>>2;b=g+(Gk(c[b+76>>2]|0,c[b+80>>2]|0)|0)|0;if(b>>>0>=d>>>0){g=0;aa=f;return g|0}c[e>>2]=d;c[e+4>>2]=b;Gg(a,292228,e);g=1;aa=f;return g|0}function Lf(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=aa;aa=aa+64|0;j=m+40|0;k=m+24|0;i=m+12|0;l=m;h=c[f+4>>2]|0;if(!h){aa=m;return 0}g=(c[(c[(c[b+12>>2]|0)+76>>2]|0)+(d<<2)>>2]|0)+88|0;f=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;b=j+11|0;a[b>>0]=1;a[j>>0]=36;a[j+1>>0]=0;An(k,f,h);f=a[k+11>>0]|0;h=f<<24>>24<0;d=c[k>>2]|0;lB(j,h?d:k,h?c[k+4>>2]|0:f&255)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(h){SA(d);if((a[b>>0]|0)<0)SA(c[j>>2]|0)}yg(i,g,l);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]=e;zg(g,i,j);if((a[i+11>>0]|0)<0)SA(c[i>>2]|0);if((a[l+11>>0]|0)<0)SA(c[l>>2]|0);aa=m;return 0}function Mf(a){a=a|0;return 0}function Nf(a,b){a=a|0;b=b|0;return 0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function Qf(a){a=a|0;return 0}function Rf(a,b){a=a|0;b=b|0;return 0}function Sf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function Tf(a,b){a=a|0;b=b|0;return 0}function Uf(a,b){a=a|0;b=b|0;return 0}function Vf(a){a=a|0;return 0}function Wf(a,b){a=a|0;b=b|0;return 0}function Xf(a,b){a=a|0;b=b|0;return 0}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Zf(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 0}function _f(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function $f(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function bg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function cg(a,b){a=a|0;b=b|0;return 0}function dg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function eg(a,b){a=a|0;b=b|0;return 0}function fg(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function gg(a){a=a|0;return 0}function hg(a,b){a=a|0;b=b|0;return 0}function ig(a,b){a=a|0;b=b|0;return 0}function jg(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;j=aa;aa=aa+64|0;f=j+24|0;k=j;i=j+20|0;l=b+4|0;n=b+36|0;g=c[n>>2]|0;m=c[(c[l>>2]|0)+8>>2]|0;d=Lz(g)|0;h=RA(112)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=g;c[h+16>>2]=d;c[h+20>>2]=m;m=h+24|0;c[m>>2]=0;c[m+4>>2]=0;c[h+32>>2]=10;c[h>>2]=287684;An(h+36|0,0,0);m=h+48|0;a[m>>0]=0;d=h+52|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;wl(d,-1,f);g=h+88|0;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;a[m>>0]=1;n=c[n>>2]|0;l=c[(c[l>>2]|0)+8>>2]|0;m=k+12|0;c[m>>2]=0;c[m+4>>2]=0;m=Lz(n)|0;c[k>>2]=n;c[k+4>>2]=m;c[k+8>>2]=l;wl(f,e,k);yl(d,f)|0;Dl(f);f=b+12|0;d=c[f>>2]|0;b=c[(c[d+124>>2]|0)+(e<<2)>>2]|0;e=b+12|0;if((e|0)!=(g|0)){vg(g,c[e>>2]|0,c[b+16>>2]|0);vg(h+100|0,c[b+24>>2]|0,c[b+28>>2]|0);d=c[f>>2]|0}c[i>>2]=h;_k(d,i);d=c[i>>2]|0;c[i>>2]=0;if(!d){aa=j;return 0}ma[c[(c[d>>2]|0)+4>>2]&255](d);aa=j;return 0}function kg(a){a=a|0;return 0}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,j=0;h=aa;aa=aa+64|0;j=h+40|0;i=h;f=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;e=j+12|0;c[e>>2]=0;c[e+4>>2]=0;e=Lz(f)|0;c[j>>2]=f;c[j+4>>2]=e;c[j+8>>2]=g;g=c[a+32>>2]|0;Gl(i,d,j);e=RA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287652;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 0}function mg(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;h=aa;aa=aa+64|0;j=h+40|0;i=h;b=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;f=j+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Lz(b)|0;c[j>>2]=b;c[j+4>>2]=f;c[j+8>>2]=g;g=c[a+32>>2]|0;Hl(i,d,e,j);e=RA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287652;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 0}function ng(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=aa;aa=aa+80|0;e=h+64|0;j=h+40|0;i=h;b=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;f=j+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Lz(b)|0;c[j>>2]=b;c[j+4>>2]=f;c[j+8>>2]=g;g=c[a+32>>2]|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];Il(i,e,j);e=RA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287652;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 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;h=aa;aa=aa+64|0;b=h+36|0;g=h;i=c[a+36>>2]|0;f=c[(c[a+4>>2]|0)+8>>2]|0;e=b+12|0;c[e>>2]=0;c[e+4>>2]=0;e=Lz(i)|0;c[b>>2]=i;c[b+4>>2]=e;c[b+8>>2]=f;f=c[a+32>>2]|0;wl(g,d,b);a=RA(72)|0;c[a+4>>2]=0;e=a+8|0;c[e>>2]=0;d=a+12|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[a+32>>2]=18;c[a>>2]=287668;zl(a+36|0,g);d=f+4|0;b=c[d>>2]|0;if(!b){i=f;c[i>>2]=a;c[d>>2]=a;i=f+8|0;f=c[i>>2]|0;f=f+1|0;c[i>>2]=f;Dl(g);aa=h;return 0}else{c[e>>2]=b;i=b+4|0;c[i>>2]=a;c[d>>2]=a;i=f+8|0;f=c[i>>2]|0;f=f+1|0;c[i>>2]=f;Dl(g);aa=h;return 0}return 0}function pg(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=aa;aa=aa+64|0;j=h+40|0;i=h;f=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;e=j+12|0;c[e>>2]=0;c[e+4>>2]=0;e=Lz(f)|0;c[j>>2]=f;c[j+4>>2]=e;c[j+8>>2]=g;g=c[a+32>>2]|0;El(i,d,j);e=RA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287652;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 0}function qg(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;h=aa;aa=aa+64|0;j=h+40|0;i=h;b=c[a+36>>2]|0;g=c[(c[a+4>>2]|0)+8>>2]|0;f=j+12|0;c[f>>2]=0;c[f+4>>2]=0;f=Lz(b)|0;c[j>>2]=b;c[j+4>>2]=f;c[j+8>>2]=g;g=c[a+32>>2]|0;Fl(i,d,e,j);e=RA(80)|0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=0;b=e+12|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[e+32>>2]=15;c[e>>2]=287652;b=e+40|0;a=i;d=b+40|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));a=g+4|0;b=c[a>>2]|0;if(!b){j=g;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}else{c[f>>2]=b;j=b+4|0;c[j>>2]=e;c[a>>2]=e;j=g+8|0;i=c[j>>2]|0;i=i+1|0;c[j>>2]=i;aa=h;return 0}return 0}function rg(a){a=a|0;return}function sg(a){a=a|0;SA(a);return}function tg(a){a=a|0;c[a>>2]=287668;Dl(a+36|0);return}function ug(a){a=a|0;c[a>>2]=287668;Dl(a+36|0);SA(a);return}function vg(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=d;i=b;h=l-i|0;f=h>>2;g=a+8|0;e=c[g>>2]|0;j=c[a>>2]|0;k=j;if(f>>>0<=e-j>>2>>>0){h=a+4|0;g=(c[h>>2]|0)-j>>2;f=f>>>0>g>>>0;g=f?b+(g<<2)|0:d;d=g;e=d-i|0;if(e|0)kC(j|0,b|0,e|0)|0;if(!f){c[h>>2]=k+(e>>2<<2);return}e=l-d|0;if((e|0)<=0)return;jC(c[h>>2]|0,g|0,e|0)|0;c[h>>2]=(c[h>>2]|0)+(e>>>2<<2);return}if(j){e=a+4|0;c[e>>2]=j;SA(j);c[g>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>1073741823)yB();l=e>>1;f=e>>2>>>0<536870911?(l>>>0<f>>>0?f:l):1073741823;if(f>>>0>1073741823)yB();d=RA(f<<2)|0;e=a+4|0;c[e>>2]=d;c[a>>2]=d;c[g>>2]=d+(f<<2);if((h|0)<=0)return;jC(d|0,b|0,h|0)|0;c[e>>2]=d+(h>>>2<<2);return}function wg(b){b=b|0;var d=0,e=0;c[b>>2]=287684;e=b+36|0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[e+11>>0]|0)>=0)return;SA(c[e>>2]|0);return}function xg(b){b=b|0;var d=0,e=0;c[b>>2]=287684;e=b+36|0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[e+11>>0]|0)>=0){SA(b);return}SA(c[e>>2]|0);SA(b);return}function yg(d,e,f){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=aa;aa=aa+32|0;o=u+24|0;r=u+12|0;s=u;VA(d,f);if(!(Dg(e,d)|0)){aa=u;return}h=s+11|0;l=s+4|0;k=d+11|0;j=d+4|0;i=r+11|0;p=d+11|0;m=1;while(1){Eg(r,f);pB(s,m);n=a[h>>0]|0;t=n<<24>>24<0;g=c[s>>2]|0;lB(r,t?g:s,t?c[l>>2]|0:n&255)|0;n=c[r>>2]|0;q=r+4|0;c[o>>2]=c[q>>2];b[o+4>>1]=b[q+4>>1]|0;a[o+6>>0]=a[q+6>>0]|0;q=a[r+11>>0]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;if((a[k>>0]|0)<0){a[c[d>>2]>>0]=0;c[j>>2]=0}else{a[d>>0]=0;a[k>>0]=0}gB(d);c[d>>2]=n;c[j>>2]=c[o>>2];b[j+4>>1]=b[o+4>>1]|0;a[j+6>>0]=a[o+6>>0]|0;a[p>>0]=q;c[o>>2]=0;b[o+4>>1]=0;a[o+6>>0]=0;if(t)SA(g);if((a[i>>0]|0)<0)SA(c[r>>2]|0);if(!(Dg(e,d)|0))break;else m=m+1|0}aa=u;return}function zg(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;j=RA(44)|0;h=j+8|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=j+20|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];i=a[j+19>>0]|0;g=i<<24>>24<0;h=g?c[h>>2]|0:h;i=g?c[j+12>>2]|0:i&255;if(i>>>0>3){f=h;e=i;g=i;while(1){l=v(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24,1540483477)|0;e=(v(l>>>24^l,1540483477)|0)^(v(e,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else f=f+4|0}l=i+-4|0;f=l&-4;h=h+(f+4)|0;f=l-f|0}else{e=i;f=i}switch(f|0){case 3:{e=(d[h+2>>0]|0)<<16^e;k=7;break}case 2:{k=7;break}case 1:{k=8;break}default:{}}if((k|0)==7){e=(d[h+1>>0]|0)<<8^e;k=8}if((k|0)==8)e=v(e^(d[h>>0]|0),1540483477)|0;l=v(e>>>13^e,1540483477)|0;c[j+4>>2]=l>>>15^l;c[j>>2]=0;Ag(b,j);return}function Ag(b,e){b=b|0;e=e|0;var g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=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;K=e+8|0;I=K+11|0;l=a[I>>0]|0;H=l<<24>>24<0;J=e+12|0;j=H?c[K>>2]|0:K;l=H?c[J>>2]|0:l&255;if(l>>>0>3){h=j;g=l;i=l;while(1){H=v(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,1540483477)|0;g=(v(H>>>24^H,1540483477)|0)^(v(g,1540483477)|0);i=i+-4|0;if(i>>>0<=3)break;else h=h+4|0}H=l+-4|0;h=H&-4;j=j+(h+4)|0;h=H-h|0}else{g=l;h=l}switch(h|0){case 3:{g=d[j+2>>0]<<16^g;L=7;break}case 2:{L=7;break}case 1:{L=8;break}default:{}}if((L|0)==7){g=d[j+1>>0]<<8^g;L=8}if((L|0)==8)g=v(g^d[j>>0],1540483477)|0;h=v(g>>>13^g,1540483477)|0;h=h>>>15^h;g=e+4|0;c[g>>2]=h;j=b+4|0;i=c[j>>2]|0;H=b+12|0;m=+(((c[H>>2]|0)+1|0)>>>0);k=+f[b+16>>2];if((i|0)==0|k*+(i>>>0)<m){x=i<<1|(i>>>0<3|(i+-1&i|0)!=0)&1;E=~~+u(+(m/k))>>>0;Bg(b,x>>>0<E>>>0?E:x);x=c[g>>2]|0;E=c[j>>2]|0}else{x=h;E=i}F=E+-1|0;G=(F&E|0)==0;if(!G)if(x>>>0<E>>>0)D=x;else D=(x>>>0)%(E>>>0)|0;else D=F&x;i=c[(c[b>>2]|0)+(D<<2)>>2]|0;if(!i){g=b+8|0;c[e>>2]=c[g>>2];c[g>>2]=e;c[(c[b>>2]|0)+(D<<2)>>2]=g;g=c[e>>2]|0;if(!g){b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}g=c[g+4>>2]|0;if(!G){if(g>>>0>=E>>>0)g=(g>>>0)%(E>>>0)|0}else g=g&F;c[(c[b>>2]|0)+(g<<2)>>2]=e;b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}g=c[i>>2]|0;a:do if(!g){h=i;g=i}else{if(G){p=g;o=0;h=i;g=i;while(1){i=c[p+4>>2]|0;if((i&F|0)!=(D|0))break a;b:do if((i|0)==(x|0)?(q=p+8|0,s=a[q+11>>0]|0,t=s<<24>>24<0,s=s&255,r=t?c[p+12>>2]|0:s,C=a[I>>0]|0,w=C<<24>>24<0,(r|0)==((w?c[J>>2]|0:C&255)|0)):0){j=c[q>>2]|0;n=t?j:q;i=w?c[K>>2]|0:K;l=(r|0)==0;j=j&255;if(t){if(l){g=1;break}i=(Kz(n,i,r)|0)==0;L=38;break}if(!l)if((a[i>>0]|0)==j<<24>>24){j=s;l=q;while(1){j=j+-1|0;l=l+1|0;if(!j){g=1;break b}i=i+1|0;if((a[l>>0]|0)!=(a[i>>0]|0)){i=0;L=38;break}}}else{i=0;L=38}else g=1}else{i=0;L=38}while(0);if((L|0)==38){L=0;if(i|o^1)g=i;else break a}h=c[p>>2]|0;if(!h){h=p;g=p;break a}else{B=p;C=p;p=h;o=o|g;g=B;h=C}}}p=g;o=0;h=i;g=i;while(1){i=c[p+4>>2]|0;if(i>>>0<E>>>0)j=i;else j=(i>>>0)%(E>>>0)|0;if((j|0)!=(D|0))break a;c:do if((i|0)==(x|0)?(y=p+8|0,A=a[y+11>>0]|0,B=A<<24>>24<0,A=A&255,z=B?c[p+12>>2]|0:A,w=a[I>>0]|0,C=w<<24>>24<0,(z|0)==((C?c[J>>2]|0:w&255)|0)):0){j=c[y>>2]|0;n=B?j:y;i=C?c[K>>2]|0:K;l=(z|0)==0;j=j&255;if(B){if(l){g=1;break}i=(Kz(n,i,z)|0)==0;L=53;break}if(!l)if((a[i>>0]|0)==j<<24>>24){j=A;l=y;while(1){j=j+-1|0;l=l+1|0;if(!j){g=1;break c}i=i+1|0;if((a[l>>0]|0)!=(a[i>>0]|0)){i=0;L=53;break}}}else{i=0;L=53}else g=1}else{i=0;L=53}while(0);if((L|0)==53){L=0;if(i|o^1)g=i;else break a}h=c[p>>2]|0;if(!h){h=p;g=p;break}else{t=p;w=p;p=h;o=o|g;g=t;h=w}}}while(0);c[e>>2]=c[g>>2];c[h>>2]=e;g=c[e>>2]|0;if(!g){b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}g=c[g+4>>2]|0;if(!G){if(g>>>0>=E>>>0)g=(g>>>0)%(E>>>0)|0}else g=g&F;if((g|0)==(D|0)){b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}c[(c[b>>2]|0)+(g<<2)>>2]=e;b=c[H>>2]|0;b=b+1|0;c[H>>2]=b;return}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=PA(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0>e>>>0){Cg(a,b);return}if(b>>>0>=e>>>0)return;d=~~+u(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(w(d+-1|0)|0);d=d>>>0<2?d:g}else d=PA(d)|0;b=b>>>0<d>>>0?d:b;if(b>>>0>=e>>>0)return;Cg(a,b);return}function Cg(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;f=b+4|0;if(!d){e=c[b>>2]|0;c[b>>2]=0;if(e|0)SA(e);c[f>>2]=0;return}if(d>>>0>1073741823)U();r=RA(d<<2)|0;e=c[b>>2]|0;c[b>>2]=r;if(e|0)SA(e);c[f>>2]=d;e=0;do{c[(c[b>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(d|0));f=b+8|0;g=c[f>>2]|0;if(!g)return;e=c[g+4>>2]|0;q=d+-1|0;r=(q&d|0)==0;if(!r){if(e>>>0>=d>>>0)e=(e>>>0)%(d>>>0)|0}else e=e&q;c[(c[b>>2]|0)+(e<<2)>>2]=f;f=c[g>>2]|0;if(!f)return;p=g;while(1){g=c[f+4>>2]|0;if(!r){if(g>>>0>=d>>>0)g=(g>>>0)%(d>>>0)|0}else g=g&q;do if((g|0)==(e|0))g=f;else{h=(c[b>>2]|0)+(g<<2)|0;if(!(c[h>>2]|0)){c[h>>2]=p;e=g;g=f;break}h=c[f>>2]|0;a:do if(!h)h=f;else{n=f+8|0;m=a[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?c[f+12>>2]|0:m;l=(o|0)==0;if(k){i=f;while(1){j=h+8|0;m=a[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?c[h+12>>2]|0:m&255)|0)){h=i;break a}if(!l?Kz(c[n>>2]|0,k?c[j>>2]|0:j,o)|0:0){h=i;break a}i=c[h>>2]|0;if(!i)break a;else{m=h;h=i;i=m}}}if(l){i=f;while(1){o=a[h+8+11>>0]|0;if((o<<24>>24<0?c[h+12>>2]|0:o&255)|0){h=i;break a}i=c[h>>2]|0;if(!i)break a;else{o=h;h=i;i=o}}}l=f;while(1){i=h+8|0;k=a[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?c[h+12>>2]|0:k&255)|0)){h=l;break a}i=j?c[i>>2]|0:i;if((a[i>>0]|0)!=(c[n>>2]&255)<<24>>24){h=l;break a}j=m;k=n;while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((a[k>>0]|0)!=(a[i>>0]|0)){h=l;break a}}i=c[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);c[p>>2]=c[h>>2];c[h>>2]=c[c[(c[b>>2]|0)+(g<<2)>>2]>>2];c[c[(c[b>>2]|0)+(g<<2)>>2]>>2]=f;g=p}while(0);f=c[g>>2]|0;if(!f)break;else p=g}return}function Dg(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;b=Fg(b,d)|0;if(!b){l=0;return l|0}b=c[b>>2]|0;if(!b){l=1;return l|0}l=a[d+11>>0]|0;k=l<<24>>24<0;l=k?c[d+4>>2]|0:l&255;k=k?c[d>>2]|0:d;j=(l|0)==0;i=b;b=1;a:while(1){g=i;d=g+8|0;f=a[d+11>>0]|0;h=f<<24>>24<0;f=f&255;if(((h?c[g+12>>2]|0:f)|0)!=(l|0)){d=14;break}e=c[d>>2]|0;g=h?e:d;e=e&255;b:do if(h){if(!j?Kz(g,k,l)|0:0){d=14;break a}}else if(!j){if((a[k>>0]|0)!=e<<24>>24){d=14;break a}e=k;while(1){f=f+-1|0;d=d+1|0;if(!f)break b;e=e+1|0;if((a[d>>0]|0)!=(a[e>>0]|0)){d=14;break a}}}while(0);i=c[i>>2]|0;b=b+1|0;if(!i){d=14;break}}if((d|0)==14)return b|0;return 0}function Eg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=a[d+11>>0]|0;e=f<<24>>24<0;f=e?c[d+4>>2]|0:f&255;e=e?c[d>>2]|0:d;d=f+1|0;if(d>>>0>4294967279)TA();if(d>>>0<11){a[b+11>>0]=f;if(!f){e=b;f=e+f|0;a[f>>0]=0;lB(b,330356,1)|0;return}else d=b}else{g=f+17&-16;d=RA(g)|0;c[b>>2]=d;c[b+8>>2]=g|-2147483648;c[b+4>>2]=f}jC(d|0,e|0,f|0)|0;g=d;g=g+f|0;a[g>>0]=0;lB(b,330356,1)|0;return}function Fg(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;s=a[e+11>>0]|0;r=s<<24>>24<0;t=r?c[e>>2]|0:e;s=r?c[e+4>>2]|0:s&255;if(s>>>0>3){e=t;h=s;f=s;while(1){r=v(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24,1540483477)|0;h=(v(r>>>24^r,1540483477)|0)^(v(h,1540483477)|0);f=f+-4|0;if(f>>>0<=3)break;else e=e+4|0}r=s+-4|0;f=r&-4;g=t+(f+4)|0;e=h;f=r-f|0}else{g=t;e=s;f=s}switch(f|0){case 3:{i=d[g+2>>0]<<16^e;l=7;break}case 2:{i=e;l=7;break}case 1:{j=e;l=8;break}default:k=e}if((l|0)==7){j=d[g+1>>0]<<8^i;l=8}if((l|0)==8)k=v(j^d[g>>0],1540483477)|0;r=v(k>>>13^k,1540483477)|0;r=r>>>15^r;p=c[b+4>>2]|0;if(!p){t=0;return t|0}i=p+-1|0;f=(i&p|0)==0;if(!f)if(r>>>0<p>>>0)q=r;else q=(r>>>0)%(p>>>0)|0;else q=r&i;e=c[(c[b>>2]|0)+(q<<2)>>2]|0;if(!e){t=0;return t|0}j=c[e>>2]|0;if(!j){t=0;return t|0}k=(s|0)==0;if(f){e=j;a:while(1){l=c[e+4>>2]|0;f=(r|0)==(l|0);if(!(f|(l&i|0)==(q|0))){e=0;l=45;break}do if(f?(m=e+8|0,n=a[m+11>>0]|0,o=n<<24>>24<0,n=n&255,((o?c[e+12>>2]|0:n)|0)==(s|0)):0){f=c[m>>2]|0;g=o?f:m;f=f&255;if(o){if(k){l=45;break a}if(!(Kz(g,t,s)|0)){l=45;break a}else break}if(k){l=45;break a}if((a[t>>0]|0)==f<<24>>24){f=n;g=m;h=t;do{f=f+-1|0;g=g+1|0;if(!f){l=45;break a}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);e=c[e>>2]|0;if(!e){e=0;l=45;break}}if((l|0)==45)return e|0}b:while(1){e=c[j+4>>2]|0;do if((r|0)==(e|0)){e=j+8|0;g=a[e+11>>0]|0;i=g<<24>>24<0;g=g&255;if(((i?c[j+12>>2]|0:g)|0)==(s|0)){f=c[e>>2]|0;h=i?f:e;f=f&255;if(i){if(k){e=j;l=45;break b}if(!(Kz(h,t,s)|0)){e=j;l=45;break b}else break}if(k){e=j;l=45;break b}if((a[t>>0]|0)==f<<24>>24){f=t;do{g=g+-1|0;e=e+1|0;if(!g){e=j;l=45;break b}f=f+1|0}while((a[e>>0]|0)==(a[f>>0]|0))}}}else{if(e>>>0>=p>>>0)e=(e>>>0)%(p>>>0)|0;if((e|0)!=(q|0)){e=0;l=45;break b}}while(0);j=c[j>>2]|0;if(!j){e=0;l=45;break}}if((l|0)==45)return e|0;return 0}function Gg(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;j=aa;aa=aa+192|0;k=j+144|0;e=j+128|0;f=j;g=j+184|0;h=j+180|0;i=j+160|0;c[k>>2]=d;c[e>>2]=c[k>>2];c[g>>2]=f;d=(Mz(f,128,b,k)|0)+1|0;if(d>>>0>128){f=aa;aa=aa+((1*d|0)+15&-16)|0;c[g>>2]=f;Mz(f,d,b,e)|0}d=c[a+8>>2]|0;c[h>>2]=1;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=-1;b=d+4|0;e=c[b>>2]|0;if(e>>>0<(c[d+8>>2]|0)>>>0){k=Lz(f)|0;c[e>>2]=1;h=e+4|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[h+16>>2]=c[i+16>>2];An(e+24|0,f,k);c[b>>2]=(c[b>>2]|0)+36;aa=j;return}else{Hg(d,h,i,g);aa=j;return}}function Hg(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;o=aa;aa=aa+32|0;i=o;m=b+4|0;g=c[b>>2]|0;k=((c[m>>2]|0)-g|0)/36|0;h=k+1|0;if(h>>>0>119304647)yB();n=b+8|0;l=((c[n>>2]|0)-g|0)/36|0;g=l<<1;g=l>>>0<59652323?(g>>>0<h>>>0?h:g):119304647;do if(g)if(g>>>0>119304647)U();else{j=RA(g*36|0)|0;break}else j=0;while(0);h=j+(k*36|0)|0;l=j+(g*36|0)|0;g=c[d>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];d=c[f>>2]|0;f=Lz(d)|0;c[h>>2]=g;g=j+(k*36|0)+4|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];An(j+(k*36|0)+24|0,d,f);f=h+36|0;d=c[b>>2]|0;g=c[m>>2]|0;if((g|0)==(d|0)){e=d;g=d}else{do{j=h;h=h+-36|0;k=g;g=g+-36|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];j=j+-12|0;k=k+-12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}while((g|0)!=(d|0));e=c[b>>2]|0;g=c[m>>2]|0}c[b>>2]=h;c[m>>2]=f;c[n>>2]=l;d=e;if((g|0)!=(d|0))do{h=g+-12|0;g=g+-36|0;if((a[h+11>>0]|0)<0)SA(c[h>>2]|0)}while((g|0)!=(d|0));if(!e){aa=o;return}SA(e);aa=o;return}function Ig(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;i=RA(44)|0;c[b>>2]=i;c[b+4>>2]=e+8;e=i+8|0;VA(e,f);h=i+20|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];a[b+8>>0]=1;h=a[i+19>>0]|0;b=h<<24>>24<0;e=b?c[e>>2]|0:e;h=b?c[i+12>>2]|0:h&255;if(h>>>0>3){g=e;f=h;b=h;while(1){k=v(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,1540483477)|0;f=(v(k>>>24^k,1540483477)|0)^(v(f,1540483477)|0);b=b+-4|0;if(b>>>0<=3)break;else g=g+4|0}k=h+-4|0;g=k&-4;e=e+(g+4)|0;g=k-g|0}else{f=h;g=h}switch(g|0){case 3:{f=(d[e+2>>0]|0)<<16^f;j=7;break}case 2:{j=7;break}case 1:break;default:{j=f;k=j>>>13;j=k^j;j=v(j,1540483477)|0;k=j>>>15;j=k^j;k=i+4|0;c[k>>2]=j;c[i>>2]=0;return}}if((j|0)==7)f=(d[e+1>>0]|0)<<8^f;j=v(f^(d[e>>0]|0),1540483477)|0;k=j>>>13;j=k^j;j=v(j,1540483477)|0;k=j>>>15;j=k^j;k=i+4|0;c[k>>2]=j;c[i>>2]=0;return}function Jg(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287700;f=b+36|0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}e=b+88|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+92>>2]=0;c[e>>2]=0;c[b+96>>2]=0;Dl(b+48|0);if((a[f+11>>0]|0)>=0)return;SA(c[f>>2]|0);return}function Kg(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287700;f=b+36|0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}e=b+88|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+92>>2]=0;c[e>>2]=0;c[b+96>>2]=0;Dl(b+48|0);if((a[f+11>>0]|0)>=0){SA(b);return}SA(c[f>>2]|0);SA(b);return}function Lg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;g=k;i=a+4|0;b=c[a>>2]|0;e=((c[i>>2]|0)-b|0)/36|0;d=e+1|0;if(d>>>0>119304647)yB();j=a+8|0;h=((c[j>>2]|0)-b|0)/36|0;b=h<<1;b=h>>>0<59652323?(b>>>0<d>>>0?d:b):119304647;do if(b)if(b>>>0>119304647)U();else{f=RA(b*36|0)|0;break}else f=0;while(0);d=f+(e*36|0)|0;h=f+(b*36|0)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;wl(d,-1,g);g=d+36|0;f=c[a>>2]|0;b=c[i>>2]|0;if((b|0)==(f|0)){e=f;b=f}else{do{d=d+-36|0;b=b+-36|0;zl(d,b)}while((b|0)!=(f|0));e=c[a>>2]|0;b=c[i>>2]|0}c[a>>2]=d;c[i>>2]=g;c[j>>2]=h;d=e;if((b|0)!=(d|0))do{b=b+-36|0;Dl(b)}while((b|0)!=(d|0));if(!e){aa=k;return}SA(e);aa=k;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;k=a+8|0;e=c[a>>2]|0;g=e;if((((c[k>>2]|0)-e|0)/36|0)>>>0>=b>>>0)return;j=a+4|0;if(b>>>0>119304647)U();d=c[j>>2]|0;h=RA(b*36|0)|0;f=h+(((d-e|0)/36|0)*36|0)|0;i=f;h=h+(b*36|0)|0;e=d;if((e|0)!=(g|0)){d=e;do{f=f+-36|0;d=d+-36|0;zl(f,d)}while((d|0)!=(g|0));d=c[a>>2]|0;e=c[j>>2]|0;b=d;c[a>>2]=f;c[j>>2]=i;c[k>>2]=h;if((e|0)!=(b|0))do{e=e+-36|0;Dl(e)}while((e|0)!=(b|0))}else{c[a>>2]=i;c[j>>2]=i;c[k>>2]=h}if(!d)return;SA(d);return}function Ng(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=287716;h=b+36|0;e=b+100|0;f=c[e>>2]|0;if(f|0){g=b+104|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-36|0;Dl(d)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;SA(d)}e=b+88|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+92>>2]=0;c[e>>2]=0;c[b+96>>2]=0;Dl(b+48|0);if((a[h+11>>0]|0)>=0)return;SA(c[h>>2]|0);return}function Og(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=287716;h=b+36|0;e=b+100|0;f=c[e>>2]|0;if(f|0){g=b+104|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-36|0;Dl(d)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;SA(d)}e=b+88|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+92>>2]=0;c[e>>2]=0;c[b+96>>2]=0;Dl(b+48|0);if((a[h+11>>0]|0)>=0){SA(b);return}SA(c[h>>2]|0);SA(b);return}function Pg(a){a=a|0;SA(a);return}function Qg(a){a=a|0;SA(a);return}function Rg(a){a=a|0;SA(a);return}function Sg(a){a=a|0;SA(a);return}function Tg(a){a=a|0;SA(a);return}function Ug(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+64|0;f=i+20|0;g=i;if((e|0)>-1){a[d>>0]=1;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;wl(f,e,g);yl(d+4|0,f)|0;Dl(f);f=c[(c[(c[b+12>>2]|0)+124>>2]|0)+(e<<2)>>2]|0;g=f+12|0;e=d+40|0;if((e|0)==(g|0)){aa=i;return}vg(e,c[g>>2]|0,c[f+16>>2]|0);vg(d+52|0,c[f+24>>2]|0,c[f+28>>2]|0);aa=i;return}a[d>>0]=0;c[d+44>>2]=c[d+40>>2];if((e|0)==-64){e=0;b=0}else{b=RA(4)|0;c[b>>2]=e;e=b;b=b+4|0}h=d+52|0;f=c[h>>2]|0;if(!f){g=d+56|0;f=d+60|0}else{g=d+56|0;c[g>>2]=f;SA(f);f=d+60|0;c[f>>2]=0;c[g>>2]=0;c[h>>2]=0}c[h>>2]=e;c[g>>2]=b;c[f>>2]=b;aa=i;return}function Vg(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;l=a+24|0;f=c[l>>2]|0;m=a+28|0;g=c[m>>2]|0;if(f>>>0<g>>>0){c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e;c[l>>2]=f+12;return}k=a+20|0;j=c[k>>2]|0;i=f-j|0;h=(i|0)/12|0;a=h+1|0;if(a>>>0>357913941)yB();f=(g-j|0)/12|0;g=f<<1;g=f>>>0<178956970?(g>>>0<a>>>0?a:g):357913941;do if(g)if(g>>>0>357913941)U();else{n=RA(g*12|0)|0;break}else n=0;while(0);f=n+(h*12|0)|0;c[f>>2]=b;c[n+(h*12|0)+4>>2]=d;c[n+(h*12|0)+8>>2]=e;a=f+(((i|0)/-12|0)*12|0)|0;if((i|0)>0)jC(a|0,j|0,i|0)|0;c[k>>2]=a;c[l>>2]=f+12;c[m>>2]=n+(g*12|0);if(!j)return;SA(j);return}function Wg(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287812;e=b+144|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+148>>2]=0;c[e>>2]=0;c[b+152>>2]=0;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[f+11>>0]|0)>=0)return;SA(c[f>>2]|0);return}function Xg(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=287812;e=b+144|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+148>>2]=0;c[e>>2]=0;c[b+152>>2]=0;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[f+11>>0]|0)>=0){SA(b);return}SA(c[f>>2]|0);SA(b);return}function Yg(a){a=a|0;c[a>>2]=287828;Dl(a+36|0);return}function Zg(a){a=a|0;c[a>>2]=287828;Dl(a+36|0);SA(a);return}function _g(a){a=a|0;SA(a);return}function $g(a){a=a|0;SA(a);return}function ah(a){a=a|0;var b=0;c[a>>2]=287876;Dl(a+100|0);b=c[a+88>>2]|0;if(b|0){c[a+92>>2]=b;SA(b)}b=c[a+76>>2]|0;if(!b){a=a+40|0;Dl(a);return}c[a+80>>2]=b;SA(b);a=a+40|0;Dl(a);return}function bh(a){a=a|0;var b=0;c[a>>2]=287876;Dl(a+100|0);b=c[a+88>>2]|0;if(b|0){c[a+92>>2]=b;SA(b)}b=c[a+76>>2]|0;if(!b){b=a+40|0;Dl(b);SA(a);return}c[a+80>>2]=b;SA(b);b=a+40|0;Dl(b);SA(a);return}function ch(a){a=a|0;c[a>>2]=287892;Dl(a+36|0);return}function dh(a){a=a|0;c[a>>2]=287892;Dl(a+36|0);SA(a);return}function eh(a){a=a|0;SA(a);return}function fh(a){a=a|0;SA(a);return}function gh(a){a=a|0;SA(a);return}function hh(a){a=a|0;SA(a);return}function ih(a){a=a|0;SA(a);return}function jh(a){a=a|0;c[a>>2]=287988;Dl(a+36|0);return}function kh(a){a=a|0;c[a>>2]=287988;Dl(a+36|0);SA(a);return}function lh(a){a=a|0;c[a>>2]=288004;Dl(a+36|0);return}function mh(a){a=a|0;c[a>>2]=288004;Dl(a+36|0);SA(a);return}function nh(a){a=a|0;c[a>>2]=288020;Dl(a+36|0);return}function oh(a){a=a|0;c[a>>2]=288020;Dl(a+36|0);SA(a);return}function ph(a){a=a|0;c[a>>2]=288036;Dl(a+36|0);return}function qh(a){a=a|0;c[a>>2]=288036;Dl(a+36|0);SA(a);return}function rh(a){a=a|0;c[a>>2]=288052;Dl(a+36|0);return}function sh(a){a=a|0;c[a>>2]=288052;Dl(a+36|0);SA(a);return}function th(a){a=a|0;c[a>>2]=288068;Dl(a+36|0);return}function uh(a){a=a|0;c[a>>2]=288068;Dl(a+36|0);SA(a);return}function vh(a){a=a|0;SA(a);return}function wh(a){a=a|0;SA(a);return}function xh(a){a=a|0;c[a>>2]=288116;Dl(a+36|0);return}function yh(a){a=a|0;c[a>>2]=288116;Dl(a+36|0);SA(a);return}function zh(a){a=a|0;SA(a);return}function Ah(a){a=a|0;SA(a);return}function Bh(a){a=a|0;c[a>>2]=288164;Dl(a+36|0);return}function Ch(a){a=a|0;c[a>>2]=288164;Dl(a+36|0);SA(a);return}function Dh(a){a=a|0;SA(a);return}function Eh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288196;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[f+11>>0]|0)>=0)return;SA(c[f>>2]|0);return}function Fh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288196;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[f+11>>0]|0)>=0){SA(b);return}SA(c[f>>2]|0);SA(b);return}function Gh(a){a=a|0;c[a>>2]=288212;Dl(a+36|0);return}function Hh(a){a=a|0;c[a>>2]=288212;Dl(a+36|0);SA(a);return}function Ih(a){a=a|0;c[a>>2]=288228;Dl(a+36|0);return}function Jh(a){a=a|0;c[a>>2]=288228;Dl(a+36|0);SA(a);return}function Kh(a){a=a|0;c[a>>2]=288244;Dl(a+36|0);return}function Lh(a){a=a|0;c[a>>2]=288244;Dl(a+36|0);SA(a);return}function Mh(a){a=a|0;SA(a);return}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288276;e=b+144|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+148>>2]=0;c[e>>2]=0;c[b+152>>2]=0;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[f+11>>0]|0)>=0)return;SA(c[f>>2]|0);return}function Oh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288276;e=b+144|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+148>>2]=0;c[e>>2]=0;c[b+152>>2]=0;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[f+11>>0]|0)>=0){SA(b);return}SA(c[f>>2]|0);SA(b);return}function Ph(a){a=a|0;c[a>>2]=288292;Dl(a+36|0);return}function Qh(a){a=a|0;c[a>>2]=288292;Dl(a+36|0);SA(a);return}function Rh(a){a=a|0;SA(a);return}function Sh(a){a=a|0;SA(a);return}function Th(a){a=a|0;SA(a);return}function Uh(a){a=a|0;var b=0;c[a>>2]=288356;Dl(a+100|0);b=c[a+88>>2]|0;if(b|0){c[a+92>>2]=b;SA(b)}b=c[a+76>>2]|0;if(!b){a=a+40|0;Dl(a);return}c[a+80>>2]=b;SA(b);a=a+40|0;Dl(a);return}function Vh(a){a=a|0;var b=0;c[a>>2]=288356;Dl(a+100|0);b=c[a+88>>2]|0;if(b|0){c[a+92>>2]=b;SA(b)}b=c[a+76>>2]|0;if(!b){b=a+40|0;Dl(b);SA(a);return}c[a+80>>2]=b;SA(b);b=a+40|0;Dl(b);SA(a);return}function Wh(a){a=a|0;c[a>>2]=288372;Dl(a+36|0);return}function Xh(a){a=a|0;c[a>>2]=288372;Dl(a+36|0);SA(a);return}function Yh(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=aa;aa=aa+32|0;h=l;j=a+8|0;e=c[j>>2]|0;k=a+4|0;d=c[k>>2]|0;if(((e-d|0)/36|0)>>>0>=b>>>0){do{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;wl(d,-1,h);d=(c[k>>2]|0)+36|0;c[k>>2]=d;b=b+-1|0}while((b|0)!=0);aa=l;return}f=c[a>>2]|0;d=(d-f|0)/36|0;g=d+b|0;if(g>>>0>119304647)yB();e=(e-f|0)/36|0;f=e<<1;f=e>>>0<59652323?(f>>>0<g>>>0?g:f):119304647;do if(f)if(f>>>0>119304647)U();else{i=RA(f*36|0)|0;break}else i=0;while(0);d=i+(d*36|0)|0;e=d;while(1){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;wl(e,-1,h);b=b+-1|0;if(!b)break;else e=e+36|0}h=i+(f*36|0)|0;g=i+(g*36|0)|0;f=c[a>>2]|0;b=c[k>>2]|0;if((b|0)==(f|0)){e=f;b=f}else{do{d=d+-36|0;b=b+-36|0;zl(d,b)}while((b|0)!=(f|0));e=c[a>>2]|0;b=c[k>>2]|0}c[a>>2]=d;c[k>>2]=g;c[j>>2]=h;d=e;if((b|0)!=(d|0))do{b=b+-36|0;Dl(b)}while((b|0)!=(d|0));if(!e){aa=l;return}SA(e);aa=l;return}function Zh(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=288388;Dl(a+48|0);b=a+36|0;e=c[b>>2]|0;if(!e)return;d=a+40|0;a=c[d>>2]|0;if((a|0)==(e|0))a=e;else{do{a=a+-36|0;Dl(a)}while((a|0)!=(e|0));a=c[b>>2]|0}c[d>>2]=e;SA(a);return}function _h(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=288388;Dl(a+48|0);d=a+36|0;e=c[d>>2]|0;if(!e){SA(a);return}f=a+40|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{b=b+-36|0;Dl(b)}while((b|0)!=(e|0));b=c[d>>2]|0}c[f>>2]=e;SA(b);SA(a);return}function $h(a){a=a|0;c[a>>2]=288404;Dl(a+72|0);Dl(a+36|0);return}function ai(a){a=a|0;c[a>>2]=288404;Dl(a+72|0);Dl(a+36|0);SA(a);return}function bi(a){a=a|0;c[a>>2]=288420;Dl(a+36|0);return}function ci(a){a=a|0;c[a>>2]=288420;Dl(a+36|0);SA(a);return}function di(a){a=a|0;c[a>>2]=288436;Dl(a+36|0);return}function ei(a){a=a|0;c[a>>2]=288436;Dl(a+36|0);SA(a);return}function fi(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288452;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[f+11>>0]|0)>=0)return;SA(c[f>>2]|0);return}function gi(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288452;f=b+36|0;e=b+112|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+116>>2]=0;c[e>>2]=0;c[b+120>>2]=0;d=c[b+100>>2]|0;if(d|0){c[b+104>>2]=d;SA(d)}d=c[b+88>>2]|0;if(d|0){c[b+92>>2]=d;SA(d)}Dl(b+52|0);if((a[f+11>>0]|0)>=0){SA(b);return}SA(c[f>>2]|0);SA(b);return}function hi(a){a=a|0;SA(a);return}function ii(a){a=a|0;SA(a);return}function ji(a){a=a|0;SA(a);return}function ki(a){a=a|0;SA(a);return}function li(a){a=a|0;SA(a);return}function mi(a){a=a|0;SA(a);return}function ni(a){a=a|0;SA(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,m=0,n=0;i=a+4|0;g=c[a>>2]|0;m=(c[i>>2]|0)-g|0;l=m>>3;e=l+1|0;if(e>>>0>536870911)yB();j=a+8|0;n=(c[j>>2]|0)-g|0;f=n>>2;f=n>>3>>>0<268435455?(f>>>0<e>>>0?e:f):536870911;do if(f)if(f>>>0>536870911)U();else{k=RA(f<<3)|0;h=k;break}else{h=0;k=0}while(0);e=k+(l<<3)|0;c[e>>2]=c[b>>2];c[k+(l<<3)+4>>2]=c[d>>2];if((m|0)>0)jC(h|0,g|0,m|0)|0;c[a>>2]=k;c[i>>2]=e+8;c[j>>2]=k+(f<<3);if(!g)return;SA(g);return}function pi(a){a=a|0;c[a>>2]=288580;Dl(a+36|0);return}function qi(a){a=a|0;c[a>>2]=288580;Dl(a+36|0);SA(a);return}function ri(b){b=b|0;var d=0;c[b>>2]=288596;d=b+36|0;Dl(b+52|0);if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function si(b){b=b|0;var d=0;c[b>>2]=288596;d=b+36|0;Dl(b+52|0);if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function ti(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288612;f=b+36|0;e=b+56|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+60>>2]=0;c[e>>2]=0;c[b+64>>2]=0;if((a[f+11>>0]|0)>=0)return;SA(c[f>>2]|0);return}function ui(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288612;f=b+36|0;e=b+56|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+60>>2]=0;c[e>>2]=0;c[b+64>>2]=0;if((a[f+11>>0]|0)>=0){SA(b);return}SA(c[f>>2]|0);SA(b);return}function vi(b){b=b|0;c[b>>2]=288628;b=b+40|0;if((a[b+11>>0]|0)>=0)return;SA(c[b>>2]|0);return}function wi(b){b=b|0;var d=0;c[b>>2]=288628;d=b+40|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function xi(b){b=b|0;c[b>>2]=288644;b=b+40|0;if((a[b+11>>0]|0)>=0)return;SA(c[b>>2]|0);return}function yi(b){b=b|0;var d=0;c[b>>2]=288644;d=b+40|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function zi(a){a=a|0;c[a>>2]=288660;Bi(a+36|0);return}function Ai(a){a=a|0;c[a>>2]=288660;Bi(a+36|0);SA(a);return}function Bi(b){b=b|0;var d=0,e=0,f=0;e=b+108|0;d=c[e>>2]|0;if(d|0)do{f=d;d=c[d+4>>2]|0;ma[c[(c[f>>2]|0)+4>>2]&255](f)}while((d|0)!=0);c[b+112>>2]=0;c[e>>2]=0;c[b+116>>2]=0;d=c[b+96>>2]|0;if(d|0)do{e=d;d=c[d>>2]|0;f=e+8|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);SA(e)}while((d|0)!=0);f=b+88|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0)SA(d);d=c[b+76>>2]|0;if(d|0){c[b+80>>2]=d;SA(d)}d=c[b+64>>2]|0;if(d|0){c[b+68>>2]=d;SA(d)}d=c[b+52>>2]|0;if(d|0){c[b+56>>2]=d;SA(d)}Dl(b+16|0);if((a[b+11>>0]|0)>=0)return;SA(c[b>>2]|0);return}function Ci(a){a=a|0;var b=0;c[a>>2]=288692;b=a+36|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;ma[c[(c[a>>2]|0)+4>>2]&255](a);return}function Di(a){a=a|0;var b=0,d=0;c[a>>2]=288692;d=a+36|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){SA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);SA(a);return}function Ei(b){b=b|0;var d=0,e=0;c[b>>2]=288676;e=b+32|0;d=c[b+96>>2]|0;if(d|0){c[b+100>>2]=d;SA(d)}d=c[b+84>>2]|0;if(d|0){c[b+88>>2]=d;SA(d)}Dl(b+48|0);if((a[e+11>>0]|0)<0)SA(c[e>>2]|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function Fi(b){b=b|0;var d=0,e=0;c[b>>2]=288676;e=b+32|0;d=c[b+96>>2]|0;if(d|0){c[b+100>>2]=d;SA(d)}d=c[b+84>>2]|0;if(d|0){c[b+88>>2]=d;SA(d)}Dl(b+48|0);if((a[e+11>>0]|0)<0)SA(c[e>>2]|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function Gi(b){b=b|0;var d=0;c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function Hi(b){b=b|0;var d=0;c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function Ii(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288724;f=b+32|0;e=b+52|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+56>>2]=0;c[e>>2]=0;c[b+60>>2]=0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function Ji(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=288724;f=b+32|0;e=b+52|0;d=c[e>>2]|0;if(d|0)do{g=d;d=c[d+4>>2]|0;ma[c[(c[g>>2]|0)+4>>2]&255](g)}while((d|0)!=0);c[b+56>>2]=0;c[e>>2]=0;c[b+60>>2]=0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function Ki(b){b=b|0;var d=0;c[b>>2]=288740;d=b+32|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function Li(b){b=b|0;var d=0;c[b>>2]=288740;d=b+32|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function Mi(b){b=b|0;var d=0;c[b>>2]=288756;d=b+32|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function Ni(b){b=b|0;var d=0;c[b>>2]=288756;d=b+32|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function Oi(b){b=b|0;var d=0;c[b>>2]=288772;Bi(b+32|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0)return;SA(c[d>>2]|0);return}function Pi(b){b=b|0;var d=0;c[b>>2]=288772;Bi(b+32|0);c[b>>2]=288708;d=b+16|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);d=b+4|0;if((a[d+11>>0]|0)>=0){SA(b);return}SA(c[d>>2]|0);SA(b);return}function Qi(b){b=b|0;var d=0,e=0;c[b>>2]=288788;e=b+36|0;d=c[b+60>>2]|0;if(d|0){c[b+64>>2]=d;SA(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;SA(d)}if((a[e+11>>0]|0)>=0)return;SA(c[e>>2]|0);return}function Ri(b){b=b|0;var d=0,e=0;c[b>>2]=288788;e=b+36|0;d=c[b+60>>2]|0;if(d|0){c[b+64>>2]=d;SA(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;SA(d)}if((a[e+11>>0]|0)>=0){SA(b);return}SA(c[e>>2]|0);SA(b);return}function Si(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;j=b+4|0;e=c[b>>2]|0;h=((c[j>>2]|0)-e|0)/36|0;f=h+1|0;if(f>>>0>119304647)yB();k=b+8|0;i=((c[k>>2]|0)-e|0)/36|0;e=i<<1;e=i>>>0<59652323?(e>>>0<f>>>0?f:e):119304647;do if(e)if(e>>>0>119304647)U();else{g=RA(e*36|0)|0;break}else g=0;while(0);f=g+(h*36|0)|0;i=g+(e*36|0)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];VA(g+(h*36|0)+24|0,d+24|0);h=f+36|0;d=c[b>>2]|0;e=c[j>>2]|0;if((e|0)==(d|0)){g=d;e=d}else{do{l=f;f=f+-36|0;g=e;e=e+-36|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];c[f+20>>2]=c[e+20>>2];l=l+-12|0;g=g+-12|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0}while((e|0)!=(d|0));g=c[b>>2]|0;e=c[j>>2]|0}c[b>>2]=f;c[j>>2]=h;c[k>>2]=i;d=g;if((e|0)!=(d|0))do{f=e+-12|0;e=e+-36|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0)}while((e|0)!=(d|0));if(!g)return;SA(g);return}function Ti(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;em(e,d);if(!(a[e+24>>0]|0)){em(e,d);g=c[e+28>>2]|0;em(e,d);d=c[e>>2]|0;a[e>>0]=g;un(b,e,1,d,0);aa=f;return}else{em(e,d);a[e>>0]=a[e+24>>0]|0;un(b,e,1,297040,0);em(e,d);g=c[e+28>>2]|0;em(e,d);Ll(b,g,c[e>>2]|0);aa=f;return}}function Ui(a,b){a=a|0;b=b|0;var c=0;do switch(b|0){case -1:{c=329758;break}case -2:{c=329754;break}case -3:{c=329750;break}case -4:{c=329746;break}case -5:{c=329741;break}case -16:{c=329733;break}case -32:{c=329728;break}case -24:{c=329717;break}case -64:{c=329712;break}case 0:{c=329708;break}case -17:{c=329701;break}default:c=329688}while(0);Pl(a,b,c);return}function Vi(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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=aa;aa=aa+448|0;ca=fa+336|0;Y=fa+328|0;W=fa+320|0;U=fa+312|0;T=fa+304|0;R=fa+296|0;N=fa+288|0;F=fa+280|0;A=fa+272|0;x=fa+264|0;u=fa+256|0;r=fa+248|0;o=fa+240|0;ba=fa+112|0;Z=fa+436|0;X=fa;ea=fa+344|0;c[ea>>2]=b;$=ea+4|0;c[$>>2]=f;_=ea+8|0;c[_>>2]=e;da=ea+12|0;c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=0;c[da+12>>2]=0;c[ea+28>>2]=1065353216;da=ea+32|0;f=ea+72|0;e=da;j=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(j|0));c[f>>2]=-1;f=ea+76|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[ba>>2]=1836278016;un(b,ba,4,297089,0);f=c[ea>>2]|0;c[ba>>2]=1;un(f,ba,4,297107,0);f=c[_>>2]|0;if((c[f+128>>2]|0)!=(c[f+124>>2]|0)){Wi(ea,1);f=c[_>>2]|0;Ll(c[ea>>2]|0,(c[f+128>>2]|0)-(c[f+124>>2]|0)>>2,297127);f=c[_>>2]|0;if((c[f+128>>2]|0)!=(c[f+124>>2]|0)){n=0;do{j=c[(c[f+124>>2]|0)+(n<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[o>>2]=329174;c[o+4>>2]=n;tn(e,297156,o);f=c[ea>>2]|0}Pl(f,-32,329728);b=j+12|0;e=(c[j+16>>2]|0)-(c[b>>2]|0)|0;k=e>>2;m=j+24|0;j=(c[j+28>>2]|0)-(c[m>>2]|0)|0;l=j>>2;Ll(c[ea>>2]|0,k,297165);f=c[ea>>2]|0;if(e){e=0;do{Ui(f,c[(c[b>>2]|0)+(e<<2)>>2]|0);e=e+1|0;f=c[ea>>2]|0}while(e>>>0<k>>>0)}Ll(f,l,297176);if(j|0){f=0;do{Ui(c[ea>>2]|0,c[(c[m>>2]|0)+(f<<2)>>2]|0);f=f+1|0}while(f>>>0<l>>>0)}n=n+1|0;f=c[_>>2]|0}while(n>>>0<(c[f+128>>2]|0)-(c[f+124>>2]|0)>>2>>>0)}k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(p=c[f+8>>2]|0,q=c[f+12>>2]|0,(p|0)!=(q|0)):0){f=p;do{p=f+4|0;c[p>>2]=(c[p>>2]|0)+l;f=f+16|0}while((f|0)!=(q|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}if((c[f+104>>2]|0)!=(c[f+100>>2]|0)){Wi(ea,2);f=c[_>>2]|0;Ll(c[ea>>2]|0,(c[f+104>>2]|0)-(c[f+100>>2]|0)>>2,297188);f=c[_>>2]|0;a:do if((c[f+104>>2]|0)!=(c[f+100>>2]|0)){b=0;while(1){j=c[(c[f+100>>2]|0)+(b<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[r>>2]=297200;c[r+4>>2]=b;tn(e,297156,r);f=c[ea>>2]|0}q=j+4|0;o=a[q+11>>0]|0;p=o<<24>>24<0;q=p?c[q>>2]|0:q;o=p?c[j+8>>2]|0:o&255;Ll(f,o,323090);un(f,q,o,315001,1);o=c[ea>>2]|0;q=j+16|0;p=a[q+11>>0]|0;n=p<<24>>24<0;q=n?c[q>>2]|0:q;p=n?c[j+20>>2]|0:p&255;Ll(o,p,323090);un(o,q,p,315020,1);p=c[ea>>2]|0;q=j+28|0;a[ba>>0]=c[q>>2];un(p,ba,1,315038,0);switch(c[q>>2]|0){case 0:{Ll(c[ea>>2]|0,Vk(c[_>>2]|0,j+44|0)|0,315058);break}case 1:{Ui(c[ea>>2]|0,c[j+72>>2]|0);f=c[ea>>2]|0;q=j+64|0;Ll(f,((a[j+32+33>>0]|0)==0?0:2)|d[q>>0],297047);Ll(f,c[j+48>>2]|0,297061);if(a[q>>0]|0)Ll(f,c[j+56>>2]|0,297077);break}case 2:{f=c[ea>>2]|0;q=j+64|0;Ll(f,((a[j+32+33>>0]|0)==0?0:2)|d[q>>0],297047);Ll(f,c[j+48>>2]|0,297061);if(a[q>>0]|0)Ll(f,c[j+56>>2]|0,297077);break}case 3:{Ui(c[ea>>2]|0,c[j+44>>2]|0);q=c[ea>>2]|0;a[ba>>0]=a[j+48>>0]|0;un(q,ba,1,322659,0);break}case 4:{Ll(c[ea>>2]|0,0,322558);Ll(c[ea>>2]|0,Vk(c[_>>2]|0,j+44|0)|0,322600);break}default:{}}b=b+1|0;f=c[_>>2]|0;if(b>>>0>=(c[f+104>>2]|0)-(c[f+100>>2]|0)>>2>>>0)break a}}while(0);k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(s=c[f+8>>2]|0,t=c[f+12>>2]|0,(s|0)!=(t|0)):0){f=s;do{s=f+4|0;c[s>>2]=(c[s>>2]|0)+l;f=f+16|0}while((f|0)!=(t|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}o=((c[f+80>>2]|0)-(c[f+76>>2]|0)>>2)-(c[f+48>>2]|0)|0;n=(o|0)!=0;if(n){Wi(ea,3);Ll(c[ea>>2]|0,o,297214);f=0;do{t=c[_>>2]|0;t=c[(c[t+76>>2]|0)+((c[t+48>>2]|0)+f<<2)>>2]|0;c[u>>2]=f;Jz(ba,100,297228,u)|0;s=c[ea>>2]|0;Ll(s,Vk(c[_>>2]|0,t+12|0)|0,ba);f=f+1|0}while((f|0)!=(o|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(v=c[f+8>>2]|0,w=c[f+12>>2]|0,(v|0)!=(w|0)):0){f=v;do{v=f+4|0;c[v>>2]=(c[v>>2]|0)+l;f=f+16|0}while((f|0)!=(w|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}k=((c[f+140>>2]|0)-(c[f+136>>2]|0)>>2)-(c[f+52>>2]|0)|0;if(k){Wi(ea,4);Ll(c[ea>>2]|0,k,297257);b=0;do{j=c[_>>2]|0;j=c[(c[j+136>>2]|0)+((c[j+52>>2]|0)+b<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[x>>2]=329163;c[x+4>>2]=b;tn(e,297156,x);f=c[ea>>2]|0}Ui(f,c[j+40>>2]|0);f=c[ea>>2]|0;w=j+32|0;Ll(f,((a[j+33>>0]|0)==0?0:2)|d[w>>0],297047);Ll(f,c[j+16>>2]|0,297061);if(a[w>>0]|0)Ll(f,c[j+24>>2]|0,297077);b=b+1|0}while((b|0)!=(k|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(y=c[f+8>>2]|0,z=c[f+12>>2]|0,(y|0)!=(z|0)):0){f=y;do{y=f+4|0;c[y>>2]=(c[y>>2]|0)+l;f=f+16|0}while((f|0)!=(z|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}k=((c[f+164>>2]|0)-(c[f+160>>2]|0)>>2)-(c[f+56>>2]|0)|0;if(k){Wi(ea,5);Ll(c[ea>>2]|0,k,297268);b=0;do{j=c[_>>2]|0;j=c[(c[j+160>>2]|0)+((c[j+56>>2]|0)+b<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[A>>2]=329087;c[A+4>>2]=b;tn(e,297156,A);f=c[ea>>2]|0}z=j+32|0;Ll(f,((a[j+33>>0]|0)==0?0:2)|d[z>>0],297047);Ll(f,c[j+16>>2]|0,297061);if(a[z>>0]|0)Ll(f,c[j+24>>2]|0,297077);b=b+1|0}while((b|0)!=(k|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(B=c[f+8>>2]|0,C=c[f+12>>2]|0,(B|0)!=(C|0)):0){f=B;do{B=f+4|0;c[B>>2]=(c[B>>2]|0)+l;f=f+16|0}while((f|0)!=(C|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}j=((c[f+92>>2]|0)-(c[f+88>>2]|0)>>2)-(c[f+60>>2]|0)|0;if(j){Wi(ea,6);Ll(c[ea>>2]|0,j,297281);e=0;do{f=c[_>>2]|0;f=c[(c[f+88>>2]|0)+((c[f+60>>2]|0)+e<<2)>>2]|0;Ui(c[ea>>2]|0,c[f+12>>2]|0);C=c[ea>>2]|0;a[ba>>0]=a[f+16>>0]|0;un(C,ba,1,322659,0);f=c[f+20>>2]|0;if(f|0)do{Xi(ea,0,f);f=c[f+4>>2]|0}while((f|0)!=0);Ti(c[ea>>2]|0,11);e=e+1|0}while((e|0)!=(j|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(D=c[f+8>>2]|0,E=c[f+12>>2]|0,(D|0)!=(E|0)):0){f=D;do{D=f+4|0;c[D>>2]=(c[D>>2]|0)+l;f=f+16|0}while((f|0)!=(E|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}b=((c[f+68>>2]|0)-(c[f+64>>2]|0)>>2)-(c[f+44>>2]|0)|0;if(b){Wi(ea,13);Ll(c[ea>>2]|0,b,318143);j=0;do{f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[F>>2]=329041;c[F+4>>2]=j;tn(e,297156,F);f=c[ea>>2]|0}E=c[_>>2]|0;E=c[(c[E+64>>2]|0)+((c[E+44>>2]|0)+j<<2)>>2]|0;Ll(f,0,322558);D=c[ea>>2]|0;Ll(D,Vk(c[_>>2]|0,E+12|0)|0,322600);j=j+1|0}while((j|0)!=(b|0));k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(G=c[f+8>>2]|0,H=c[f+12>>2]|0,(G|0)!=(H|0)):0){f=G;do{G=f+4|0;c[G>>2]=(c[G>>2]|0)+l;f=f+16|0}while((f|0)!=(H|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}if((c[f+116>>2]|0)!=(c[f+112>>2]|0)){Wi(ea,7);j=c[_>>2]|0;Ll(c[ea>>2]|0,(c[j+116>>2]|0)-(c[j+112>>2]|0)>>2,297293);j=c[_>>2]|0;f=c[j+112>>2]|0;j=c[j+116>>2]|0;b:do if((f|0)!=(j|0))while(1){e=c[f>>2]|0;F=c[ea>>2]|0;G=a[e+11>>0]|0;E=G<<24>>24<0;H=E?c[e>>2]|0:e;G=E?c[e+4>>2]|0:G&255;Ll(F,G,323090);un(F,H,G,297305,1);G=c[ea>>2]|0;H=e+12|0;a[ba>>0]=c[H>>2];un(G,ba,1,316246,0);switch(c[H>>2]|0){case 0:{H=wk(c[_>>2]|0,e+16|0)|0;Ll(c[ea>>2]|0,H,297317);break}case 1:{H=yk(c[_>>2]|0,e+16|0)|0;Ll(c[ea>>2]|0,H,297335);break}case 2:{H=zk(c[_>>2]|0,e+16|0)|0;Ll(c[ea>>2]|0,H,297354);break}case 3:{H=xk(c[_>>2]|0,e+16|0)|0;Ll(c[ea>>2]|0,H,297374);break}case 4:{H=Bk(c[_>>2]|0,e+16|0)|0;Ll(c[ea>>2]|0,H,297394);break}default:{}}f=f+4|0;if((f|0)==(j|0))break b}while(0);k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(I=c[f+8>>2]|0,J=c[f+12>>2]|0,(I|0)!=(J|0)):0){f=I;do{I=f+4|0;c[I>>2]=(c[I>>2]|0)+l;f=f+16|0}while((f|0)!=(J|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}e=c[f+184>>2]|0;if((c[f+188>>2]|0)!=(e|0)?(K=wk(f,c[e>>2]|0)|0,(K|0)!=-1):0){Wi(ea,8);Ll(c[ea>>2]|0,K,297413);k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(L=c[f+8>>2]|0,M=c[f+12>>2]|0,(L|0)!=(M|0)):0){f=L;do{L=f+4|0;c[L>>2]=(c[L>>2]|0)+l;f=f+16|0}while((f|0)!=(M|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;f=ea+60|0;c[f>>2]=(c[f>>2]|0)+1;f=c[_>>2]|0}if((c[f+152>>2]|0)!=(c[f+148>>2]|0)){Wi(ea,9);f=c[_>>2]|0;Ll(c[ea>>2]|0,(c[f+152>>2]|0)-(c[f+148>>2]|0)>>2,297430);f=c[_>>2]|0;if((c[f+152>>2]|0)!=(c[f+148>>2]|0)){b=0;do{j=c[(c[f+148>>2]|0)+(b<<2)>>2]|0;f=c[ea>>2]|0;e=c[f+12>>2]|0;if(e){c[N>>2]=297448;c[N+4>>2]=b;tn(e,297156,N);f=c[ea>>2]|0}if(!(a[j+48>>0]|0)){a[ba>>0]=0;un(f,ba,1,0,0);f=c[j+52>>2]|0;if(f|0)do{Xi(ea,0,f);f=c[f+4>>2]|0}while((f|0)!=0);Ti(c[ea>>2]|0,11)}else{a[ba>>0]=1;un(f,ba,1,0,0)}f=j+64|0;e=j+68|0;Ll(c[ea>>2]|0,((c[e>>2]|0)-(c[f>>2]|0)|0)/36|0,297468);f=c[f>>2]|0;e=c[e>>2]|0;if((f|0)!=(e|0))do{Yi(ea,wk(c[_>>2]|0,f)|0,312995,0);f=f+36|0}while((f|0)!=(e|0));b=b+1|0;f=c[_>>2]|0}while(b>>>0<(c[f+152>>2]|0)-(c[f+148>>2]|0)>>2>>>0)}k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(O=c[f+8>>2]|0,P=c[f+12>>2]|0,(O|0)!=(P|0)):0){f=O;do{O=f+4|0;c[O>>2]=(c[O>>2]|0)+l;f=f+16|0}while((f|0)!=(P|0))}}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;P=ea+60|0;c[P>>2]=(c[P>>2]|0)+1}if(a[(c[$>>2]|0)+8>>0]|0){Wi(ea,12);k=c[_>>2]|0;Ll(c[ea>>2]|0,(c[k+176>>2]|0)-(c[k+172>>2]|0)>>2,318282);k=c[ea+64>>2]|0;m=ea+68|0;j=c[m>>2]|0;f=c[ea>>2]|0;e=(c[f+4>>2]|0)-k|0;if(a[(c[$>>2]|0)+10>>0]|0){b=e-j|0;e=Jl(b)|0;l=e-j|0;if(l){vn(f,e+k|0,j+k|0,b);f=c[ea>>2]|0}Nl(f,k,b,297137);qn(c[ea>>2]|0,l);f=c[ea+56>>2]|0;if((l|0)!=0&(f|0)!=0?(i=c[f+8>>2]|0,Q=c[f+12>>2]|0,(i|0)!=(Q|0)):0)do{P=i+4|0;c[P>>2]=(c[P>>2]|0)+l;i=i+16|0}while((i|0)!=(Q|0))}else Kl(f,k,e+-5|0,297137);c[m>>2]=0;Q=ea+60|0;c[Q>>2]=(c[Q>>2]|0)+1}if(n){Wi(ea,10);Ll(c[ea>>2]|0,o,297214);l=0;do{i=c[ea>>2]|0;f=c[i+12>>2]|0;if(f){c[R>>2]=297489;c[R+4>>2]=l;tn(f,297156,R);i=c[ea>>2]|0}b=c[_>>2]|0;b=c[(c[b+76>>2]|0)+((c[b+48>>2]|0)+l<<2)>>2]|0;f=a[(c[$>>2]|0)+10>>0]|0;a[ba>>0]=0;a[ba+1>>0]=0;a[ba+2>>0]=0;a[ba+3>>0]=0;a[ba+4>>0]=0;k=c[i+4>>2]|0;un(i,ba,f<<24>>24==0?5:1,297503,0);i=b+76|0;f=c[i>>2]|0;j=b+80|0;e=c[j>>2]|0;if(Gk(f,e)|0){Ll(c[ea>>2]|0,e-f>>3,297526);i=c[i>>2]|0;f=c[j>>2]|0;if((i|0)!=(f|0))do{Q=c[i>>2]|0;Ll(c[ea>>2]|0,c[i+4>>2]|0,317414);Ui(c[ea>>2]|0,Q);i=i+8|0}while((i|0)!=(f|0))}else Ll(c[ea>>2]|0,0,297526);i=c[b+108>>2]|0;if(i|0)do{Xi(ea,b,i);i=c[i+4>>2]|0}while((i|0)!=0);Ti(c[ea>>2]|0,11);f=c[ea>>2]|0;i=(c[f+4>>2]|0)-k|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Kl(f,k,i+-5|0,297543);else{e=i+-1|0;i=Jl(e)|0;j=i+-1|0;if(!j)i=f;else{vn(f,i+k|0,k+1|0,e);i=c[ea>>2]|0}Nl(i,k,e,297543);qn(c[ea>>2]|0,j)}l=l+1|0}while((l|0)!=(o|0));b=c[ea+64>>2]|0;l=ea+68|0;e=c[l>>2]|0;i=c[ea>>2]|0;f=(c[i+4>>2]|0)-b|0;if(a[(c[$>>2]|0)+10>>0]|0){j=f-e|0;f=Jl(j)|0;k=f-e|0;if(k){vn(i,f+b|0,e+b|0,j);i=c[ea>>2]|0}Nl(i,b,j,297137);qn(c[ea>>2]|0,k);i=c[ea+56>>2]|0;if((k|0)!=0&(i|0)!=0?(h=c[i+8>>2]|0,S=c[i+12>>2]|0,(h|0)!=(S|0)):0)do{R=h+4|0;c[R>>2]=(c[R>>2]|0)+k;h=h+16|0}while((h|0)!=(S|0))}else Kl(i,b,f+-5|0,297137);c[l>>2]=0;S=ea+60|0;c[S>>2]=(c[S>>2]|0)+1}S=c[_>>2]|0;if((c[S+176>>2]|0)!=(c[S+172>>2]|0)){Wi(ea,11);h=c[_>>2]|0;Ll(c[ea>>2]|0,(c[h+176>>2]|0)-(c[h+172>>2]|0)>>2,297564);h=c[_>>2]|0;c:do if((c[h+176>>2]|0)!=(c[h+172>>2]|0)){k=0;d:while(1){f=c[(c[h+172>>2]|0)+(k<<2)>>2]|0;h=c[ea>>2]|0;i=c[h+12>>2]|0;if(i){c[T>>2]=297582;c[T+4>>2]=k;tn(i,297156,T);h=c[ea>>2]|0}if(!(a[f+48>>0]|0)){a[ba>>0]=0;un(h,ba,1,0,0);h=c[f+52>>2]|0;if(h|0)do{Xi(ea,0,h);h=c[h+4>>2]|0}while((h|0)!=0);Ti(c[ea>>2]|0,11)}else{a[ba>>0]=1;un(h,ba,1,0,0)}b=f+64|0;j=f+68|0;Ll(c[ea>>2]|0,(c[j>>2]|0)-(c[b>>2]|0)|0,297602);h=c[ea>>2]|0;i=c[h+12>>2]|0;if(!i)e=h;else{c[U>>2]=317961;c[U+4>>2]=k;tn(i,297156,U);e=c[ea>>2]|0}h=(c[j>>2]|0)-(c[b>>2]|0)|0;do if(h|0){if((h|0)<0)break d;f=RA(h)|0;i=c[b>>2]|0;h=(c[j>>2]|0)-i|0;if((h|0)>0?(jC(f|0,i|0,h|0)|0,un(e,f,h,317961,0),(f|0)==0):0)break;SA(f)}while(0);k=k+1|0;h=c[_>>2]|0;if(k>>>0>=(c[h+176>>2]|0)-(c[h+172>>2]|0)>>2>>>0)break c}yB()}while(0);j=c[ea+64>>2]|0;k=ea+68|0;f=c[k>>2]|0;h=c[ea>>2]|0;i=(c[h+4>>2]|0)-j|0;if(a[(c[$>>2]|0)+10>>0]|0){e=i-f|0;i=Jl(e)|0;b=i-f|0;if(b){vn(h,i+j|0,f+j|0,e);h=c[ea>>2]|0}Nl(h,j,e,297137);qn(c[ea>>2]|0,b);h=c[ea+56>>2]|0;if((b|0)!=0&(h|0)!=0?(g=c[h+8>>2]|0,V=c[h+12>>2]|0,(g|0)!=(V|0)):0)do{U=g+4|0;c[U>>2]=(c[U>>2]|0)+b;g=g+16|0}while((g|0)!=(V|0))}else Kl(h,j,i+-5|0,297137);c[k>>2]=0;V=ea+60|0;c[V>>2]=(c[V>>2]|0)+1}g=c[$>>2]|0;if(a[g+12>>0]|0){c[Z>>2]=0;m=Z+4|0;c[m>>2]=0;c[Z+8>>2]=0;Zi(ea,312625);j=c[_>>2]|0;g=c[j+76>>2]|0;e=c[j+80>>2]|0;if((g|0)==(e|0))h=0;else{h=0;do{i=c[g>>2]|0;f=a[i+11>>0]|0;if(f<<24>>24<0)i=c[i+4>>2]|0;else i=f&255;h=h+((i|0)!=0&1)|0;g=g+4|0}while((g|0)!=(e|0))}g=a[j+20+11>>0]|0;if(g<<24>>24<0)g=c[j+24>>2]|0;else g=g&255;if(g|0){Ll(c[ea>>2]|0,0,297620);k=ea+84|0;c[k>>2]=1;T=c[ea>>2]|0;e=a[(c[$>>2]|0)+10>>0]|0;a[ba>>0]=0;a[ba+1>>0]=0;a[ba+2>>0]=0;a[ba+3>>0]=0;a[ba+4>>0]=0;f=c[T+4>>2]|0;un(T,ba,e<<24>>24==0?5:1,297637,0);e=ea+80|0;c[e>>2]=f;f=c[ea>>2]|0;c[ea+88>>2]=c[f+4>>2];T=c[_>>2]|0;g=T+20|0;V=a[g+11>>0]|0;U=V<<24>>24<0;V=U?c[T+24>>2]|0:V&255;g=U?c[g>>2]|0:g;U=ba;c[U>>2]=g;c[U+4>>2]=V;if(V>>>0<1|(V|0)==1&g>>>0<0)i=0;else{yn(ba);i=ba;g=c[i>>2]|0;i=c[i+4>>2]|0}Ll(f,i,323090);un(f,g,i,312819,1);b=c[e>>2]|0;f=c[k>>2]|0;g=c[ea>>2]|0;i=(c[g+4>>2]|0)-b|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Kl(g,b,i+-5|0,297661);else{e=i-f|0;i=Jl(e)|0;j=i-f|0;if(j){vn(g,i+b|0,f+b|0,e);g=c[ea>>2]|0}Nl(g,b,e,297661);qn(c[ea>>2]|0,j)}c[k>>2]=0}if(!h){h=ba;l=ea+84|0;k=ea+80|0;g=ea+88|0}else{Ll(c[ea>>2]|0,1,297683);l=ea+84|0;c[l>>2]=1;g=c[ea>>2]|0;k=a[(c[$>>2]|0)+10>>0]|0;a[ba>>0]=0;a[ba+1>>0]=0;a[ba+2>>0]=0;a[ba+3>>0]=0;a[ba+4>>0]=0;V=c[g+4>>2]|0;un(g,ba,k<<24>>24==0?5:1,297637,0);k=ea+80|0;c[k>>2]=V;V=c[ea>>2]|0;g=ea+88|0;c[g>>2]=c[V+4>>2];Ll(V,h,297214);h=c[_>>2]|0;if((c[h+80>>2]|0)!=(c[h+76>>2]|0)){b=0;do{f=c[(c[h+76>>2]|0)+(b<<2)>>2]|0;j=f+11|0;i=a[j>>0]|0;if(i<<24>>24<0)i=c[f+4>>2]|0;else i=i&255;if(i){Ll(c[ea>>2]|0,b,312995);c[W>>2]=b;Jz(X,100,297702,W)|0;e=c[ea>>2]|0;V=a[j>>0]|0;h=V<<24>>24<0;V=h?c[f+4>>2]|0:V&255;h=h?c[f>>2]|0:f;U=ba;c[U>>2]=h;c[U+4>>2]=V;if(V>>>0<1|(V|0)==1&h>>>0<0)i=0;else{yn(ba);i=ba;h=c[i>>2]|0;i=c[i+4>>2]|0}Ll(e,i,323090);un(e,h,i,X,1);h=c[_>>2]|0}b=b+1|0}while(b>>>0<(c[h+80>>2]|0)-(c[h+76>>2]|0)>>2>>>0)}b=c[k>>2]|0;f=c[l>>2]|0;h=c[ea>>2]|0;i=(c[h+4>>2]|0)-b|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Kl(h,b,i+-5|0,297661);else{e=i-f|0;i=Jl(e)|0;j=i-f|0;if(j){vn(h,i+b|0,f+b|0,e);h=c[ea>>2]|0}Nl(h,b,e,297661);qn(c[ea>>2]|0,j)}c[l>>2]=0;h=ba}Ll(c[ea>>2]|0,2,297716);c[l>>2]=1;U=c[ea>>2]|0;V=a[(c[$>>2]|0)+10>>0]|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[h+4>>0]=0;W=c[U+4>>2]|0;un(U,h,V<<24>>24==0?5:1,297637,0);c[k>>2]=W;W=c[ea>>2]|0;c[g>>2]=c[W+4>>2];g=c[_>>2]|0;Ll(W,(c[g+80>>2]|0)-(c[g+76>>2]|0)>>2,297214);g=c[_>>2]|0;if((c[g+80>>2]|0)!=(c[g+76>>2]|0)){b=0;do{W=c[(c[g+76>>2]|0)+(b<<2)>>2]|0;e=(c[W+56>>2]|0)-(c[W+52>>2]|0)>>2;e=e+(Gk(c[W+76>>2]|0,c[W+80>>2]|0)|0)|0;Ll(c[ea>>2]|0,b,312995);Ll(c[ea>>2]|0,e,297732);ul(e,W+88|0,Z);if(e|0){i=c[Z>>2]|0;j=0;do{g=i+(j*12|0)|0;c[Y>>2]=j;Jz(X,100,297743,Y)|0;Ll(c[ea>>2]|0,j,297758);f=c[ea>>2]|0;W=a[g+11>>0]|0;V=W<<24>>24<0;W=V?c[i+(j*12|0)+4>>2]|0:W&255;g=V?c[g>>2]|0:g;V=ba;c[V>>2]=g;c[V+4>>2]=W;if(W>>>0<1|(W|0)==1&g>>>0<0)h=0;else{yn(ba);h=ba;g=c[h>>2]|0;h=c[h+4>>2]|0}Ll(f,h,323090);un(f,g,h,X,1);j=j+1|0}while((j|0)!=(e|0))}b=b+1|0;g=c[_>>2]|0}while(b>>>0<(c[g+80>>2]|0)-(c[g+76>>2]|0)>>2>>>0)}j=c[k>>2]|0;i=c[l>>2]|0;g=c[ea>>2]|0;h=(c[g+4>>2]|0)-j|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Kl(g,j,h+-5|0,297661);else{f=h-i|0;h=Jl(f)|0;e=h-i|0;if(e){vn(g,h+j|0,i+j|0,f);g=c[ea>>2]|0}Nl(g,j,f,297661);qn(c[ea>>2]|0,e)}c[l>>2]=0;e=c[ea+64>>2]|0;b=ea+68|0;i=c[b>>2]|0;g=c[ea>>2]|0;h=(c[g+4>>2]|0)-e|0;do if(!(a[(c[$>>2]|0)+10>>0]|0))Kl(g,e,h+-5|0,297137);else{f=h-i|0;h=Jl(f)|0;j=h-i|0;if(j){vn(g,h+e|0,i+e|0,f);g=c[ea>>2]|0}Nl(g,e,f,297137);qn(c[ea>>2]|0,j);g=c[ea+56>>2]|0;if(!((j|0)!=0&(g|0)!=0))break;h=c[g+8>>2]|0;i=c[g+12>>2]|0;if((h|0)==(i|0))break;g=h;do{Y=g+4|0;c[Y>>2]=(c[Y>>2]|0)+j;g=g+16|0}while((g|0)!=(i|0))}while(0);c[b>>2]=0;h=ea+60|0;c[h>>2]=(c[h>>2]|0)+1;h=c[Z>>2]|0;if(h|0){g=c[m>>2]|0;if((g|0)!=(h|0))do{g=g+-12|0;if((a[g+11>>0]|0)<0)SA(c[g>>2]|0)}while((g|0)!=(h|0));c[m>>2]=h;SA(h)}g=c[$>>2]|0}if(a[g+11>>0]|0){Zi(ea,313954);Ll(c[ea>>2]|0,2,297770);g=ea+32|0;h=ea+36|0;if((c[h>>2]|0)!=(c[g>>2]|0)){k=c[ea>>2]|0;a[ba>>0]=8;un(k,ba,1,297787,0);k=ea+84|0;c[k>>2]=1;Z=c[ea>>2]|0;b=a[(c[$>>2]|0)+10>>0]|0;a[ba>>0]=0;a[ba+1>>0]=0;a[ba+2>>0]=0;a[ba+3>>0]=0;a[ba+4>>0]=0;j=c[Z+4>>2]|0;un(Z,ba,b<<24>>24==0?5:1,297637,0);b=ea+80|0;c[b>>2]=j;j=c[ea>>2]|0;c[ea+88>>2]=c[j+4>>2];Ll(j,((c[h>>2]|0)-(c[g>>2]|0)|0)/12|0,297800);g=c[g>>2]|0;j=c[h>>2]|0;e:do if((g|0)!=(j|0))while(1){e=g+4|0;h=c[e>>2]|0;switch(h|0){case 0:{f=g+8|0;i=f;f=(c[f>>2]|0)>>>0>=(c[(c[_>>2]|0)+48>>2]|0)>>>0;break}case 2:{f=g+8|0;i=f;f=(c[f>>2]|0)>>>0>=(c[(c[_>>2]|0)+60>>2]|0)>>>0;break}default:{i=g+8|0;f=1}}Z=c[ea>>2]|0;a[ba>>0]=h;un(Z,ba,1,297812,0);Ll(c[ea>>2]|0,f?0:16,297824);Ll(c[ea>>2]|0,c[i>>2]|0,297837);f:do if(f)switch(c[e>>2]|0){case 0:{X=c[ea>>2]|0;W=c[(c[(c[_>>2]|0)+76>>2]|0)+(c[i>>2]<<2)>>2]|0;Z=a[W+11>>0]|0;V=Z<<24>>24<0;Y=V?c[W>>2]|0:W;Z=V?c[W+4>>2]|0:Z&255;Ll(X,Z,323090);un(X,Y,Z,313097,1);break f}case 2:{X=c[ea>>2]|0;W=c[(c[(c[_>>2]|0)+88>>2]|0)+(c[i>>2]<<2)>>2]|0;Z=a[W+11>>0]|0;V=Z<<24>>24<0;Y=V?c[W>>2]|0:W;Z=V?c[W+4>>2]|0:Z&255;Ll(X,Z,323090);un(X,Y,Z,297851,1);break f}default:break f}while(0);g=g+12|0;if((g|0)==(j|0))break e}while(0);j=c[b>>2]|0;i=c[k>>2]|0;g=c[ea>>2]|0;h=(c[g+4>>2]|0)-j|0;if(!(a[(c[$>>2]|0)+10>>0]|0))Kl(g,j,h+-5|0,297661);else{f=h-i|0;h=Jl(f)|0;e=h-i|0;if(e){vn(g,h+j|0,i+j|0,f);g=c[ea>>2]|0}Nl(g,j,f,297661);qn(c[ea>>2]|0,e)}c[k>>2]=0}o=ea+64|0;e=c[o>>2]|0;n=ea+68|0;i=c[n>>2]|0;g=c[ea>>2]|0;h=(c[g+4>>2]|0)-e|0;do if(!(a[(c[$>>2]|0)+10>>0]|0)){Kl(g,e,h+-5|0,297137);f=ea+56|0}else{f=h-i|0;h=Jl(f)|0;j=h-i|0;if(j){vn(g,h+e|0,i+e|0,f);g=c[ea>>2]|0}Nl(g,e,f,297137);qn(c[ea>>2]|0,j);f=ea+56|0;g=c[f>>2]|0;if(!((j|0)!=0&(g|0)!=0))break;h=c[g+8>>2]|0;i=c[g+12>>2]|0;if((h|0)==(i|0))break;g=h;do{_=g+4|0;c[_>>2]=(c[_>>2]|0)+j;g=g+16|0}while((g|0)!=(i|0))}while(0);c[n>>2]=0;m=ea+60|0;c[m>>2]=(c[m>>2]|0)+1;g=c[ea+44>>2]|0;l=c[ea+48>>2]|0;if((g|0)!=(l|0))do{h=c[g>>2]|0;c[ca>>2]=313739;c[ca+4>>2]=h;Jz(ba,128,297863,ca)|0;Zi(ea,ba);Ll(c[ea>>2]|0,c[g+4>>2]|0,297869);h=g+8|0;i=g+12|0;Ll(c[ea>>2]|0,(c[i>>2]|0)-(c[h>>2]|0)>>4,297889);h=c[h>>2]|0;i=c[i>>2]|0;g:do if((h|0)!=(i|0))while(1){Ll(c[ea>>2]|0,c[h>>2]|0,297900);Ll(c[ea>>2]|0,c[h+4>>2]|0,297911);Ll(c[ea>>2]|0,c[h+8>>2]|0,297924);switch(c[h>>2]|0){case 9:case 8:case 5:case 11:case 4:case 3:{Ll(c[ea>>2]|0,c[h+12>>2]|0,297936);break}default:{}}h=h+16|0;if((h|0)==(i|0))break g}while(0);b=c[o>>2]|0;e=c[n>>2]|0;h=c[ea>>2]|0;i=(c[h+4>>2]|0)-b|0;do if(!(a[(c[$>>2]|0)+10>>0]|0))Kl(h,b,i+-5|0,297137);else{j=i-e|0;i=Jl(j)|0;k=i-e|0;if(k){vn(h,i+b|0,e+b|0,j);h=c[ea>>2]|0}Nl(h,b,j,297137);qn(c[ea>>2]|0,k);h=c[f>>2]|0;if(!((k|0)!=0&(h|0)!=0))break;i=c[h+8>>2]|0;e=c[h+12>>2]|0;if((i|0)==(e|0))break;h=i;do{_=h+4|0;c[_>>2]=(c[_>>2]|0)+k;h=h+16|0}while((h|0)!=(e|0))}while(0);c[n>>2]=0;c[m>>2]=(c[m>>2]|0)+1;g=g+20|0}while((g|0)!=(l|0))}j=c[(c[ea>>2]|0)+8>>2]|0;i=ea+44|0;f=c[i>>2]|0;if(f|0){e=ea+48|0;g=c[e>>2]|0;if((g|0)==(f|0))g=f;else{do{h=c[g+-12>>2]|0;if(h|0){c[g+-8>>2]=h;SA(h)}g=g+-20|0}while((g|0)!=(f|0));g=c[i>>2]|0}c[e>>2]=f;SA(g)}g=c[da>>2]|0;if(g|0){c[ea+36>>2]=g;SA(g)}g=c[ea+20>>2]|0;if(g|0)do{h=g;g=c[g>>2]|0;i=h+8|0;if((a[i+11>>0]|0)<0)SA(c[i>>2]|0);SA(h)}while((g|0)!=0);ea=ea+12|0;g=c[ea>>2]|0;c[ea>>2]=0;if(!g){aa=fa;return j|0}SA(g);aa=fa;return j|0}function Wi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+128|0;h=j+112|0;i=j+104|0;f=j;e=Lt(d)|0;c[i>>2]=e;c[i+4>>2]=d;Jz(f,100,298503,i)|0;e=c[b>>2]|0;g=c[e+12>>2]|0;if(g){c[h>>2]=f;tn(g,297962,h);e=c[b>>2]|0}a[i>>0]=d;un(e,i,1,312360,0);c[b+72>>2]=d;c[b+68>>2]=1;g=c[b>>2]|0;h=a[(c[b+4>>2]|0)+10>>0]|0;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0;a[i+4>>0]=0;d=c[g+4>>2]|0;un(g,i,h<<24>>24==0?5:1,297968,0);c[b+64>>2]=d;c[b+76>>2]=c[(c[b>>2]|0)+4>>2];aa=j;return}function Xi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;do switch(c[e+32>>2]|0){case 0:{g=e+36|0;Ti(c[b>>2]|0,c[g>>2]|0);g=gm(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;un(d,h,1,298009,0);Ll(c[b>>2]|0,c[e+44>>2]|0,321346);aa=i;return}case 1:{g=e+36|0;Ti(c[b>>2]|0,c[g>>2]|0);g=gm(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;un(d,h,1,298009,0);Ll(c[b>>2]|0,c[e+44>>2]|0,321346);aa=i;return}case 2:{g=e+36|0;Ti(c[b>>2]|0,c[g>>2]|0);g=gm(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;un(d,h,1,298009,0);Ll(c[b>>2]|0,c[e+44>>2]|0,321346);aa=i;return}case 3:{g=e+36|0;Ti(c[b>>2]|0,c[g>>2]|0);g=gm(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;un(d,h,1,298009,0);Ll(c[b>>2]|0,c[e+44>>2]|0,321346);aa=i;return}case 5:{g=e+36|0;Ti(c[b>>2]|0,c[g>>2]|0);g=gm(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;un(d,h,1,298009,0);Ll(c[b>>2]|0,c[e+44>>2]|0,321346);aa=i;return}case 4:{g=e+36|0;Ti(c[b>>2]|0,c[g>>2]|0);g=gm(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;un(d,h,1,298009,0);Ll(c[b>>2]|0,c[e+44>>2]|0,321346);aa=i;return}case 6:{Ti(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 7:{Ti(c[b>>2]|0,2);dj(b,e+48|0);f=c[e+112>>2]|0;if(f|0)do{Xi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Ti(c[b>>2]|0,11);aa=i;return}case 8:{Ti(c[b>>2]|0,12);Ll(c[b>>2]|0,c[e+60>>2]|0,298019);aa=i;return}case 9:{Ti(c[b>>2]|0,13);Ll(c[b>>2]|0,c[e+60>>2]|0,298019);aa=i;return}case 10:{Ti(c[b>>2]|0,10);Ll(c[b>>2]|0,c[e+60>>2]|0,298019);h=c[b>>2]|0;Ll(h,Bk(c[b+8>>2]|0,e+72|0)|0,321073);aa=i;return}case 11:{Ti(c[b>>2]|0,14);f=e+36|0;g=e+40|0;Ll(c[b>>2]|0,((c[g>>2]|0)-(c[f>>2]|0)|0)/36|0,298031);f=c[f>>2]|0;g=c[g>>2]|0;if((f|0)!=(g|0))do{Ll(c[b>>2]|0,c[f+24>>2]|0,298019);f=f+36|0}while((f|0)!=(g|0));Ll(c[b>>2]|0,c[e+48+24>>2]|0,298043);aa=i;return}case 12:{e=wk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,16);Yi(b,e,312995,0);aa=i;return}case 37:{e=wk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,18);Yi(b,e,312995,0);aa=i;return}case 13:{d=c[b+8>>2]|0;h=Vk(d,e+36|0)|0;e=yk(d,e+100|0)|0;Ti(c[b>>2]|0,17);Yi(b,h,298067,6);Ll(c[b>>2]|0,e,321757);aa=i;return}case 38:{d=c[b+8>>2]|0;h=Vk(d,e+36|0)|0;e=yk(d,e+100|0)|0;Ti(c[b>>2]|0,19);Yi(b,h,298067,6);Ll(c[b>>2]|0,e,321757);aa=i;return}case 14:{Ti(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 15:switch(c[e+60>>2]|0){case -1:{Ti(c[b>>2]|0,52);Pl(c[b>>2]|0,c[e+64>>2]|0,298083);aa=i;return}case -2:{Ti(c[b>>2]|0,53);e=e+64|0;Ql(c[b>>2]|0,c[e>>2]|0,c[e+4>>2]|0);aa=i;return}case -3:{Ti(c[b>>2]|0,54);b=c[b>>2]|0;c[h>>2]=c[e+64>>2];un(b,h,4,298107,0);aa=i;return}case -4:{Ti(c[b>>2]|0,55);b=c[b>>2]|0;g=e+64|0;d=c[g+4>>2]|0;e=h;c[e>>2]=c[g>>2];c[e+4>>2]=d;un(b,h,8,298119,0);aa=i;return}case -5:{Ti(c[b>>2]|0,212);b=c[b>>2]|0;e=e+64|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];un(b,h,16,298131,0);aa=i;return}default:{aa=i;return}}case 16:{Ti(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 17:{Ti(c[b>>2]|0,20);aa=i;return}case 18:{e=xk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,25);Yi(b,e,298144,7);aa=i;return}case 19:{e=xk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,26);Yi(b,e,298144,7);aa=i;return}case 20:{Ti(c[b>>2]|0,4);dj(b,e+48|0);g=c[e+112>>2]|0;if(g|0)do{Xi(b,d,g);g=c[g+4>>2]|0}while((g|0)!=0);if(c[e+152>>2]|0?(Ti(c[b>>2]|0,5),f=c[e+144>>2]|0,f|0):0)do{Xi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Ti(c[b>>2]|0,11);aa=i;return}case 21:{g=e+36|0;Ti(c[b>>2]|0,c[g>>2]|0);g=gm(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;un(d,h,1,298009,0);Ll(c[b>>2]|0,c[e+44>>2]|0,320453);aa=i;return}case 22:{if(!d)if(!(c[e+56>>2]|0))f=c[e+60>>2]|0;else f=-1;else f=Ik(d,e+36|0)|0;Ti(c[b>>2]|0,22);Ll(c[b>>2]|0,f,297758);aa=i;return}case 23:{if(!d)if(!(c[e+56>>2]|0))f=c[e+60>>2]|0;else f=-1;else f=Ik(d,e+36|0)|0;Ti(c[b>>2]|0,23);Ll(c[b>>2]|0,f,297758);aa=i;return}case 24:{if(!d)if(!(c[e+56>>2]|0))f=c[e+60>>2]|0;else f=-1;else f=Ik(d,e+36|0)|0;Ti(c[b>>2]|0,24);Ll(c[b>>2]|0,f,297758);aa=i;return}case 25:{Ti(c[b>>2]|0,3);dj(b,e+48|0);f=c[e+112>>2]|0;if(f|0)do{Xi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Ti(c[b>>2]|0,11);aa=i;return}case 26:{Ti(c[b>>2]|0,199);Ll(c[b>>2]|0,0,298157);Ll(c[b>>2]|0,0,298157);aa=i;return}case 27:{e=Ck(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,198);Ll(c[b>>2]|0,e,298178);aa=i;return}case 28:{Ti(c[b>>2]|0,200);Ll(c[b>>2]|0,0,298196);aa=i;return}case 29:{Ti(c[b>>2]|0,51);Ll(c[b>>2]|0,0,320640);aa=i;return}case 30:{e=Ck(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,197);Ll(c[b>>2]|0,e,298217);Ll(c[b>>2]|0,0,298237);aa=i;return}case 31:{Ti(c[b>>2]|0,50);Ll(c[b>>2]|0,0,320549);aa=i;return}case 43:{Ti(c[b>>2]|0,203);Ll(c[b>>2]|0,0,298258);Ll(c[b>>2]|0,0,298258);aa=i;return}case 44:{e=Dk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,202);Ll(c[b>>2]|0,e,298278);aa=i;return}case 45:{e=Dk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,201);Ll(c[b>>2]|0,e,298296);Ll(c[b>>2]|0,0,298315);aa=i;return}case 46:{e=yk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,204);Ll(c[b>>2]|0,e,298335);aa=i;return}case 49:{e=yk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,205);Ll(c[b>>2]|0,e,298357);aa=i;return}case 47:{e=yk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,206);Ll(c[b>>2]|0,e,298379);aa=i;return}case 48:{e=yk(c[b+8>>2]|0,e+36|0)|0;Ti(c[b>>2]|0,207);Ll(c[b>>2]|0,e,298402);aa=i;return}case 34:{Ti(c[b>>2]|0,208);aa=i;return}case 33:{Ti(c[b>>2]|0,209);aa=i;return}case 32:{Ti(c[b>>2]|0,1);aa=i;return}case 35:{Ti(c[b>>2]|0,9);aa=i;return}case 36:{Ti(c[b>>2]|0,15);aa=i;return}case 39:{Ti(c[b>>2]|0,21);aa=i;return}case 42:{g=e+36|0;Ti(c[b>>2]|0,c[g>>2]|0);g=gm(g,c[e+40>>2]|0)|0;d=c[b>>2]|0;if(g>>>0>1){f=0;while(1){f=f+1<<24>>24;if(g>>>0>3)g=g>>>1;else break}}else f=0;a[h>>0]=f;un(d,h,1,298009,0);Ll(c[b>>2]|0,c[e+44>>2]|0,320508);aa=i;return}case 51:{Ti(c[b>>2]|0,8);Ll(c[b>>2]|0,c[e+60>>2]|0,298425);aa=i;return}case 52:{Ti(c[b>>2]|0,6);dj(b,e+48|0);f=c[e+112>>2]|0;if(f|0)do{Xi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Ti(c[b>>2]|0,7);f=c[e+144>>2]|0;if(f|0)do{Xi(b,d,f);f=c[f+4>>2]|0}while((f|0)!=0);Ti(c[b>>2]|0,11);aa=i;return}case 53:{Ti(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 50:{Ti(c[b>>2]|0,c[e+36>>2]|0);aa=i;return}case 40:{Ti(c[b>>2]|0,c[e+36>>2]|0);b=c[b>>2]|0;a[h>>0]=c[e+40>>2];un(b,h,1,298437,0);aa=i;return}case 41:{Ti(c[b>>2]|0,c[e+36>>2]|0);b=c[b>>2]|0;e=e+40|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];un(b,h,16,298455,0);aa=i;return}case 54:{Ti(c[b>>2]|0,0);aa=i;return}default:{aa=i;return}}while(0)}function Yi(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=aa;aa=aa+32|0;v=z+12|0;x=z+8|0;w=z+4|0;y=z;if(!(a[(c[b+4>>2]|0)+11>>0]|0)){Ll(c[b>>2]|0,d,e);aa=z;return}c[x>>2]=f;u=b+56|0;g=c[u>>2]|0;if(g){h=c[b+60>>2]|0;if((c[g+4>>2]|0)!=(h|0))i=5}else{h=c[b+60>>2]|0;i=5}if((i|0)==5){k=Lt(c[b+72>>2]|0)|0;s=b+48|0;m=c[s>>2]|0;q=b+52|0;r=c[q>>2]|0;i=r;if(m>>>0>=r>>>0){r=b+44|0;g=c[r>>2]|0;l=(m-g|0)/20|0;j=l+1|0;n=g;if(j>>>0>214748364)yB();i=(i-g|0)/20|0;o=i<<1;j=i>>>0<107374182?(o>>>0<j>>>0?j:o):214748364;do if(j)if(j>>>0>214748364)U();else{p=RA(j*20|0)|0;break}else p=0;while(0);i=p+(l*20|0)|0;o=p+(j*20|0)|0;c[i>>2]=k;c[p+(l*20|0)+4>>2]=h;c[p+(l*20|0)+8>>2]=0;c[p+(l*20|0)+12>>2]=0;c[p+(l*20|0)+16>>2]=0;k=i+20|0;if((m|0)!=(n|0)){g=m;do{j=i;i=i+-20|0;l=g;g=g+-20|0;h=g;p=c[h+4>>2]|0;m=i;c[m>>2]=c[h>>2];c[m+4>>2]=p;m=j+-12|0;p=l+-12|0;c[m>>2]=0;h=j+-8|0;c[h>>2]=0;j=j+-4|0;c[j>>2]=0;c[m>>2]=c[p>>2];m=l+-8|0;c[h>>2]=c[m>>2];l=l+-4|0;c[j>>2]=c[l>>2];c[l>>2]=0;c[m>>2]=0;c[p>>2]=0}while((g|0)!=(n|0));g=c[r>>2]|0;h=c[s>>2]|0;j=g;c[r>>2]=i;c[s>>2]=k;c[q>>2]=o;if((h|0)!=(j|0))do{i=c[h+-12>>2]|0;if(i|0){c[h+-8>>2]=i;SA(i)}h=h+-20|0}while((h|0)!=(j|0))}else{c[r>>2]=i;c[s>>2]=k;c[q>>2]=o}if(g|0)SA(g)}else{c[m>>2]=k;c[m+4>>2]=h;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[s>>2]=m+20}c[u>>2]=(c[s>>2]|0)+-20}r=(c[(c[b>>2]|0)+4>>2]|0)-(c[b+76>>2]|0)|0;c[w>>2]=r;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;g=c[b+8>>2]|0;if(!f){cB(v,c[(c[g+76>>2]|0)+(d<<2)>>2]|0)|0;q=0}else{cB(v,c[(c[g+88>>2]|0)+(d<<2)>>2]|0)|0;q=2}h=b+12|0;g=_i(h,v)|0;do if(!g){p=b+32|0;o=b+36|0;j=((c[o>>2]|0)-(c[p>>2]|0)|0)/12|0;g=$i(h,v)|0;c[g>>2]=j;g=c[o>>2]|0;n=b+40|0;h=c[n>>2]|0;if(g>>>0<h>>>0){c[g>>2]=j;c[g+4>>2]=q;c[g+8>>2]=d;c[o>>2]=(c[o>>2]|0)+12;break}m=c[p>>2]|0;l=g-m|0;k=(l|0)/12|0;g=k+1|0;if(g>>>0>357913941)yB();s=(h-m|0)/12|0;i=s<<1;i=s>>>0<178956970?(i>>>0<g>>>0?g:i):357913941;do if(i)if(i>>>0>357913941)U();else{t=RA(i*12|0)|0;break}else t=0;while(0);h=t+(k*12|0)|0;c[h>>2]=j;c[t+(k*12|0)+4>>2]=q;c[t+(k*12|0)+8>>2]=d;g=h+(((l|0)/-12|0)*12|0)|0;if((l|0)>0)jC(g|0,m|0,l|0)|0;c[p>>2]=g;c[o>>2]=h+12;c[n>>2]=t+(i*12|0);if(m)SA(m)}else j=c[g+20>>2]|0;while(0);if((a[v+11>>0]|0)<0)SA(c[v>>2]|0);c[y>>2]=j;g=c[u>>2]|0;i=g+12|0;h=c[i>>2]|0;if(h>>>0<(c[g+16>>2]|0)>>>0){yj(h,f,r,j,0);c[i>>2]=(c[i>>2]|0)+16}else aj(g+8|0,x,w,y);Ml(c[b>>2]|0,d,e);aa=z;return}function Zi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+128|0;h=j+112|0;i=j+104|0;f=j;c[i>>2]=d;Jz(f,100,297949,i)|0;e=c[b>>2]|0;g=c[e+12>>2]|0;if(g){c[h>>2]=f;tn(g,297962,h);e=c[b>>2]|0}a[i>>0]=0;un(e,i,1,312360,0);c[b+72>>2]=0;c[b+68>>2]=1;f=c[b>>2]|0;g=a[(c[b+4>>2]|0)+10>>0]|0;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0;a[i+4>>0]=0;h=c[f+4>>2]|0;un(f,i,g<<24>>24==0?5:1,297968,0);c[b+64>>2]=h;h=c[b>>2]|0;c[b+76>>2]=c[h+4>>2];i=Lz(d)|0;Ll(h,i,323090);un(h,d,i,297989,1);aa=j;return}function _i(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;s=a[e+11>>0]|0;r=s<<24>>24<0;t=r?c[e>>2]|0:e;s=r?c[e+4>>2]|0:s&255;if(s>>>0>3){e=t;h=s;f=s;while(1){r=v(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24,1540483477)|0;h=(v(r>>>24^r,1540483477)|0)^(v(h,1540483477)|0);f=f+-4|0;if(f>>>0<=3)break;else e=e+4|0}r=s+-4|0;f=r&-4;g=t+(f+4)|0;e=h;f=r-f|0}else{g=t;e=s;f=s}switch(f|0){case 3:{i=d[g+2>>0]<<16^e;l=7;break}case 2:{i=e;l=7;break}case 1:{j=e;l=8;break}default:k=e}if((l|0)==7){j=d[g+1>>0]<<8^i;l=8}if((l|0)==8)k=v(j^d[g>>0],1540483477)|0;r=v(k>>>13^k,1540483477)|0;r=r>>>15^r;p=c[b+4>>2]|0;if(!p){t=0;return t|0}i=p+-1|0;f=(i&p|0)==0;if(!f)if(r>>>0<p>>>0)q=r;else q=(r>>>0)%(p>>>0)|0;else q=r&i;e=c[(c[b>>2]|0)+(q<<2)>>2]|0;if(!e){t=0;return t|0}j=c[e>>2]|0;if(!j){t=0;return t|0}k=(s|0)==0;if(f){e=j;a:while(1){l=c[e+4>>2]|0;f=(l|0)==(r|0);if(!(f|(l&i|0)==(q|0))){e=0;l=45;break}do if(f?(m=e+8|0,n=a[m+11>>0]|0,o=n<<24>>24<0,n=n&255,((o?c[e+12>>2]|0:n)|0)==(s|0)):0){f=c[m>>2]|0;g=o?f:m;f=f&255;if(o){if(k){l=45;break a}if(!(Kz(g,t,s)|0)){l=45;break a}else break}if(k){l=45;break a}if((a[t>>0]|0)==f<<24>>24){f=n;g=m;h=t;do{f=f+-1|0;g=g+1|0;if(!f){l=45;break a}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);e=c[e>>2]|0;if(!e){e=0;l=45;break}}if((l|0)==45)return e|0}b:while(1){e=c[j+4>>2]|0;do if((e|0)==(r|0)){e=j+8|0;g=a[e+11>>0]|0;i=g<<24>>24<0;g=g&255;if(((i?c[j+12>>2]|0:g)|0)==(s|0)){f=c[e>>2]|0;h=i?f:e;f=f&255;if(i){if(k){e=j;l=45;break b}if(!(Kz(h,t,s)|0)){e=j;l=45;break b}else break}if(k){e=j;l=45;break b}if((a[t>>0]|0)==f<<24>>24){f=t;do{g=g+-1|0;e=e+1|0;if(!g){e=j;l=45;break b}f=f+1|0}while((a[e>>0]|0)==(a[f>>0]|0))}}}else{if(e>>>0>=p>>>0)e=(e>>>0)%(p>>>0)|0;if((e|0)!=(q|0)){e=0;l=45;break b}}while(0);j=c[j>>2]|0;if(!j){e=0;l=45;break}}if((l|0)==45)return e|0;return 0}function $i(b,e){b=b|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,w=0,x=0,y=0,z=0,A=0,B=0;x=a[e+11>>0]|0;z=x<<24>>24<0;y=z?c[e>>2]|0:e;x=z?c[e+4>>2]|0:x&255;if(x>>>0>3){k=y;n=x;l=x;while(1){z=v(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,1540483477)|0;n=(v(z>>>24^z,1540483477)|0)^(v(n,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else k=k+4|0}z=x+-4|0;l=z&-4;m=y+(l+4)|0;k=n;l=z-l|0}else{m=y;k=x;l=x}switch(l|0){case 3:{o=d[m+2>>0]<<16^k;B=7;break}case 2:{o=k;B=7;break}case 1:{p=k;B=8;break}default:q=k}if((B|0)==7){p=d[m+1>>0]<<8^o;B=8}if((B|0)==8)q=v(p^d[m>>0],1540483477)|0;z=v(q>>>13^q,1540483477)|0;z=z>>>15^z;t=b+4|0;s=c[t>>2]|0;w=(s|0)==0;a:do if(!w){q=s+-1|0;l=(q&s|0)==0;if(!l)if(z>>>0<s>>>0)r=z;else r=(z>>>0)%(s>>>0)|0;else r=z&q;k=c[(c[b>>2]|0)+(r<<2)>>2]|0;if((k|0)!=0?(h=c[k>>2]|0,(h|0)!=0):0){p=(x|0)==0;if(l){if(p){g=h;while(1){y=c[g+4>>2]|0;if(!((y|0)==(z|0)|(y&q|0)==(r|0))){g=r;break a}y=a[g+8+11>>0]|0;if(!((y<<24>>24<0?c[g+12>>2]|0:y&255)|0)){k=g;break}g=c[g>>2]|0;if(!g){g=r;break a}}b=k+20|0;return b|0}k=h;b:while(1){o=c[k+4>>2]|0;if(!((o|0)==(z|0)|(o&q|0)==(r|0))){g=r;break a}l=k+8|0;n=a[l+11>>0]|0;o=n<<24>>24<0;n=n&255;do if(((o?c[k+12>>2]|0:n)|0)==(x|0)){m=c[l>>2]|0;if(o)if(!(Kz(m,y,x)|0)){B=68;break b}else break;if((a[y>>0]|0)==(m&255)<<24>>24){m=y;do{n=n+-1|0;l=l+1|0;if(!n){B=68;break b}m=m+1|0}while((a[l>>0]|0)==(a[m>>0]|0))}}while(0);k=c[k>>2]|0;if(!k){g=r;break a}}if((B|0)==68){b=k+20|0;return b|0}}if(p){while(1){g=c[h+4>>2]|0;if((g|0)!=(z|0)){if(g>>>0>=s>>>0)g=(g>>>0)%(s>>>0)|0;if((g|0)!=(r|0)){g=r;break a}}y=a[h+8+11>>0]|0;if(!((y<<24>>24<0?c[h+12>>2]|0:y&255)|0)){k=h;break}h=c[h>>2]|0;if(!h){g=r;break a}}b=k+20|0;return b|0}c:while(1){k=c[h+4>>2]|0;if((k|0)!=(z|0)){if(k>>>0>=s>>>0)k=(k>>>0)%(s>>>0)|0;if((k|0)!=(r|0)){g=r;break a}}k=h+8|0;m=a[k+11>>0]|0;n=m<<24>>24<0;m=m&255;do if(((n?c[h+12>>2]|0:m)|0)==(x|0)){l=c[k>>2]|0;if(n)if(!(Kz(l,y,x)|0)){k=h;B=68;break c}else break;if((a[y>>0]|0)==(l&255)<<24>>24){l=y;do{m=m+-1|0;k=k+1|0;if(!m){k=h;B=68;break c}l=l+1|0}while((a[k>>0]|0)==(a[l>>0]|0))}}while(0);h=c[h>>2]|0;if(!h){g=r;break a}}if((B|0)==68){b=k+20|0;return b|0}}else g=r}else g=0;while(0);m=RA(24)|0;VA(m+8|0,e);c[m+20>>2]=0;c[m+4>>2]=z;c[m>>2]=0;l=b+12|0;j=+(((c[l>>2]|0)+1|0)>>>0);i=+f[b+16>>2];do if(w|i*+(s>>>0)<j){g=s<<1|(s>>>0<3|(s+-1&s|0)!=0)&1;h=~~+u(+(j/i))>>>0;bj(b,g>>>0<h>>>0?h:g);g=c[t>>2]|0;h=g+-1|0;if(!(h&g)){k=g;g=h&z;break}if(z>>>0<g>>>0){k=g;g=z}else{k=g;g=(z>>>0)%(g>>>0)|0}}else k=s;while(0);h=(c[b>>2]|0)+(g<<2)|0;g=c[h>>2]|0;if(!g){g=b+8|0;c[m>>2]=c[g>>2];c[g>>2]=m;c[h>>2]=g;g=c[m>>2]|0;if(g|0){g=c[g+4>>2]|0;h=k+-1|0;if(h&k){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0}else g=g&h;A=(c[b>>2]|0)+(g<<2)|0;B=66}}else{c[m>>2]=c[g>>2];A=g;B=66}if((B|0)==66)c[A>>2]=m;c[l>>2]=(c[l>>2]|0)+1;b=m;b=b+20|0;return b|0}function aj(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;k=a+4|0;f=c[a>>2]|0;h=(c[k>>2]|0)-f>>4;g=h+1|0;if(g>>>0>268435455)yB();l=a+8|0;i=(c[l>>2]|0)-f|0;j=i>>3;j=i>>4>>>0<134217727?(j>>>0<g>>>0?g:j):268435455;do if(j)if(j>>>0>268435455)U();else{m=RA(j<<4)|0;break}else m=0;while(0);i=m+(h<<4)|0;yj(i,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,0);f=c[a>>2]|0;h=(c[k>>2]|0)-f|0;g=i+(0-(h>>4)<<4)|0;if((h|0)>0)jC(g|0,f|0,h|0)|0;c[a>>2]=g;c[k>>2]=i+16;c[l>>2]=m+(j<<4);if(!f)return;SA(f);return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=PA(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0>e>>>0){cj(a,b);return}if(b>>>0>=e>>>0)return;d=~~+u(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(w(d+-1|0)|0);d=d>>>0<2?d:g}else d=PA(d)|0;b=b>>>0<d>>>0?d:b;if(b>>>0>=e>>>0)return;cj(a,b);return} +function mm(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;D=aa;aa=aa+112|0;C=D+104|0;A=D+96|0;z=D+88|0;y=D+80|0;x=D+72|0;t=D+64|0;s=D+56|0;r=D+48|0;v=D+40|0;u=D+32|0;q=D+24|0;o=D;B=b+12|0;c[B>>2]=d;n=b;e=o+16|0;c[o>>2]=289368;c[o+4>>2]=n;c[o+8>>2]=330059;c[e>>2]=o;Ex(d+216|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289368;c[o+4>>2]=n;c[o+8>>2]=329058;c[e>>2]=o;Ex(d+236|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289368;c[o+4>>2]=n;c[o+8>>2]=301454;c[e>>2]=o;Ex(d+276|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289368;c[o+4>>2]=n;c[o+8>>2]=329163;c[e>>2]=o;Ex(d+296|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289368;c[o+4>>2]=n;c[o+8>>2]=329087;c[e>>2]=o;Ex(d+316|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289368;c[o+4>>2]=n;c[o+8>>2]=329041;c[e>>2]=o;Ex(d+196|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=c[d+76>>2]|0;j=c[d+80>>2]|0;if((e|0)!=(j|0)){l=b+16|0;k=o+16|0;h=o+4|0;i=o+8|0;m=b+20|0;do{g=c[e>>2]|0;c[l>>2]=g;do if(a[g+12>>0]|0?(p=g+16|0,(c[g+36>>2]|0)==1):0){f=Mx((c[B>>2]|0)+276|0,p)|0;if((f|0)!=-1){Bl(p,f);break}f=g+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[q>>2]=301454;c[q+4>>2]=f;nm(b,p,300140,q)}while(0);c[o>>2]=289412;c[h>>2]=g;c[i>>2]=n;c[k>>2]=o;Ex(g+88|0,o);f=c[k>>2]|0;if((o|0)!=(f|0)){if(f|0)ma[c[(c[f>>2]|0)+20>>2]&255](f)}else ma[c[(c[f>>2]|0)+16>>2]&255](f);Jj(m,g)|0;c[l>>2]=0;e=e+4|0}while((e|0)!=(j|0))}e=c[d+112>>2]|0;i=c[d+116>>2]|0;a:do if((e|0)!=(i|0))while(1){h=c[e>>2]|0;b:do switch(c[h+12>>2]|0){case 0:{g=h+16|0;if((c[h+36>>2]|0)==1){f=Mx((c[B>>2]|0)+216|0,g)|0;if((f|0)!=-1){Bl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[u>>2]=330059;c[u+4>>2]=f;nm(b,g,300140,u)}break}case 1:{g=h+16|0;if((c[h+36>>2]|0)==1){f=Mx((c[B>>2]|0)+296|0,g)|0;if((f|0)!=-1){Bl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[v>>2]=329163;c[v+4>>2]=f;nm(b,g,300140,v)}break}case 2:{g=h+16|0;if((c[h+36>>2]|0)==1){f=Mx((c[B>>2]|0)+316|0,g)|0;if((f|0)!=-1){Bl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[r>>2]=329087;c[r+4>>2]=f;nm(b,g,300140,r)}break}case 3:{g=h+16|0;if((c[h+36>>2]|0)==1){f=Mx((c[B>>2]|0)+236|0,g)|0;if((f|0)!=-1){Bl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[s>>2]=329058;c[s+4>>2]=f;nm(b,g,300140,s)}break}case 4:{g=h+16|0;if((c[h+36>>2]|0)==1){f=Mx((c[B>>2]|0)+196|0,g)|0;if((f|0)!=-1){Bl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[t>>2]=329041;c[t+4>>2]=f;nm(b,g,300140,t)}break}default:{}}while(0);e=e+4|0;if((e|0)==(i|0))break a}while(0);e=c[d+88>>2]|0;f=c[d+92>>2]|0;if((e|0)!=(f|0)){g=b+20|0;do{Ij(g,(c[e>>2]|0)+20|0)|0;e=e+4|0}while((e|0)!=(f|0))}e=c[d+64>>2]|0;h=c[d+68>>2]|0;if((e|0)!=(h|0))do{f=c[e>>2]|0;do if(a[f+12>>0]|0?(w=f+16|0,(c[f+36>>2]|0)==1):0){g=Mx((c[B>>2]|0)+276|0,w)|0;if((g|0)!=-1){Bl(w,g);break}f=f+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[x>>2]=301454;c[x+4>>2]=f;nm(b,w,300140,x)}while(0);e=e+4|0}while((e|0)!=(h|0));e=c[d+148>>2]|0;i=c[d+152>>2]|0;if((e|0)!=(i|0)){j=b+20|0;do{h=c[e>>2]|0;g=h+12|0;do if((c[h+32>>2]|0)==1){f=Mx((c[B>>2]|0)+296|0,g)|0;if((f|0)!=-1){Bl(g,f);break}f=h+36|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[y>>2]=329163;c[y+4>>2]=f;nm(b,g,300140,y)}while(0);Ij(j,h+52|0)|0;f=c[h+64>>2]|0;h=c[h+68>>2]|0;if((f|0)!=(h|0))do{do if((c[f+20>>2]|0)==1){g=Mx((c[B>>2]|0)+216|0,f)|0;if((g|0)!=-1){Bl(f,g);break}g=f+24|0;if((a[g+11>>0]|0)<0)g=c[g>>2]|0;c[z>>2]=330059;c[z+4>>2]=g;nm(b,f,300140,z)}while(0);f=f+36|0}while((f|0)!=(h|0));e=e+4|0}while((e|0)!=(i|0))}e=c[d+172>>2]|0;i=c[d+176>>2]|0;if((e|0)!=(i|0)){j=b+20|0;do{g=c[e>>2]|0;h=g+12|0;do if((c[g+32>>2]|0)==1){f=Mx((c[B>>2]|0)+316|0,h)|0;if((f|0)!=-1){Bl(h,f);break}f=g+36|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[A>>2]=329087;c[A+4>>2]=f;nm(b,h,300140,A)}while(0);Ij(j,g+52|0)|0;e=e+4|0}while((e|0)!=(i|0))}e=c[d+184>>2]|0;h=c[d+188>>2]|0;if((e|0)==(h|0)){c[B>>2]=0;C=b+72|0;C=c[C>>2]|0;aa=D;return C|0}do{g=c[e>>2]|0;do if((c[g+20>>2]|0)==1){f=Mx((c[B>>2]|0)+216|0,g)|0;if((f|0)!=-1){Bl(g,f);break}f=g+24|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[C>>2]=330059;c[C+4>>2]=f;nm(b,g,300140,C)}while(0);e=e+4|0}while((e|0)!=(h|0));c[B>>2]=0;C=b+72|0;C=c[C>>2]|0;aa=D;return C|0}function nm(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=aa;aa=aa+192|0;h=k+168|0;l=k+144|0;f=k+128|0;g=k;i=k+164|0;j=k+160|0;c[a+72>>2]=1;c[l>>2]=e;c[f>>2]=c[l>>2];c[i>>2]=g;e=(Mz(g,128,d,l)|0)+1|0;if(e>>>0>128){g=aa;aa=aa+((1*e|0)+15&-16)|0;c[i>>2]=g;Mz(g,e,d,f)|0}e=c[a+4>>2]|0;c[j>>2]=1;d=e+4|0;f=c[d>>2]|0;if(f>>>0<(c[e+8>>2]|0)>>>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];c[h+16>>2]=c[b+16>>2];l=Lz(g)|0;c[f>>2]=1;j=f+4|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];An(f+24|0,g,l);c[d>>2]=(c[d>>2]|0)+36;aa=k;return}else{xm(e,j,b,i);aa=k;return}}function om(a){a=a|0;return}function pm(a){a=a|0;SA(a);return}function qm(a){a=a|0;var b=0,d=0,e=0;b=RA(12)|0;c[b>>2]=289412;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function rm(a,b){a=a|0;b=b|0;var d=0,e=0;c[b>>2]=289412;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return}function sm(a){a=a|0;return}function tm(a){a=a|0;SA(a);return}function um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=aa;aa=aa+16|0;g=f;i=c[b+4>>2]|0;h=c[b+8>>2]|0;b=(c[d+20>>2]|0)>(c[e+20>>2]|0)?d+12|0:e+12|0;e=(a[d+11>>0]|0)<0?c[d>>2]|0:d;c[g>>2]=(c[d+32>>2]|0)>>>0<(c[i+56>>2]|0)-(c[i+52>>2]|0)>>2>>>0?300229:329079;c[g+4>>2]=e;nm(h,b,300239,g);aa=f;return}function vm(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==300167?a+4|0:0)|0}function wm(a){a=a|0;return 285768}function xm(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;o=aa;aa=aa+32|0;i=o;m=b+4|0;g=c[b>>2]|0;k=((c[m>>2]|0)-g|0)/36|0;h=k+1|0;if(h>>>0>119304647)yB();n=b+8|0;l=((c[n>>2]|0)-g|0)/36|0;g=l<<1;g=l>>>0<59652323?(g>>>0<h>>>0?h:g):119304647;do if(g)if(g>>>0>119304647)U();else{j=RA(g*36|0)|0;break}else j=0;while(0);h=j+(k*36|0)|0;l=j+(g*36|0)|0;g=c[d>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];d=c[f>>2]|0;f=Lz(d)|0;c[h>>2]=g;g=j+(k*36|0)+4|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];An(j+(k*36|0)+24|0,d,f);f=h+36|0;d=c[b>>2]|0;g=c[m>>2]|0;if((g|0)==(d|0)){e=d;g=d}else{do{j=h;h=h+-36|0;k=g;g=g+-36|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];j=j+-12|0;k=k+-12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}while((g|0)!=(d|0));e=c[b>>2]|0;g=c[m>>2]|0}c[b>>2]=h;c[m>>2]=f;c[n>>2]=l;d=e;if((g|0)!=(d|0))do{h=g+-12|0;g=g+-36|0;if((a[h+11>>0]|0)<0)SA(c[h>>2]|0)}while((g|0)!=(d|0));if(!e){aa=o;return}SA(e);aa=o;return}function ym(a){a=a|0;SA(a);return}function zm(a){a=a|0;var b=0,d=0,e=0;b=RA(12)|0;c[b>>2]=289368;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function Am(a,b){a=a|0;b=b|0;var d=0,e=0;c[b>>2]=289368;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return}function Bm(a){a=a|0;return}function Cm(a){a=a|0;SA(a);return}function Dm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=aa;aa=aa+16|0;g=f;h=c[b+4>>2]|0;e=(c[d+20>>2]|0)>(c[e+20>>2]|0)?d+12|0:e+12|0;d=(a[d+11>>0]|0)<0?c[d>>2]|0:d;c[g>>2]=c[b+8>>2];c[g+4>>2]=d;nm(h,e,300239,g);aa=f;return}function Em(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==300579?a+4|0:0)|0}function Fm(a){a=a|0;return 285800}function Gm(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=289108;e=b+60|0;f=c[e>>2]|0;if(f|0){g=b+64|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;SA(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;SA(d)}d=c[b+36>>2]|0;if(d|0){c[b+40>>2]=d;SA(d)}d=c[b+24>>2]|0;if(!d)return;c[b+28>>2]=d;SA(d);return}function Hm(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=289108;e=b+60|0;f=c[e>>2]|0;if(f|0){g=b+64|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;SA(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;SA(d)}d=c[b+36>>2]|0;if(d|0){c[b+40>>2]=d;SA(d)}d=c[b+24>>2]|0;if(!d){SA(b);return}c[b+28>>2]=d;SA(d);SA(b);return}function Im(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Kc(b+60|0,g);else{VA(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=Mx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=301454;c[h+4>>2]=e;nm(b,f,300140,h);aa=i;return 0}function Jm(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}SA(c[b>>2]|0);c[d>>2]=b;return 0}function Km(a,b){a=a|0;b=b|0;ln(a,b+36|0);return 0}function Lm(a,b){a=a|0;b=b|0;ln(a,b+36|0);return 0}function Mm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;ln(b,d+36|0);f=d+72|0;if((c[d+92>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+196|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+96|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=329041;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function Nm(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+36>>2]|0;e=c[b+40>>2]|0;if((d|0)!=(e|0))do{ln(a,d);d=d+36|0}while((d|0)!=(e|0));ln(a,b+48|0);return 0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+216|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330059;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function Pm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i+8|0;g=i;do if(a[d+36>>0]|0?(f=d+40|0,(c[d+60>>2]|0)==1):0){e=Mx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Bl(f,e);break}e=d+64|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=301454;c[g+4>>2]=e;nm(b,f,300140,g)}while(0);f=d+100|0;if((c[d+120>>2]|0)!=1){aa=i;return 0}e=Mx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=i;return 0}e=d+124|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=329163;c[h+4>>2]=e;nm(b,f,300140,h);aa=i;return 0}function Qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+236|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=329058;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function Rm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+236|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=329058;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function Sm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Kc(b+60|0,g);else{VA(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=Mx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=301454;c[h+4>>2]=e;nm(b,f,300140,h);aa=i;return 0}function Tm(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}SA(c[b>>2]|0);c[d>>2]=b;return 0}function Um(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=c[b+16>>2]|0;if(!e){aa=h;return 0}e=Ik(e,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=e;nm(b,f,303316,g);aa=h;return 0}function Vm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=c[b+16>>2]|0;if(!e){aa=h;return 0}e=Ik(e,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=e;nm(b,f,303316,g);aa=h;return 0}function Wm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=c[b+16>>2]|0;if(!e){aa=h;return 0}e=Ik(e,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=e;nm(b,f,303316,g);aa=h;return 0}function Xm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Kc(b+60|0,g);else{VA(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=Mx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=301454;c[h+4>>2]=e;nm(b,f,300140,h);aa=i;return 0}function Ym(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}SA(c[b>>2]|0);c[d>>2]=b;return 0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+336|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=300899;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function _m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+336|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=300899;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function $m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+356|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=300886;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function an(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+356|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=300886;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function bn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=329163;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function cn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=329163;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function dn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=329163;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function en(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=329163;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function fn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+216|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330059;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i+8|0;g=i;do if(a[d+36>>0]|0?(f=d+40|0,(c[d+60>>2]|0)==1):0){e=Mx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Bl(f,e);break}e=d+64|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=301454;c[g+4>>2]=e;nm(b,f,300140,g)}while(0);f=d+100|0;if((c[d+120>>2]|0)!=1){aa=i;return 0}e=Mx((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=i;return 0}e=d+124|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=329163;c[h+4>>2]=e;nm(b,f,300140,h);aa=i;return 0}function hn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Kc(b+60|0,g);else{VA(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=Mx((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=301454;c[h+4>>2]=e;nm(b,f,300140,h);aa=i;return 0}function jn(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}SA(c[b>>2]|0);c[d>>2]=b;return 0}function kn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=Mx((c[b+12>>2]|0)+196|0,f)|0;if((e|0)!=-1){Bl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=329041;c[g+4>>2]=e;nm(b,f,300140,g);aa=h;return 0}function ln(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;s=aa;aa=aa+16|0;r=s;if((c[d+20>>2]|0)!=1){aa=s;return}l=c[b+60>>2]|0;o=(c[b+64>>2]|0)-l|0;q=(o|0)/12|0;e=q+-1|0;p=d+24|0;m=a[p+11>>0]|0;a:do if((o|0)>0){k=m<<24>>24<0;o=k?c[d+28>>2]|0:m&255;n=(o|0)==0;b:do if(k)while(1){g=l+(e*12|0)|0;h=a[g+11>>0]|0;k=h<<24>>24<0;h=h&255;do if(((k?c[l+(e*12|0)+4>>2]|0:h)|0)==(o|0)){i=c[g>>2]|0;j=k?i:g;f=c[p>>2]|0;i=i&255;if(k){if(n)break b;if(!(Kz(j,f,o)|0))break b;else break}if(n)break b;if((a[f>>0]|0)==i<<24>>24)do{h=h+-1|0;g=g+1|0;if(!h)break b;f=f+1|0}while((a[g>>0]|0)==(a[f>>0]|0))}while(0);e=e+-1|0;if((e|0)<=-1)break a}else while(1){f=l+(e*12|0)|0;h=a[f+11>>0]|0;j=h<<24>>24<0;h=h&255;do if(((j?c[l+(e*12|0)+4>>2]|0:h)|0)==(o|0)){g=c[f>>2]|0;i=j?g:f;g=g&255;if(j){if(n)break b;if(!(Kz(i,p,o)|0))break b;else break}if(n)break b;if((a[p>>0]|0)==g<<24>>24){g=p;do{h=h+-1|0;f=f+1|0;if(!h)break b;g=g+1|0}while((a[f>>0]|0)==(a[g>>0]|0))}}while(0);e=e+-1|0;if((e|0)<=-1)break a}while(0);Bl(d,q+~e|0);aa=s;return}while(0);if(m<<24>>24<0)e=c[d+24>>2]|0;else e=p;c[r>>2]=e;nm(b,d,300912,r);aa=s;return}function mn(a){a=a|0;var b=0;c[a>>2]=289456;b=a+16|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;b=c[a>>2]|0;if(b|0){c[a+4>>2]=b;SA(b)}SA(a);return}function nn(a){a=a|0;var b=0,d=0;c[a>>2]=289456;d=a+16|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){SA(a);return}d=c[b>>2]|0;if(d|0){c[b+4>>2]=d;SA(d)}SA(b);SA(a);return}function on(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;if(!f)return 0;n=f+d|0;p=b+16|0;i=c[p>>2]|0;o=i+4|0;g=c[o>>2]|0;j=c[i>>2]|0;m=g-j|0;a:do if(n>>>0>m>>>0){k=j;b=n-m|0;l=i+8|0;h=c[l>>2]|0;if((h-g|0)>>>0>=b>>>0)while(1){a[g>>0]=0;g=(c[o>>2]|0)+1|0;c[o>>2]=g;b=b+-1|0;if(!b)break a}if((n|0)<0)yB();g=h-j|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<n>>>0?n:h):2147483647;if(!h)g=0;else g=RA(h)|0;lC(g+m|0,0,b|0)|0;if((m|0)>0)jC(g|0,k|0,m|0)|0;c[i>>2]=g;c[o>>2]=g+n;c[l>>2]=g+h;if(j|0)SA(k)}while(0);jC((c[c[p>>2]>>2]|0)+d|0,e|0,f|0)|0;return 0}function pn(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;if(!f)return 0;p=f+e|0;n=f+d|0;n=p>>>0>n>>>0?p:n;p=b+16|0;i=c[p>>2]|0;o=i+4|0;g=c[o>>2]|0;j=c[i>>2]|0;m=g-j|0;a:do if(n>>>0>m>>>0){k=j;b=n-m|0;l=i+8|0;h=c[l>>2]|0;if((h-g|0)>>>0>=b>>>0)while(1){a[g>>0]=0;g=(c[o>>2]|0)+1|0;c[o>>2]=g;b=b+-1|0;if(!b)break a}if((n|0)<0)yB();g=h-j|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<n>>>0?n:h):2147483647;if(!h)g=0;else g=RA(h)|0;lC(g+m|0,0,b|0)|0;if((m|0)>0)jC(g|0,k|0,m|0)|0;c[i>>2]=g;c[o>>2]=g+n;c[l>>2]=g+h;if(j|0)SA(k)}while(0);p=c[c[p>>2]>>2]|0;kC(p+d|0,p+e|0,f|0)|0;return 0}function qn(a,b){a=a|0;b=b|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+b;return}function rn(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=a+8|0;if((c[g>>2]|0)==1)return;h=c[a+12>>2]|0;if(h|0)sn(h,d,e,b,0,f);a=ha[c[(c[a>>2]|0)+8>>2]&63](a,b,d,e)|0;c[g>>2]=a;return}function sn(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=aa;aa=aa+32|0;w=x+24|0;v=x+16|0;u=x+8|0;t=x;s=x+28|0;r=e+f|0;if((f|0)<=0){aa=x;return}q=g-e|0;p=b+4|0;n=b+8|0;o=b+12|0;l=(h|0)==1;m=(i|0)!=0;do{c[t>>2]=q+e;tn(b,301015,t);k=0;do{g=e+k|0;if(g>>>0<r>>>0){c[u>>2]=d[g>>0];tn(b,301023,u)}else{a[s>>0]=32;f=c[p>>2]|0;if((c[n>>2]|0)==1){g=f;f=1}else{g=c[o>>2]|0;if(g|0)sn(g,s,1,f,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,f,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}g=g+1|0;c[p>>2]=g;a[s>>0]=32;if((f|0)!=1){f=c[o>>2]|0;if(f|0)sn(f,s,1,g,0,0);g=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=g;g=c[p>>2]|0}c[p>>2]=g+1}j=k|1;k=k+2|0;g=e+j|0;if(g>>>0<r>>>0){c[w>>2]=d[g>>0];tn(b,301023,w);g=c[n>>2]|0;h=c[p>>2]|0}else{a[s>>0]=32;g=c[p>>2]|0;if((c[n>>2]|0)==1)f=1;else{f=c[o>>2]|0;if(f|0)sn(f,s,1,g,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}h=g+1|0;c[p>>2]=h;a[s>>0]=32;if((f|0)==1){g=h;f=1}else{g=c[o>>2]|0;if(g|0)sn(g,s,1,h,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,h,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}h=g+1|0;c[p>>2]=h;g=f}a[s>>0]=32;if((g|0)==1){f=1;g=h}else{g=c[o>>2]|0;if(g|0)sn(g,s,1,h,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,h,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}g=g+1|0;c[p>>2]=g}while(j>>>0<15);h=e+16|0;if(l){a[s>>0]=32;if((f|0)==1)f=1;else{f=c[o>>2]|0;if(f|0)sn(f,s,1,g,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}g=g+1|0;c[p>>2]=g;if(e>>>0<r>>>0){h=f;j=0;do{k=a[e>>0]|0;y=(tA(k&255)|0)==0;a[s>>0]=y?46:k;if((h|0)==1)h=1;else{f=c[o>>2]|0;if(f|0)sn(f,s,1,g,0,0);h=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=h;g=c[p>>2]|0;f=h}g=g+1|0;c[p>>2]=g;j=j+1|0;e=e+1|0}while(e>>>0<r>>>0&j>>>0<16)}}else e=h;if(m&e>>>0>=r>>>0){c[v>>2]=i;tn(b,301028,v);f=c[n>>2]|0;g=c[p>>2]|0}a[s>>0]=10;if((f|0)!=1){f=c[o>>2]|0;if(f|0)sn(f,s,1,g,0,0);g=ha[c[(c[b>>2]|0)+8>>2]&63](b,g,s,1)|0;c[n>>2]=g;g=c[p>>2]|0}c[p>>2]=g+1}while(e>>>0<r>>>0);aa=x;return}function tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+160|0;e=i+144|0;g=i+128|0;f=i;c[e>>2]=d;c[g>>2]=c[e>>2];e=Mz(f,128,b,e)|0;d=e+1|0;if(d>>>0>128){f=aa;aa=aa+((1*d|0)+15&-16)|0;h=f;g=Mz(f,d,b,g)|0}else{h=f;g=e}b=a+4|0;d=c[b>>2]|0;e=a+8|0;if((c[e>>2]|0)==1){a=d;a=a+g|0;c[b>>2]=a;aa=i;return}f=c[a+12>>2]|0;if(f|0)sn(f,h,g,d,0,0);a=ha[c[(c[a>>2]|0)+8>>2]&63](a,d,h,g)|0;c[e>>2]=a;a=c[b>>2]|0;a=a+g|0;c[b>>2]=a;aa=i;return}function un(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=a+4|0;g=c[j>>2]|0;h=a+8|0;if((c[h>>2]|0)==1){a=g;a=a+d|0;c[j>>2]=a;return}i=c[a+12>>2]|0;if(i|0)sn(i,b,d,g,f,e);a=ha[c[(c[a>>2]|0)+8>>2]&63](a,g,b,d)|0;c[h>>2]=a;a=c[j>>2]|0;a=a+d|0;c[j>>2]=a;return}function vn(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=aa;aa=aa+16|0;h=i;f=a+8|0;if((c[f>>2]|0)==1){aa=i;return}g=c[a+12>>2]|0;if(g|0){c[h>>2]=d;c[h+4>>2]=e+d;c[h+8>>2]=b;c[h+12>>2]=e+b;tn(g,301035,h)}h=ha[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e)|0;c[f>>2]=h;aa=i;return}function wn(a,b){a=a|0;b=b|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=b;c[a>>2]=289456;b=RA(12)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+16>>2]=b;return}function xn(a,b){a=a|0;b=b|0;var d=0;d=b+16|0;b=c[d>>2]|0;c[d>>2]=0;c[a>>2]=b;return}function yn(a){a=a|0;c[a>>2]=(c[a>>2]|0)+1;a=a+4|0;c[a>>2]=(c[a>>2]|0)+-1;return}function zn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(e>>>0>4294967279)TA();if(e>>>0<11){a[b+11>>0]=e;if(!e){d=b;e=d+e|0;a[e>>0]=0;return}}else{g=e+16&-16;f=RA(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;b=f}jC(b|0,d|0,e|0)|0;g=b;g=g+e|0;a[g>>0]=0;return}function An(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(e>>>0>4294967279)TA();if(e>>>0<11){a[b+11>>0]=e;if(!e){d=b;e=d+e|0;a[e>>0]=0;return}}else{g=e+16&-16;f=RA(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;b=f}jC(b|0,d|0,e|0)|0;g=b;g=g+e|0;a[g>>0]=0;return}function Bn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=d-e|0;c[a>>2]=b+e;c[a+4>>2]=d>>>0<f>>>0?d:f;return}function Cn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=d>>>0<b>>>0?d:b;if(e|0?(f=Kz(a,c,e)|0,f|0):0)return f|0;return ((b|0)==(d|0)?0:b>>>0<d>>>0?-1:1)|0}function Dn(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;c=c>>>0<5?c:5;g=b;a:do if((c|0)<5)c=g;else{d=c;c=b+c|0;while(1){e=d+-1|0;f=b+e|0;if((a[f>>0]|0)==99){d=b+d|0;if((((a[d+-2>>0]|0)==111?(h=d+-1|0,(a[h+-2>>0]|0)==108):0)?(i=h+-1|0,(a[i+-2>>0]|0)==101):0)?(a[i+-1+-2>>0]|0)==114:0)break a;if((e|0)==4){c=g;break a}}else if((e|0)==4){c=g;break a}d=e;c=f}}while(0);return ((c|0)==(b|0)?-1:c-(g+5)|0)|0}function En(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b;a:do if(!c)c=f;else{c=b+c|0;while(1){e=c+-1|0;if((a[e>>0]|0)==d<<24>>24)break;if((e|0)==(b|0)){c=f;break a}else c=e}}while(0);return ((c|0)==(b|0)?-1:c+~f|0)|0}function Fn(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=aa;aa=aa+176|0;l=r+136|0;m=r+112|0;n=r+160|0;q=r;c[q>>2]=289480;c[q+4>>2]=d;c[q+8>>2]=b;c[q+12>>2]=a;j=q+16|0;p=q+64|0;c[p>>2]=0;o=q+72|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[q+104>>2]=0;k=q+108|0;c[k>>2]=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;c[j+24>>2]=0;j=q;d=m+16|0;c[m>>2]=289740;c[m+4>>2]=j;c[d>>2]=m;b=l+16|0;c[b>>2]=l;c[l>>2]=289740;c[l+4>>2]=j;Gn(l,q+48|0);b=c[b>>2]|0;if((l|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);b=c[d>>2]|0;if((m|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);b=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((b|0)!=(f|0)){j=n+4|0;g=n+4|0;h=m+4|0;i=m+8|0;while(1){a=c[b>>2]|0;switch(c[a+4>>2]|0){case 0:{Hn(q,a+8|0)|0;break}case 1:{In(l,q,c[a+8>>2]|0);break}case 11:{In(l,q,c[a+8>>2]|0);break}case 10:{In(l,q,c[a+8>>2]|0);break}case 9:{Ln(q,c[a+8>>2]|0);break}case 8:{Ln(q,c[a+8>>2]|0);break}case 7:{d=c[a+8>>2]|0;In(n,q,d);switch(c[n>>2]|0){case 1:{Jn(q,d+4|0,c[j>>2]|0,a+12|0);break}case 2:{e=d+4|0;d=c[g>>2]|0;a=a+12|0;c[l>>2]=d;c[m>>2]=0;c[h>>2]=0;c[i>>2]=0;if((d|0)!=-64){Kn(m,l);d=c[m>>2]|0;Jn(q,e,m,a);if(d|0){c[h>>2]=d;SA(d)}}else Jn(q,e,m,a);break}default:{}}break}default:{}}b=b+4|0;if((b|0)==(f|0))break a}}while(0);g=c[k>>2]|0;c[q>>2]=289480;a=q+84|0;e=c[a>>2]|0;if(e|0){f=q+88|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{d=c[b+-20>>2]|0;if(d|0){c[b+-16>>2]=d;SA(d)}d=c[b+-32>>2]|0;if(d|0){c[b+-28>>2]=d;SA(d)}b=b+-36|0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;SA(b)}b=c[o>>2]|0;if(b|0){c[q+76>>2]=b;SA(b)}b=c[p>>2]|0;if((q+48|0)==(b|0)){ma[c[(c[b>>2]|0)+16>>2]&255](b);aa=r;return g|0}if(!b){aa=r;return g|0}ma[c[(c[b>>2]|0)+20>>2]&255](b);aa=r;return g|0}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;e=i;if((b|0)==(a|0)){aa=i;return}g=a+16|0;d=c[g>>2]|0;f=d;h=b+16|0;if((d|0)==(a|0))if((c[h>>2]|0)==(b|0)){na[c[(c[d>>2]|0)+12>>2]&31](d,e);f=c[g>>2]|0;ma[c[(c[f>>2]|0)+16>>2]&255](f);c[g>>2]=0;f=c[h>>2]|0;na[c[(c[f>>2]|0)+12>>2]&31](f,a);f=c[h>>2]|0;ma[c[(c[f>>2]|0)+16>>2]&255](f);c[h>>2]=0;c[g>>2]=a;na[c[(c[e>>2]|0)+12>>2]&31](e,b);ma[c[(c[e>>2]|0)+16>>2]&255](e);c[h>>2]=b;aa=i;return}else{na[c[(c[d>>2]|0)+12>>2]&31](d,b);a=c[g>>2]|0;ma[c[(c[a>>2]|0)+16>>2]&255](a);c[g>>2]=c[h>>2];c[h>>2]=b;aa=i;return}else{d=c[h>>2]|0;if((b|0)==(d|0)){na[c[(c[d>>2]|0)+12>>2]&31](d,a);b=c[h>>2]|0;ma[c[(c[b>>2]|0)+16>>2]&255](b);c[h>>2]=c[g>>2];c[g>>2]=a;aa=i;return}else{c[g>>2]=d;c[h>>2]=f;aa=i;return}}}function Hn(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,J=0,K=0,L=0,M=0,N=0,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=aa;aa=aa+208|0;S=Z+200|0;R=Z+192|0;Q=Z+184|0;P=Z+176|0;O=Z+168|0;N=Z+160|0;M=Z+152|0;L=Z+144|0;K=Z+136|0;J=Z+128|0;I=Z+120|0;H=Z+112|0;G=Z+104|0;F=Z+96|0;E=Z+88|0;D=Z+80|0;C=Z+72|0;B=Z+64|0;X=Z+56|0;V=Z+48|0;U=Z+40|0;Y=Z;W=b+16|0;c[W>>2]=d;w=b+24|0;v=b+28|0;u=b+32|0;y=b+36|0;s=b+40|0;T=d+32|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;e=c[T>>2]|0;if(e|0){t=b+20|0;z=b+4|0;x=b+104|0;A=b+48|0;m=Y+28|0;n=Y+16|0;p=Y+32|0;o=Y+4|0;q=Y+20|0;r=Y+8|0;f=0;do{j=e;a:do switch(c[j+32>>2]|0){case 10:{c[s>>2]=(c[s>>2]|0)+1;j=j+12|0;g=e;do if(a[g+48>>0]|0){k=c[W>>2]|0;h=c[k+124>>2]|0;k=(c[k+128>>2]|0)-h>>2;i=c[g+76>>2]|0;if(i>>>0<k>>>0){l=c[h+(i<<2)>>2]|0;On(b,j,g+100|0,l+24|0,330059,329141);On(b,j,g+88|0,l+12|0,330059,301344);break}else{c[B>>2]=301454;c[B+4>>2]=k;Mn(b,g+52|0,301380,B);break}}while(0);if((c[g+104>>2]|0)!=(c[g+100>>2]|0))Mn(b,j,301468,C);break}case 0:{k=j+12|0;j=e;c[t>>2]=j+36;do if(a[j+48>>0]|0){i=c[W>>2]|0;g=c[i+124>>2]|0;i=(c[i+128>>2]|0)-g>>2;h=c[j+76>>2]|0;if(h>>>0<i>>>0){l=c[g+(h<<2)>>2]|0;On(b,k,j+100|0,l+24|0,330059,329141);On(b,k,j+88|0,l+12|0,330059,301344);break}else{c[D>>2]=301454;c[D+4>>2]=i;Mn(b,j+52|0,301380,D);break}}while(0);g=j+100|0;if((a[(c[z>>2]|0)+6>>0]|0)==0?(c[j+104>>2]|0)-(c[g>>2]|0)>>2>>>0>1:0){Mn(b,k,301505,E);break a}c[x>>2]=k;wy(A,g);Bj(Y,b);Ij(Y,j+144|0)|0;g=c[m>>2]|0;if(g|0){c[p>>2]=g;SA(g)}g=c[n>>2]|0;if(g|0){c[q>>2]=g;SA(g)}g=c[o>>2]|0;if(g|0){c[r>>2]=g;SA(g)}Bz(A);c[t>>2]=0;break}case 1:{l=e;Nn(b,j+12|0,l+56|0,c[l+48>>2]|0,301553);c[u>>2]=(c[u>>2]|0)+1;break}case 2:{k=j+12|0;g=c[e+36>>2]|0;switch(c[g+28>>2]|0){case 4:{c[s>>2]=(c[s>>2]|0)+1;j=g+44|0;do if(a[j>>0]|0){l=c[W>>2]|0;h=c[l+124>>2]|0;l=(c[l+128>>2]|0)-h>>2;i=c[j+28>>2]|0;if(i>>>0<l>>>0){l=c[h+(i<<2)>>2]|0;On(b,k,j+52|0,l+24|0,330059,329141);On(b,k,j+40|0,l+12|0,330059,301344);break}else{c[F>>2]=301454;c[F+4>>2]=l;Mn(b,j+4|0,301380,F);break}}while(0);if((c[g+100>>2]|0)==(c[g+96>>2]|0))break a;Mn(b,k,301468,G);break a}case 0:{if(!(a[g+44>>0]|0))break a;h=g+48|0;g=c[W>>2]|0;g=(c[g+128>>2]|0)-(c[g+124>>2]|0)>>2;if((c[h+24>>2]|0)>>>0<g>>>0)break a;c[H>>2]=301454;c[H+4>>2]=g;Mn(b,h,301380,H);break a}case 1:{Pn(b,k,g+32|0);c[w>>2]=(c[w>>2]|0)+1;break a}case 2:{Qn(b,k,g+32|0);c[v>>2]=(c[v>>2]|0)+1;break a}case 3:{if(a[g+48>>0]|0?(a[(c[z>>2]|0)+1>>0]|0)==0:0)Mn(b,k,301583,I);c[y>>2]=(c[y>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;break a}default:break a}}case 3:{k=e;switch(c[k+48>>2]|0){case 4:{g=c[W>>2]|0;g=(c[g+68>>2]|0)-(c[g+64>>2]|0)>>2;if((c[k+76>>2]|0)>>>0<g>>>0)break a;c[J>>2]=329041;c[J+4>>2]=g;Mn(b,k+52|0,301380,J);break a}case 0:{g=c[W>>2]|0;g=(c[g+80>>2]|0)-(c[g+76>>2]|0)>>2;if((c[k+76>>2]|0)>>>0<g>>>0)break a;c[K>>2]=330059;c[K+4>>2]=g;Mn(b,k+52|0,301380,K);break a}case 1:{g=c[W>>2]|0;g=(c[g+140>>2]|0)-(c[g+136>>2]|0)>>2;if((c[k+76>>2]|0)>>>0<g>>>0)break a;c[L>>2]=329163;c[L+4>>2]=g;Mn(b,k+52|0,301380,L);break a}case 2:{g=c[W>>2]|0;g=(c[g+164>>2]|0)-(c[g+160>>2]|0)>>2;if((c[k+76>>2]|0)>>>0<g>>>0)break a;c[M>>2]=329087;c[M+4>>2]=g;Mn(b,k+52|0,301380,M);break a}case 3:{j=k+52|0;i=c[W>>2]|0;h=c[i+88>>2]|0;i=(c[i+92>>2]|0)-h>>2;g=c[k+76>>2]|0;if(g>>>0>=i>>>0){c[N>>2]=329058;c[N+4>>2]=i;Mn(b,j,301380,N);break a}if(!(a[(c[h+(g<<2)>>2]|0)+16>>0]|0))break a;if(a[(c[z>>2]|0)+1>>0]|0)break a;Mn(b,j,301618,O);break a}default:break a}}case 5:{Pn(b,j+12|0,e+40|0);c[w>>2]=(c[w>>2]|0)+1;break}case 9:{if(f)Mn(b,j+12|0,301653,P);f=e;i=c[W>>2]|0;g=c[i+76>>2]|0;i=(c[i+80>>2]|0)-g>>2;h=c[f+60>>2]|0;if(h>>>0>=i>>>0){c[Q>>2]=330059;c[Q+4>>2]=i;Mn(b,f+36|0,301380,Q);f=1;break a}l=c[g+(h<<2)>>2]|0;f=l;if(l){if((c[f+56>>2]|0)!=(c[f+52>>2]|0))Mn(b,j+12|0,301685,R);if((c[f+68>>2]|0)!=(c[f+64>>2]|0)){Mn(b,j+12|0,301716,S);f=1}else f=1}else f=1;break}case 7:{Qn(b,j+12|0,e+40|0);c[v>>2]=(c[v>>2]|0)+1;break}default:{}}while(0);e=c[e+4>>2]|0}while((e|0)!=0);e=c[T>>2]|0;if(e|0){do{i=e;j=e;do if((c[i+32>>2]|0)==6){f=c[j+100>>2]|0;h=c[j+104>>2]|0;if((f|0)!=(h|0))do{g=c[W>>2]|0;g=(c[g+80>>2]|0)-(c[g+76>>2]|0)>>2;if((c[f+24>>2]|0)>>>0>=g>>>0){c[U>>2]=330059;c[U+4>>2]=g;Mn(b,f,301380,U)}f=f+36|0}while((f|0)!=(h|0));if(!(a[j+84>>0]|0)){f=c[W>>2]|0;f=(c[f+140>>2]|0)-(c[f+136>>2]|0)>>2;if((c[j+72>>2]|0)>>>0<f>>>0){Nn(b,i+12|0,j+88|0,-1,301414);break}else{c[V>>2]=329163;c[V+4>>2]=f;Mn(b,j+48|0,301380,V);break}}}while(0);e=c[e+4>>2]|0}while((e|0)!=0);e=c[T>>2]|0;if(e|0)do{f=e;g=e;do if((c[f+32>>2]|0)==8?(a[g+84>>0]|0)==0:0){h=c[W>>2]|0;h=(c[h+164>>2]|0)-(c[h+160>>2]|0)>>2;if((c[g+72>>2]|0)>>>0<h>>>0){Nn(b,f+12|0,g+88|0,-1,301434);break}else{c[X>>2]=329087;c[X+4>>2]=h;Mn(b,g+48|0,301380,X);break}}while(0);e=c[e+4>>2]|0}while((e|0)!=0)}}e=Y+16|0;c[Y>>2]=289784;c[Y+4>>2]=b;c[e>>2]=Y;Ex(d+256|0,Y);e=c[e>>2]|0;if((Y|0)==(e|0)){ma[c[(c[e>>2]|0)+16>>2]&255](e);Y=b+108|0;Y=c[Y>>2]|0;aa=Z;return Y|0}if(!e){Y=b+108|0;Y=c[Y>>2]|0;aa=Z;return Y|0}ma[c[(c[e>>2]|0)+20>>2]&255](e);Y=b+108|0;Y=c[Y>>2]|0;aa=Z;return Y|0}function In(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=aa;aa=aa+80|0;k=q+64|0;f=q+56|0;p=q+32|0;l=q+16|0;j=q+8|0;o=b;c[o>>2]=0;c[o+4>>2]=0;a:do switch(c[e+72>>2]|0){case 0:{h=tl(c[d+12>>2]|0,e+24|0)|0;do if(h){f=e+60|0;g=f+11|0;i=a[g>>0]|0;o=i<<24>>24<0;i=vk(h,o?c[f>>2]|0:f,o?c[e+64>>2]|0:i&255)|0;if(!i){if((a[g>>0]|0)<0)f=c[f>>2]|0;c[j>>2]=f;Mn(d,e+4|0,301253,j);f=0;break}n=Jk(h,i+16|0)|0;if(!n)f=0;else{m=e+76|0;h=c[m>>2]|0;g=(c[e+80>>2]|0)-h|0;o=(g|0)/40|0;i=c[n+52>>2]|0;f=(c[n+56>>2]|0)-i>>2;if((f|0)!=(o|0)){c[l>>2]=o>>>0>f>>>0?301282:301287;c[l+4>>2]=o;c[l+8>>2]=f;Mn(d,e+4|0,301291,l);f=0;break}b:do if(g|0){k=n+52|0;f=0;while(1){j=h+(f*40|0)|0;g=c[h+(f*40|0)+20>>2]|0;h=c[i+(f<<2)>>2]|0;if((g|0)!=0&((h|0)!=(g|0)&(h|0)!=0)){do switch(g|0){case -1:{i=329758;break}case -2:{i=329754;break}case -3:{i=329750;break}case -4:{i=329746;break}case -5:{i=329741;break}case -16:{i=329733;break}case -32:{i=329728;break}case -24:{i=329717;break}case -64:{i=329712;break}case -17:{i=329701;break}default:i=329688}while(0);do switch(h|0){case -1:{g=329758;break}case -2:{g=329754;break}case -3:{g=329750;break}case -4:{g=329746;break}case -5:{g=329741;break}case -16:{g=329733;break}case -32:{g=329728;break}case -24:{g=329717;break}case -64:{g=329712;break}case -17:{g=329701;break}default:g=329688}while(0);c[p>>2]=301344;c[p+4>>2]=f;c[p+8>>2]=329072;c[p+12>>2]=i;c[p+16>>2]=g;Mn(d,j,301157,p)}f=f+1|0;if(f>>>0>=o>>>0)break b;h=c[m>>2]|0;i=c[k>>2]|0}}while(0);f=n+64|0}}else{Mn(d,e+4|0,301238,q);f=0}while(0);c[b+4>>2]=f;f=(f|0)!=0&1;break}case 1:{j=b+4|0;i=tl(c[d+12>>2]|0,e+24|0)|0;if(!i){Mn(d,e+4|0,301238,f);f=0;break a}f=e+60|0;g=f+11|0;h=a[g>>0]|0;p=h<<24>>24<0;h=vk(i,p?c[f>>2]|0:f,p?c[e+64>>2]|0:h&255)|0;if(h|0){f=Lk(i,h+16|0)|0;if(!f){f=0;break a}c[j>>2]=c[f+12>>2];f=2;break a}if((a[g>>0]|0)<0)f=c[f>>2]|0;c[k>>2]=f;Mn(d,e+4|0,301353,k);f=0;break}default:{aa=q;return}}while(0);c[b>>2]=f;aa=q;return}function Jn(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=aa;aa=aa+32|0;k=n+24|0;m=n;l=d+4|0;f=c[l>>2]|0;g=c[d>>2]|0;h=f-g>>2;i=c[e>>2]|0;j=((c[e+4>>2]|0)-i|0)/40|0;if((h|0)!=(j|0)){c[k>>2]=j;c[k+4>>2]=h;Mn(a,b,301208,k);aa=n;return}if((f|0)==(g|0)){aa=n;return}j=0;while(1){h=c[g+(j<<2)>>2]|0;i=c[i+(j*40|0)+20>>2]|0;if((h|0)!=0&((i|0)!=(h|0)&(i|0)!=0)){do switch(h|0){case -1:{g=329758;break}case -2:{g=329754;break}case -3:{g=329750;break}case -4:{g=329746;break}case -5:{g=329741;break}case -16:{g=329733;break}case -32:{g=329728;break}case -24:{g=329717;break}case -64:{g=329712;break}case -17:{g=329701;break}default:g=329688}while(0);do switch(i|0){case -1:{f=329758;break}case -2:{f=329754;break}case -3:{f=329750;break}case -4:{f=329746;break}case -5:{f=329741;break}case -16:{f=329733;break}case -32:{f=329728;break}case -24:{f=329717;break}case -64:{f=329712;break}case -17:{f=329701;break}default:f=329688}while(0);c[m>>2]=329141;c[m+4>>2]=j;c[m+8>>2]=301074;c[m+12>>2]=g;c[m+16>>2]=f;Mn(a,b,301157,m);f=c[l>>2]|0;g=c[d>>2]|0}h=j+1|0;if(h>>>0>=f-g>>2>>>0)break;i=c[e>>2]|0;j=h}aa=n;return}function Kn(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function Ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+32|0;i=j+8|0;h=j;f=j+16|0;In(f,a,b);a:do switch(c[f>>2]|0){case 1:{d=f+4|0;g=c[d>>2]|0;e=c[g>>2]|0;g=(c[g+4>>2]|0)-e|0;if((g|0)==4){c[f>>2]=2;h=c[e>>2]|0;c[d>>2]=h;d=h;break a}c[h>>2]=g>>2;Mn(a,b+4|0,301081,h);c[d>>2]=0;aa=j;return}case 2:{d=c[f+4>>2]|0;break}default:{aa=j;return}}while(0);if(!d){aa=j;return}e=b+4|0;if((d|1|0)==-3){aa=j;return}do switch(d|0){case -1:{d=329758;break}case -2:{d=329754;break}case -3:{d=329750;break}case -4:{d=329746;break}case -5:{d=329741;break}case -16:{d=329733;break}case -32:{d=329728;break}case -24:{d=329717;break}case -64:{d=329712;break}case -17:{d=329701;break}default:d=329688}while(0);c[i>>2]=301074;c[i+4>>2]=d;Mn(a,e,301108,i);aa=j;return}function Mn(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=aa;aa=aa+192|0;h=k+168|0;l=k+144|0;f=k+128|0;g=k;i=k+164|0;j=k+160|0;c[a+108>>2]=1;c[l>>2]=e;c[f>>2]=c[l>>2];c[i>>2]=g;e=(Mz(g,128,d,l)|0)+1|0;if(e>>>0>128){g=aa;aa=aa+((1*e|0)+15&-16)|0;c[i>>2]=g;Mz(g,e,d,f)|0}e=c[a+8>>2]|0;c[j>>2]=1;d=e+4|0;f=c[d>>2]|0;if(f>>>0<(c[e+8>>2]|0)>>>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];c[h+16>>2]=c[b+16>>2];l=Lz(g)|0;c[f>>2]=1;j=f+4|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];An(f+24|0,g,l);c[d>>2]=(c[d>>2]|0)+36;aa=k;return}else{xm(e,j,b,i);aa=k;return}}function Nn(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;o=aa;aa=aa+64|0;n=o+40|0;j=o+32|0;k=o+24|0;m=o+16|0;l=o+8|0;h=o;switch(c[e+8>>2]|0){case 0:{e=-64;break}case 1:{i=3;break}default:{c[h>>2]=g;Mn(b,d,302411,h);aa=o;return}}a:do if((i|0)==3){i=c[e>>2]|0;d=i+12|0;switch(c[i+32>>2]|0){case 15:{e=c[i+60>>2]|0;break a}case 18:{h=c[b+16>>2]|0;e=c[h+88>>2]|0;h=(c[h+92>>2]|0)-e>>2;j=c[i+60>>2]|0;if(j>>>0>=h>>>0){c[k>>2]=329058;c[k+4>>2]=h;Mn(b,i+36|0,301380,k);aa=o;return}h=c[e+(j<<2)>>2]|0;e=c[h+12>>2]|0;if(j>>>0>=(c[b+36>>2]|0)>>>0)Mn(b,d,302484,l);if(!(a[h+16>>0]|0))break a;Mn(b,d,302545,m);break a}default:{c[j>>2]=g;Mn(b,d,302411,j);aa=o;return}}}while(0);if((e|0)==(f|0)){aa=o;return}do switch(e|0){case -1:{h=329758;break}case -2:{h=329754;break}case -3:{h=329750;break}case -4:{h=329746;break}case -5:{h=329741;break}case -16:{h=329733;break}case -32:{h=329728;break}case -24:{h=329717;break}case -64:{h=329712;break}case 0:{h=329708;break}case -17:{h=329701;break}default:h=329688}while(0);do switch(f|0){case -1:{e=329758;break}case -2:{e=329754;break}case -3:{e=329750;break}case -4:{e=329746;break}case -5:{e=329741;break}case -16:{e=329733;break}case -32:{e=329728;break}case -24:{e=329717;break}case -64:{e=329712;break}case 0:{e=329708;break}case -17:{e=329701;break}default:e=329688}while(0);c[n>>2]=g;c[n+4>>2]=h;c[n+8>>2]=e;Mn(b,d,302602,n);aa=o;return}function On(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;p=aa;aa=aa+48|0;m=p+24|0;o=p;n=d+4|0;h=c[n>>2]|0;i=c[d>>2]|0;j=h-i>>2;k=c[e>>2]|0;l=(c[e+4>>2]|0)-k>>2;if((j|0)!=(l|0)){c[m>>2]=l;c[m+4>>2]=g;c[m+8>>2]=j;Mn(a,b,302064,m);aa=p;return}if((h|0)==(i|0)){aa=p;return}l=0;while(1){j=c[i+(l<<2)>>2]|0;k=c[k+(l<<2)>>2]|0;if((j|0)!=0&((k|0)!=(j|0)&(k|0)!=0)){do switch(j|0){case -1:{i=329758;break}case -2:{i=329754;break}case -3:{i=329750;break}case -4:{i=329746;break}case -5:{i=329741;break}case -16:{i=329733;break}case -32:{i=329728;break}case -24:{i=329717;break}case -64:{i=329712;break}case -17:{i=329701;break}default:i=329688}while(0);do switch(k|0){case -1:{h=329758;break}case -2:{h=329754;break}case -3:{h=329750;break}case -4:{h=329746;break}case -5:{h=329741;break}case -16:{h=329733;break}case -32:{h=329728;break}case -24:{h=329717;break}case -64:{h=329712;break}case -17:{h=329701;break}default:h=329688}while(0);c[o>>2]=g;c[o+4>>2]=l;c[o+8>>2]=f;c[o+12>>2]=i;c[o+16>>2]=h;Mn(a,b,301157,o);h=c[n>>2]|0;i=c[d>>2]|0}j=l+1|0;if(j>>>0>=h-i>>2>>>0)break;k=c[e>>2]|0;l=j}aa=p;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,n=0,o=0,p=0;o=aa;aa=aa+112|0;n=o+104|0;m=o+96|0;l=o+88|0;k=o+56|0;i=o+32|0;h=o+8|0;f=o;if((c[b+24>>2]|0)==1?(a[(c[b+4>>2]|0)+9>>0]|0)==0:0)Mn(b,d,301966,f);j=e+16|0;g=j;f=c[g>>2]|0;g=c[g+4>>2]|0;if(g>>>0>0|(g|0)==0&f>>>0>4294967295){c[h>>2]=301989;p=h+8|0;c[p>>2]=f;c[p+4>>2]=g;g=h+16|0;c[g>>2]=-1;c[g+4>>2]=0;Mn(b,d,301792,h)}if(a[e+32>>0]|0){g=e+24|0;f=g;h=c[f>>2]|0;f=c[f+4>>2]|0;if(f>>>0>0|(f|0)==0&h>>>0>4294967295){c[i>>2]=301989;p=i+8|0;c[p>>2]=h;c[p+4>>2]=f;h=i+16|0;c[h>>2]=-1;c[h+4>>2]=0;Mn(b,d,301828,i);h=g;i=c[h+4>>2]|0;h=c[h>>2]|0}else i=f;g=j;f=c[g>>2]|0;g=c[g+4>>2]|0;if(i>>>0<g>>>0|(i|0)==(g|0)&h>>>0<f>>>0){c[k>>2]=301989;p=k+8|0;c[p>>2]=h;c[p+4>>2]=i;c[k+16>>2]=301989;p=k+24|0;c[p>>2]=f;c[p+4>>2]=g;Mn(b,d,301860,k)}}if(a[e+33>>0]|0)Mn(b,d,322993,l);g=e+40|0;f=c[g>>2]|0;do if((f|0)==-17)if(!(a[(c[b+4>>2]|0)+9>>0]|0)){Mn(b,d,301995,m);f=c[g>>2]|0;break}else{aa=o;return}while(0);if((f+17|0)>>>0<2){aa=o;return}Mn(b,d,302024,n);aa=o;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;o=aa;aa=aa+112|0;n=o+96|0;m=o+88|0;l=o+56|0;i=o+32|0;h=o+8|0;if((c[b+28>>2]|0)==1)Mn(b,d,301756,o);k=e+16|0;g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(g>>>0>0|(g|0)==0&f>>>0>65536){c[h>>2]=301786;j=h+8|0;c[j>>2]=f;c[j+4>>2]=g;j=h+16|0;c[j>>2]=65536;c[j+4>>2]=0;Mn(b,d,301792,h)}j=e+32|0;if(a[j>>0]|0){g=e+24|0;f=g;h=c[f>>2]|0;f=c[f+4>>2]|0;if(f>>>0>0|(f|0)==0&h>>>0>65536){c[i>>2]=301786;p=i+8|0;c[p>>2]=h;c[p+4>>2]=f;h=i+16|0;c[h>>2]=65536;c[h+4>>2]=0;Mn(b,d,301828,i);h=g;i=c[h+4>>2]|0;h=c[h>>2]|0}else i=f;g=k;f=c[g>>2]|0;g=c[g+4>>2]|0;if(i>>>0<g>>>0|(i|0)==(g|0)&h>>>0<f>>>0){c[l>>2]=301786;p=l+8|0;c[p>>2]=h;c[p+4>>2]=i;c[l+16>>2]=301786;p=l+24|0;c[p>>2]=f;c[p+4>>2]=g;Mn(b,d,301860,l)}}if(!(a[e+33>>0]|0)){aa=o;return}if(!(a[(c[b+4>>2]|0)+5>>0]|0)){Mn(b,d,301903,m);aa=o;return}if(a[j>>0]|0){aa=o;return}Mn(b,d,301930,n);aa=o;return}function Rn(a){a=a|0;SA(a);return}function Sn(a){a=a|0;var b=0;b=RA(8)|0;c[b>>2]=289784;c[b+4>>2]=c[a+4>>2];return b|0}function Tn(a,b){a=a|0;b=b|0;c[b>>2]=289784;c[b+4>>2]=c[a+4>>2];return}function Un(a){a=a|0;return}function Vn(a){a=a|0;SA(a);return}function Wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=aa;aa=aa+16|0;g=f;h=c[b+4>>2]|0;b=(c[d+20>>2]|0)>(c[e+20>>2]|0)?d+12|0:e+12|0;c[g>>2]=(a[d+11>>0]|0)<0?c[d>>2]|0:d;Mn(h,b,302171,g);aa=f;return}function Xn(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==302090?a+4|0:0)|0}function Yn(a){a=a|0;return 285864}function Zn(a){a=a|0;return}function _n(a){a=a|0;SA(a);return}function $n(a){a=a|0;var b=0;b=RA(8)|0;c[b>>2]=289740;c[b+4>>2]=c[a+4>>2];return b|0}function ao(a,b){a=a|0;b=b|0;c[b>>2]=289740;c[b+4>>2]=c[a+4>>2];return}function bo(a){a=a|0;return}function co(a){a=a|0;SA(a);return}function eo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aa;aa=aa+16|0;e=d;f=c[a+4>>2]|0;a=c[f+104>>2]|0;c[e>>2]=c[b>>2];Mn(f,a,329683,e);aa=d;return}function fo(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==302643?a+4|0:0)|0}function go(a){a=a|0;return 285888}function ho(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=289480;e=a+84|0;f=c[e>>2]|0;if(f|0){g=a+88|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{d=c[b+-20>>2]|0;if(d|0){c[b+-16>>2]=d;SA(d)}d=c[b+-32>>2]|0;if(d|0){c[b+-28>>2]=d;SA(d)}b=b+-36|0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;SA(b)}b=c[a+72>>2]|0;if(b|0){c[a+76>>2]=b;SA(b)}b=c[a+64>>2]|0;if((a+48|0)==(b|0)){ma[c[(c[b>>2]|0)+16>>2]&255](b);return}if(!b)return;ma[c[(c[b>>2]|0)+20>>2]&255](b);return}function io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=289480;e=a+84|0;f=c[e>>2]|0;if(f|0){g=a+88|0;b=c[g>>2]|0;if((b|0)==(f|0))b=f;else{do{d=c[b+-20>>2]|0;if(d|0){c[b+-16>>2]=d;SA(d)}d=c[b+-32>>2]|0;if(d|0){c[b+-28>>2]=d;SA(d)}b=b+-36|0}while((b|0)!=(f|0));b=c[e>>2]|0}c[g>>2]=f;SA(b)}b=c[a+72>>2]|0;if(b|0){c[a+76>>2]=b;SA(b)}b=c[a+64>>2]|0;if((a+48|0)==(b|0)){ma[c[(c[b>>2]|0)+16>>2]&255](b);SA(a);return}if(!b){SA(a);return}ma[c[(c[b>>2]|0)+20>>2]&255](b);SA(a);return}function jo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Dy(a+48|0,c[b+36>>2]|0);return 0}function ko(a,b){a=a|0;b=b|0;var d=0;d=b+12|0;c[a+104>>2]=d;qp(a,d,2,b+48|0);Ey(a+48|0,b+88|0,b+100|0);return 0}function lo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+124;Wy(a+48|0);return 0}function mo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Fy(a+48|0,c[b+60>>2]|0);return 0}function no(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Gy(a+48|0,c[b+60>>2]|0);return 0}function oo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;c[a+104>>2]=b+12;f=c[a+16>>2]|0;d=c[f+64>>2]|0;f=(c[f+68>>2]|0)-d>>2;e=c[b+96>>2]|0;if(e>>>0<f>>>0){Hy(a+48|0,c[b+60>>2]|0,(c[d+(e<<2)>>2]|0)+52|0);aa=h;return 0}else{c[g>>2]=329041;c[g+4>>2]=f;Mn(a,b+72|0,301380,g);aa=h;return 0}return 0}function po(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+104>>2]=b+12;e=a+48|0;Iy(e);a=c[b+36>>2]|0;d=c[b+40>>2]|0;if((a|0)!=(d|0))do{Jy(e,c[a+24>>2]|0);a=a+36|0}while((a|0)!=(d|0));Jy(e,c[b+72>>2]|0);Ky(e);return 0}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;c[a+104>>2]=b+12;f=c[a+16>>2]|0;d=c[f+76>>2]|0;f=(c[f+80>>2]|0)-d>>2;e=c[b+60>>2]|0;if(e>>>0<f>>>0){g=c[d+(e<<2)>>2]|0;Ly(a+48|0,g+52|0,g+64|0);aa=h;return 0}else{c[g>>2]=330059;c[g+4>>2]=f;Mn(a,b+36|0,301380,g);aa=h;return 0}return 0}function ro(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;k=aa;aa=aa+64|0;j=k+8|0;h=k;g=k+16|0;i=d+12|0;c[b+104>>2]=i;e=c[d+124>>2]|0;f=b+16|0;l=c[f>>2]|0;if((c[l+140>>2]|0)-(c[l+136>>2]|0)>>2>>>0<=e>>>0){em(g,17);c[h>>2]=c[g>>2];c[h+4>>2]=e;Mn(b,i,303233,h)}do if(a[d+36>>0]|0){g=c[f>>2]|0;f=c[g+124>>2]|0;g=(c[g+128>>2]|0)-f>>2;e=c[d+64>>2]|0;if(e>>>0<g>>>0){l=c[f+(e<<2)>>2]|0;On(b,i,d+88|0,l+24|0,330059,329141);On(b,i,d+76|0,l+12|0,330059,301344);break}else{c[j>>2]=301454;c[j+4>>2]=g;Mn(b,d+40|0,301380,j);break}}while(0);My(b+48|0,d+76|0,d+88|0);aa=k;return 0}function so(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Py(a+48|0,c[b+36>>2]|0);return 0}function to(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Ry(a+48|0,c[b+60>>2]|0);return 0}function uo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Sy(a+48|0,c[b+36>>2]|0);return 0}function vo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Ty(a+48|0);return 0}function wo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;c[a+104>>2]=b+12;g=a+48|0;f=c[a+16>>2]|0;d=c[f+88>>2]|0;f=(c[f+92>>2]|0)-d>>2;e=c[b+60>>2]|0;if(e>>>0<f>>>0){h=c[(c[d+(e<<2)>>2]|0)+12>>2]|0;Yy(g,h);aa=i;return 0}else{c[h>>2]=329058;c[h+4>>2]=f;Mn(a,b+36|0,301380,h);h=0;Yy(g,h);aa=i;return 0}return 0}function xo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k+8|0;g=k;i=d+12|0;c[b+104>>2]=i;f=c[b+16>>2]|0;e=c[f+88>>2]|0;f=(c[f+92>>2]|0)-e>>2;h=c[d+60>>2]|0;if(h>>>0>=f>>>0){c[g>>2]=329058;c[g+4>>2]=f;Mn(b,d+36|0,301380,g);j=0;b=b+48|0;Zy(b,j);aa=k;return 0}e=c[e+(h<<2)>>2]|0;if(!(a[e+16>>0]|0)){c[j>>2]=h;Mn(b,i,303383,j)}j=c[e+12>>2]|0;b=b+48|0;Zy(b,j);aa=k;return 0}function yo(a,b){a=a|0;b=b|0;var d=0;d=b+12|0;c[a+104>>2]=d;qp(a,d,4,b+48|0);Xy(a+48|0,b+88|0,b+100|0);return 0}function zo(a,b){a=a|0;b=b|0;if(!(c[b+152>>2]|0))return 0;Uy(a+48|0)|0;return 0}function Ao(a,b){a=a|0;b=b|0;c[a+104>>2]=(c[b+152>>2]|0)==0?b+124|0:b+156|0;Wy(a+48|0);return 0}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;j=aa;aa=aa+64|0;i=j+16|0;e=j;f=j+20|0;h=b+12|0;c[a+104>>2]=h;g=b+36|0;d=c[g>>2]|0;k=c[a+16>>2]|0;if((c[k+164>>2]|0)==(c[k+160>>2]|0)){em(f,d);c[e>>2]=c[f>>2];Mn(a,h,302970,e);d=c[g>>2]|0}e=c[b+40>>2]|0;em(f,d);d=c[f+20>>2]|0;if((e|0)==-1){i=a+48|0;k=c[g>>2]|0;_y(i,k);aa=j;return 0}if(!((e|0)!=0&(e+-1&e|0)==0))Mn(a,h,309845,j+8|0);if(e>>>0<=d>>>0){i=a+48|0;k=c[g>>2]|0;_y(i,k);aa=j;return 0}c[i>>2]=d;Mn(a,h,303176,i);i=a+48|0;k=c[g>>2]|0;_y(i,k);aa=j;return 0}function Co(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;$y(a+48|0,rp(a,b+36|0)|0);return 0}function Do(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;az(a+48|0,rp(a,b+36|0)|0);return 0}function Eo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;bz(a+48|0,rp(a,b+36|0)|0);return 0}function Fo(a,b){a=a|0;b=b|0;var d=0;d=b+12|0;c[a+104>>2]=d;qp(a,d,3,b+48|0);cz(a+48|0,b+88|0,b+100|0);return 0}function Go(a,b){a=a|0;b=b|0;c[a+104>>2]=b+124;Wy(a+48|0);return 0}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+4|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+164>>2]|0)!=(c[g+160>>2]|0)){g=a+48|0;dz(g);aa=f;return 0}em(d,199);c[e>>2]=c[d>>2];Mn(a,b,302970,e);g=a+48|0;dz(g);aa=f;return 0}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+64|0;i=j+8|0;h=j;g=j+16|0;f=b+12|0;c[a+104>>2]=f;e=a+16|0;d=c[e>>2]|0;if((c[d+164>>2]|0)==(c[d+160>>2]|0)){em(g,198);c[h>>2]=c[g>>2];Mn(a,f,302970,h);d=c[e>>2]|0}d=(c[d+176>>2]|0)-(c[d+172>>2]|0)>>2;if((c[b+60>>2]|0)>>>0<d>>>0){aa=j;return 0}c[i>>2]=303303;c[i+4>>2]=d;Mn(a,b+36|0,301380,i);aa=j;return 0}function Jo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+4|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+164>>2]|0)!=(c[g+160>>2]|0)){g=a+48|0;ez(g);aa=f;return 0}em(d,200);c[e>>2]=c[d>>2];Mn(a,b,302970,e);g=a+48|0;ez(g);aa=f;return 0}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+4|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+164>>2]|0)!=(c[g+160>>2]|0)){g=a+48|0;fz(g);aa=f;return 0}em(d,51);c[e>>2]=c[d>>2];Mn(a,b,302970,e);g=a+48|0;fz(g);aa=f;return 0}function Lo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+64|0;i=j+8|0;h=j;g=j+16|0;f=b+12|0;c[a+104>>2]=f;e=a+16|0;d=c[e>>2]|0;if((c[d+164>>2]|0)==(c[d+160>>2]|0)){em(g,197);c[h>>2]=c[g>>2];Mn(a,f,302970,h);d=c[e>>2]|0}d=(c[d+176>>2]|0)-(c[d+172>>2]|0)>>2;if((c[b+60>>2]|0)>>>0<d>>>0){i=a+48|0;gz(i);aa=j;return 0}c[i>>2]=303303;c[i+4>>2]=d;Mn(a,b+36|0,301380,i);i=a+48|0;gz(i);aa=j;return 0}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+4|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+164>>2]|0)!=(c[g+160>>2]|0)){g=a+48|0;hz(g);aa=f;return 0}em(d,50);c[e>>2]=c[d>>2];Mn(a,b,302970,e);g=a+48|0;hz(g);aa=f;return 0}function No(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=aa;aa=aa+48|0;e=f;d=f+8|0;b=b+12|0;c[a+104>>2]=b;g=c[a+16>>2]|0;if((c[g+140>>2]|0)!=(c[g+136>>2]|0)){g=a+48|0;iz(g);aa=f;return 0}em(d,203);c[e>>2]=c[d>>2];c[e+4>>2]=0;Mn(a,b,303233,e);g=a+48|0;iz(g);aa=f;return 0}function Oo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+64|0;i=j+8|0;h=j;g=j+16|0;f=b+12|0;c[a+104>>2]=f;e=a+16|0;d=c[e>>2]|0;if((c[d+140>>2]|0)==(c[d+136>>2]|0)){em(g,202);c[h>>2]=c[g>>2];c[h+4>>2]=0;Mn(a,f,303233,h);d=c[e>>2]|0}d=(c[d+152>>2]|0)-(c[d+148>>2]|0)>>2;if((c[b+60>>2]|0)>>>0<d>>>0){aa=j;return 0}c[i>>2]=303290;c[i+4>>2]=d;Mn(a,b+36|0,301380,i);aa=j;return 0}function Po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+64|0;i=j+8|0;h=j;g=j+16|0;f=b+12|0;c[a+104>>2]=f;e=a+16|0;d=c[e>>2]|0;if((c[d+140>>2]|0)==(c[d+136>>2]|0)){em(g,201);c[h>>2]=c[g>>2];c[h+4>>2]=0;Mn(a,f,303233,h);d=c[e>>2]|0}d=(c[d+152>>2]|0)-(c[d+148>>2]|0)>>2;if((c[b+60>>2]|0)>>>0<d>>>0){i=a+48|0;jz(i);aa=j;return 0}c[i>>2]=303290;c[i+4>>2]=d;Mn(a,b+36|0,301380,i);i=a+48|0;jz(i);aa=j;return 0}function Qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=g+8|0;d=b+12|0;c[a+104>>2]=d;b=c[b+60>>2]|0;h=c[a+16>>2]|0;if((c[h+140>>2]|0)-(c[h+136>>2]|0)>>2>>>0>b>>>0){h=a+48|0;kz(h);aa=g;return 0}em(e,204);c[f>>2]=c[e>>2];c[f+4>>2]=b;Mn(a,d,303233,f);h=a+48|0;kz(h);aa=g;return 0}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=g+8|0;d=b+12|0;c[a+104>>2]=d;b=c[b+60>>2]|0;h=c[a+16>>2]|0;if((c[h+140>>2]|0)-(c[h+136>>2]|0)>>2>>>0>b>>>0){h=a+48|0;lz(h);aa=g;return 0}em(e,205);c[f>>2]=c[e>>2];c[f+4>>2]=b;Mn(a,d,303233,f);h=a+48|0;lz(h);aa=g;return 0}function So(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=g+8|0;d=b+12|0;c[a+104>>2]=d;b=c[b+60>>2]|0;h=c[a+16>>2]|0;if((c[h+140>>2]|0)-(c[h+136>>2]|0)>>2>>>0>b>>>0){h=a+48|0;mz(h);aa=g;return 0}em(e,206);c[f>>2]=c[e>>2];c[f+4>>2]=b;Mn(a,d,303233,f);h=a+48|0;mz(h);aa=g;return 0}function To(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;e=g+8|0;d=b+12|0;c[a+104>>2]=d;b=c[b+60>>2]|0;h=c[a+16>>2]|0;if((c[h+140>>2]|0)-(c[h+136>>2]|0)>>2>>>0>b>>>0){h=a+48|0;nz(h);aa=g;return 0}em(e,207);c[f>>2]=c[e>>2];c[f+4>>2]=b;Mn(a,d,303233,f);h=a+48|0;nz(h);aa=g;return 0}function Uo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;oz(a+48|0);return 0}function Vo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;pz(a+48|0);return 0}function Wo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;return 0}function Xo(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;sz(a+48|0);return 0}function Yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;c[a+104>>2]=b+12;f=c[a+16>>2]|0;d=c[f+76>>2]|0;f=(c[f+80>>2]|0)-d>>2;e=c[b+60>>2]|0;if(e>>>0<f>>>0){g=c[d+(e<<2)>>2]|0;Ny(a+48|0,g+52|0,g+64|0);aa=h;return 0}else{c[g>>2]=330059;c[g+4>>2]=f;Mn(a,b+36|0,301380,g);aa=h;return 0}return 0}function Zo(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;k=aa;aa=aa+64|0;j=k+8|0;h=k;g=k+16|0;i=d+12|0;c[b+104>>2]=i;e=c[d+124>>2]|0;f=b+16|0;l=c[f>>2]|0;if((c[l+140>>2]|0)-(c[l+136>>2]|0)>>2>>>0<=e>>>0){em(g,19);c[h>>2]=c[g>>2];c[h+4>>2]=e;Mn(b,i,303233,h)}do if(a[d+36>>0]|0){g=c[f>>2]|0;f=c[g+124>>2]|0;g=(c[g+128>>2]|0)-f>>2;e=c[d+64>>2]|0;if(e>>>0<g>>>0){l=c[f+(e<<2)>>2]|0;On(b,i,d+88|0,l+24|0,330059,329141);On(b,i,d+76|0,l+12|0,330059,301344);break}else{c[j>>2]=301454;c[j+4>>2]=g;Mn(b,d+40|0,301380,j);break}}while(0);Oy(b+48|0,d+76|0,d+88|0);aa=k;return 0}function _o(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;tz(a+48|0);return 0}function $o(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=aa;aa=aa+64|0;i=j+16|0;e=j;f=j+20|0;h=b+12|0;c[a+104>>2]=h;g=b+36|0;d=c[g>>2]|0;k=c[a+16>>2]|0;if((c[k+164>>2]|0)==(c[k+160>>2]|0)){em(f,d);c[e>>2]=c[f>>2];Mn(a,h,302970,e);d=c[g>>2]|0}e=c[b+40>>2]|0;em(f,d);d=c[f+20>>2]|0;if((e|0)==-1){i=a+48|0;k=c[g>>2]|0;uz(i,k);aa=j;return 0}if(!((e|0)!=0&(e+-1&e|0)==0))Mn(a,h,309845,j+8|0);if(e>>>0<=d>>>0){i=a+48|0;k=c[g>>2]|0;uz(i,k);aa=j;return 0}c[i>>2]=d;Mn(a,h,303176,i);i=a+48|0;k=c[g>>2]|0;uz(i,k);aa=j;return 0}function ap(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;wz(a+48|0,c[b+36>>2]|0);return 0}function bp(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;Az(a+48|0);return 0}function cp(a,b){a=a|0;b=b|0;var d=0;d=b+12|0;c[a+104>>2]=d;qp(a,d,6,b+48|0);vz(a+48|0,b+88|0,b+100|0);return 0}function dp(a,b){a=a|0;b=b|0;Qy(a+48|0);return 0}function ep(a,b){a=a|0;b=b|0;c[a+104>>2]=b+124;Wy(a+48|0);return 0}function fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;c[a+104>>2]=b+12;f=c[a+16>>2]|0;d=c[f+64>>2]|0;f=(c[f+68>>2]|0)-d>>2;e=c[b+60>>2]|0;if(e>>>0<f>>>0){rz(a+48|0,(c[d+(e<<2)>>2]|0)+52|0);aa=h;return 0}else{c[g>>2]=329041;c[g+4>>2]=f;Mn(a,b+36|0,301380,g);aa=h;return 0}return 0}function gp(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;qz(a+48|0);return 0}function hp(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){em(i,e);c[h>>2]=c[i>>2];Mn(b,k,303013,h)}}else{em(i,e);c[g>>2]=c[i>>2];Mn(b,k,302970,g)}f=c[d+40>>2]|0;em(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;By(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Mn(b,k,309845,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;By(m,o);aa=n;return 0}c[m>>2]=e;Mn(b,k,303046,m);m=b+48|0;o=c[j>>2]|0;By(m,o);aa=n;return 0}function ip(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){em(i,e);c[h>>2]=c[i>>2];Mn(b,k,303013,h)}}else{em(i,e);c[g>>2]=c[i>>2];Mn(b,k,302970,g)}f=c[d+40>>2]|0;em(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;Cy(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Mn(b,k,309845,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;Cy(m,o);aa=n;return 0}c[m>>2]=e;Mn(b,k,303046,m);m=b+48|0;o=c[j>>2]|0;Cy(m,o);aa=n;return 0}function jp(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){em(i,e);c[h>>2]=c[i>>2];Mn(b,k,303013,h)}}else{em(i,e);c[g>>2]=c[i>>2];Mn(b,k,302970,g)}f=c[d+40>>2]|0;em(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;xy(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Mn(b,k,309845,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;xy(m,o);aa=n;return 0}c[m>>2]=e;Mn(b,k,303046,m);m=b+48|0;o=c[j>>2]|0;xy(m,o);aa=n;return 0}function kp(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){em(i,e);c[h>>2]=c[i>>2];Mn(b,k,303013,h)}}else{em(i,e);c[g>>2]=c[i>>2];Mn(b,k,302970,g)}f=c[d+40>>2]|0;em(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;yy(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Mn(b,k,309845,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;yy(m,o);aa=n;return 0}c[m>>2]=e;Mn(b,k,303046,m);m=b+48|0;o=c[j>>2]|0;yy(m,o);aa=n;return 0}function lp(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;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){em(i,e);c[h>>2]=c[i>>2];Mn(b,k,303013,h)}}else{em(i,e);c[g>>2]=c[i>>2];Mn(b,k,302970,g)}f=c[d+40>>2]|0;em(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;zy(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Mn(b,k,309845,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;zy(m,o);aa=n;return 0}c[m>>2]=e;Mn(b,k,303046,m);m=b+48|0;o=c[j>>2]|0;zy(m,o);aa=n;return 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,m=0,n=0,o=0;n=aa;aa=aa+64|0;m=n+24|0;l=n+16|0;h=n+8|0;g=n;i=n+28|0;k=d+12|0;c[b+104>>2]=k;j=d+36|0;e=c[j>>2]|0;o=c[b+16>>2]|0;f=c[o+160>>2]|0;if((c[o+164>>2]|0)!=(f|0)){if(!(a[(c[f>>2]|0)+33>>0]|0)){em(i,e);c[h>>2]=c[i>>2];Mn(b,k,303013,h)}}else{em(i,e);c[g>>2]=c[i>>2];Mn(b,k,302970,g)}f=c[d+40>>2]|0;em(i,c[j>>2]|0);e=c[i+20>>2]|0;if((f|0)==-1){m=b+48|0;o=c[j>>2]|0;Ay(m,o);aa=n;return 0}if(!((f|0)!=0&(f+-1&f|0)==0))Mn(b,k,309845,l);if((f|0)==(e|0)){m=b+48|0;o=c[j>>2]|0;Ay(m,o);aa=n;return 0}c[m>>2]=e;Mn(b,k,303046,m);m=b+48|0;o=c[j>>2]|0;Ay(m,o);aa=n;return 0}function np(a,b){a=a|0;b=b|0;c[a+104>>2]=b+12;xz(a+48|0,c[b+36>>2]|0);return 0}function op(a,b){a=a|0;b=b|0;var d=0;c[a+104>>2]=b+12;d=b+40|0;yz(a+48|0,c[b+36>>2]|0,c[d>>2]|0,c[d+4>>2]|0);return 0}function pp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aa;aa=aa+16|0;e=d;c[a+104>>2]=b+12;f=c[b+36>>2]|0;b=b+40|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];zz(a+48|0,f,e);aa=d;return 0}function qp(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;n=aa;aa=aa+64|0;m=n+16|0;h=n+8|0;g=n;k=n+24|0;l=f+40|0;if((c[f+44>>2]|0)!=(c[l>>2]|0)?(a[(c[b+4>>2]|0)+6>>0]|0)==0:0){em(k,e);c[g>>2]=c[k>>2];Mn(b,d,303096,g)}j=f+52|0;if((c[f+56>>2]|0)-(c[j>>2]|0)>>2>>>0>1?(a[(c[b+4>>2]|0)+6>>0]|0)==0:0){em(k,e);c[h>>2]=c[k>>2];Mn(b,d,303131,h)}if(!(a[f>>0]|0)){aa=n;return}i=c[b+16>>2]|0;g=c[i+124>>2]|0;i=(c[i+128>>2]|0)-g>>2;h=c[f+28>>2]|0;if(h>>>0<i>>>0){m=c[g+(h<<2)>>2]|0;em(k,e);On(b,d,j,m+24|0,c[k>>2]|0,329141);em(k,e);On(b,d,l,m+12|0,c[k>>2]|0,301344);aa=n;return}else{c[m>>2]=301454;c[m+4>>2]=i;Mn(b,f+4|0,301380,m);aa=n;return}}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,m=0;m=aa;aa=aa+16|0;k=m+8|0;l=m;g=c[b+20>>2]|0;e=c[g+52>>2]|0;j=(c[g+56>>2]|0)-e>>2;h=c[g+76>>2]|0;i=c[g+80>>2]|0;f=j+(Gk(h,i)|0)|0;g=Ik(g,d)|0;if(g>>>0<f>>>0)if(g>>>0<j>>>0){l=c[e+(g<<2)>>2]|0;aa=m;return l|0}else{l=Hk(h,i,g-j|0)|0;aa=m;return l|0}if((c[d+20>>2]|0)!=1){c[k>>2]=f;Mn(b,d,303346,k);l=0;aa=m;return l|0}e=d+24|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[l>>2]=e;Mn(b,d,303316,l);l=0;aa=m;return l|0}function sp(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=aa;aa=aa+160|0;g=k+136|0;e=k+112|0;j=k;c[j>>2]=289480;c[j+4>>2]=d;c[j+8>>2]=b;f=j+12|0;i=j+64|0;c[i>>2]=0;h=j+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[j+104>>2]=0;c[j+108>>2]=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;c[f+24>>2]=0;c[f+28>>2]=0;f=j;d=e+16|0;c[e>>2]=289740;c[e+4>>2]=f;c[d>>2]=e;b=g+16|0;c[b>>2]=g;c[g>>2]=289740;c[g+4>>2]=f;Gn(g,j+48|0);b=c[b>>2]|0;if((g|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);b=c[d>>2]|0;if((e|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);g=Hn(j,a)|0;c[j>>2]=289480;a=j+84|0;e=c[a>>2]|0;if(e|0){f=j+88|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{d=c[b+-20>>2]|0;if(d|0){c[b+-16>>2]=d;SA(d)}d=c[b+-32>>2]|0;if(d|0){c[b+-28>>2]=d;SA(d)}b=b+-36|0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;SA(b)}b=c[h>>2]|0;if(b|0){c[j+76>>2]=b;SA(b)}b=c[i>>2]|0;if((j+48|0)==(b|0)){ma[c[(c[b>>2]|0)+16>>2]&255](b);aa=k;return g|0}if(!b){aa=k;return g|0}ma[c[(c[b>>2]|0)+20>>2]&255](b);aa=k;return g|0}function tp(a){a=a|0;return}function up(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=RA(12)|0;Ul(g,e,f);f=RA(40)|0;c[f>>2]=g;zn(f+4|0,b,d);c[f+16>>2]=1;b=c[f>>2]|0;d=c[b>>2]|0;c[f+20>>2]=d;c[f+24>>2]=d+(c[b+4>>2]|0);c[f+28>>2]=d;c[f+32>>2]=d;c[f+36>>2]=d;c[a>>2]=f;return}function vp(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,I=0,J=0;I=aa;aa=aa+96|0;F=I+72|0;A=I+8|0;z=I;E=I+12|0;p=I+52|0;q=I+32|0;H=d+36|0;l=c[H>>2]|0;B=d+32|0;c[B>>2]=l;g=l;r=d+24|0;k=c[r>>2]|0;a:do if(k>>>0>g>>>0){f=d+16|0;j=d+28|0;D=d+4|0;i=D+11|0;h=d+8|0;n=q+4|0;x=q+8|0;s=q+12|0;v=q+16|0;o=p+4|0;y=p+8|0;t=p+12|0;w=p+16|0;G=k;b:while(1){k=a[g>>0]|0;m=k<<24>>24;c:do switch(m|0){case -1:{k=D;g=D;break a}case 41:{k=13;break b}case 34:{k=28;break b}case 45:case 43:{k=29;break b}case 48:{k=44;break b}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{k=47;break b}case 36:{k=48;break b}case 97:{k=58;break b}case 105:{k=59;break b}case 110:{k=60;break b}case 111:{k=61;break b}case 40:{k=l;if(G>>>0<=k>>>0){k=10;break b}g=k+1|0;c[H>>2]=g;if(!((a[k>>0]|0)==40&g>>>0<G>>>0)){k=11;break b}c[H>>2]=k+2;if((a[g>>0]|0)!=59){k=11;break b}if(!(Ep(d,e)|0)){k=9;break b}break}case 59:{k=l;if(G>>>0>k>>>0){g=k+1|0;c[H>>2]=g;if((a[k>>0]|0)==59&g>>>0<G>>>0?(u=k+2|0,c[H>>2]=u,(a[g>>0]|0)==59):0){if(u>>>0>=G>>>0){g=u;k=19;break b}k=u;d:while(1){g=k+1|0;c[H>>2]=g;switch(a[k>>0]|0){case -1:{k=19;break b}case 10:break d;default:{}}if(g>>>0<G>>>0)k=g;else{k=19;break b}}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=g;break c}c[H>>2]=g}else{c[H>>2]=l;g=l}k=a[i>>0]|0;J=k<<24>>24<0;k=J?c[h>>2]|0:k&255;m=c[f>>2]|0;G=c[j>>2]|0;c[p>>2]=J?c[D>>2]|0:D;c[o>>2]=k;c[y>>2]=m;c[t>>2]=l+1-G;c[w>>2]=1-G+g;c[F>>2]=c[p>>2];c[F+4>>2]=c[p+4>>2];c[F+8>>2]=c[p+8>>2];c[F+12>>2]=c[p+12>>2];c[F+16>>2]=c[p+16>>2];Gp(e,F,303465,z);break}case 10:case 13:case 9:case 32:while(1){switch(k<<24>>24|0){case 13:case 9:case 32:{g=g+1|0;c[H>>2]=g;break}case 10:{g=g+1|0;c[H>>2]=g;c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=g;break}default:break c}if(g>>>0>=G>>>0)break c;k=a[g>>0]|0}default:{if((m+-97|0)>>>0<26){k=63;break b}if(a[15408+(m+1)>>0]&1){k=65;break b}m=a[i>>0]|0;k=m<<24>>24<0;m=k?c[h>>2]|0:m&255;G=c[f>>2]|0;J=l+1-(c[j>>2]|0)|0;c[q>>2]=k?c[D>>2]|0:D;c[n>>2]=m;c[x>>2]=G;c[s>>2]=J;c[v>>2]=J;c[F>>2]=c[q>>2];c[F+4>>2]=c[q+4>>2];c[F+8>>2]=c[q+8>>2];c[F+12>>2]=c[q+12>>2];c[F+16>>2]=c[q+16>>2];Gp(e,F,303465,A)}}while(0);l=c[H>>2]|0;c[B>>2]=l;g=l;k=c[r>>2]|0;if(k>>>0>g>>>0)G=k;else{k=D;g=D;break a}}switch(k|0){case 9:{C=a[i>>0]|0;e=C<<24>>24<0;C=e?c[h>>2]|0:C&255;G=c[f>>2]|0;J=c[j>>2]|0;d=(c[B>>2]|0)+1-J|0;J=1-J+(c[H>>2]|0)|0;c[E>>2]=e?c[D>>2]|0:D;c[E+4>>2]=C;c[E+8>>2]=G;c[E+12>>2]=d;c[E+16>>2]=J;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];c[F+16>>2]=c[E+16>>2];_x(b,F,12);aa=I;return}case 10:{c[H>>2]=l;g=l;break}case 11:{c[H>>2]=g;break}case 13:{J=g+1|0;c[H>>2]=J;G=a[i>>0]|0;C=G<<24>>24<0;G=C?c[h>>2]|0:G&255;H=c[f>>2]|0;d=c[j>>2]|0;c[E>>2]=C?c[D>>2]|0:D;c[E+4>>2]=G;c[E+8>>2]=H;c[E+12>>2]=l+1-d;c[E+16>>2]=1-d+J;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];c[F+16>>2]=c[E+16>>2];_x(b,F,31);aa=I;return}case 19:{H=a[i>>0]|0;G=H<<24>>24<0;H=G?c[h>>2]|0:H&255;d=c[f>>2]|0;J=c[j>>2]|0;c[E>>2]=G?c[D>>2]|0:D;c[E+4>>2]=H;c[E+8>>2]=d;c[E+12>>2]=l+1-J;c[E+16>>2]=1-J+g;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];c[F+16>>2]=c[E+16>>2];_x(b,F,12);aa=I;return}case 28:{wp(b,d,e);aa=I;return}case 29:{i=g+1|0;c[H>>2]=i;f=i;e:do if(i>>>0<G>>>0)switch(a[i>>0]|0){case 105:{xp(b,d);aa=I;return}case 110:{yp(b,d);aa=I;return}case 48:{h=g+2|0;c[H>>2]=h;if((a[i>>0]|0)==48&h>>>0<G>>>0?(c[H>>2]=g+3,(a[h>>0]|0)==120):0){Dp(b,d,44);aa=I;return}c[H>>2]=f;zp(b,d,44);aa=I;return}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{zp(b,d,44);aa=I;return}default:break e}while(0);g=i;f:while(1){h=g>>>0<G>>>0;if(h)f=a[g>>0]|0;else f=-1;while(1){if(!(a[15408+(f+1)>>0]&1))break f;if(h)break;else f=-1}J=g+1|0;c[H>>2]=J;g=J}Ap(b,d,106,0);aa=I;return}case 44:{f=l;if((G>>>0>f>>>0?(C=f+1|0,c[H>>2]=C,(a[f>>0]|0)==48&C>>>0<G>>>0):0)?(c[H>>2]=f+2,(a[C>>0]|0)==120):0){Dp(b,d,45);aa=I;return}c[H>>2]=l;zp(b,d,45);aa=I;return}case 47:{zp(b,d,45);aa=I;return}case 48:{f=g+1|0;c[H>>2]=f;i=0;while(1){g=f>>>0<G>>>0;if(g)h=a[f>>0]|0;else h=-1;if(!(a[15408+(h+1)>>0]&1))break;if(g){f=f+1|0;c[H>>2]=f}i=i+1|0}if(!i){Ap(b,d,106,0);aa=I;return}else{Ap(b,d,108,0);aa=I;return}}case 58:{Bp(b,d,329563,6,104);aa=I;return}case 59:{xp(b,d);aa=I;return}case 60:{yp(b,d);aa=I;return}case 61:{Bp(b,d,329570,7,105);aa=I;return}case 63:{Cp(b,d);aa=I;return}case 65:{g:while(1){h=g>>>0<G>>>0;if(h)f=a[g>>0]|0;else f=-1;while(1){if(!(a[15408+(f+1)>>0]&1))break g;if(h)break;else f=-1}J=g+1|0;c[H>>2]=J;g=J}Ap(b,d,106,0);aa=I;return}}H=a[i>>0]|0;G=H<<24>>24<0;H=G?c[h>>2]|0:H&255;d=c[f>>2]|0;J=c[j>>2]|0;c[E>>2]=G?c[D>>2]|0:D;c[E+4>>2]=H;c[E+8>>2]=d;c[E+12>>2]=l+1-J;c[E+16>>2]=1-J+g;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];c[F+16>>2]=c[E+16>>2];_x(b,F,21);aa=I;return}else{g=d+4|0;j=d+28|0;k=g;i=g+11|0;h=d+8|0;f=d+16|0}while(0);H=a[i>>0]|0;G=H<<24>>24<0;H=G?c[h>>2]|0:H&255;d=c[f>>2]|0;J=l+1-(c[j>>2]|0)|0;c[E>>2]=G?c[k>>2]|0:g;c[E+4>>2]=H;c[E+8>>2]=d;c[E+12>>2]=J;c[E+16>>2]=J;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];c[F+16>>2]=c[E+16>>2];_x(b,F,12);aa=I;return}function wp(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,I=0,J=0;H=aa;aa=aa+96|0;G=H+76|0;C=H+8|0;B=H;F=H+16|0;x=H+56|0;y=H+36|0;A=d+36|0;f=c[A>>2]|0;z=d+24|0;g=c[z>>2]|0;if(f>>>0<g>>>0){j=f+1|0;c[A>>2]=j}else j=f;a:do if(j>>>0<g>>>0){m=d+32|0;E=d+4|0;i=E+11|0;h=d+8|0;f=d+16|0;l=d+28|0;q=x+4|0;w=x+8|0;s=x+12|0;u=x+16|0;p=y+4|0;v=y+8|0;r=y+12|0;t=y+16|0;o=g;b:while(1){k=j+1|0;c[A>>2]=k;g=k;c:do switch(a[j>>0]|0){case -1:{j=g;k=E;g=E;break a}case 34:break b;case 10:{c[m>>2]=j;k=a[i>>0]|0;I=k<<24>>24<0;k=I?c[h>>2]|0:k&255;n=c[f>>2]|0;o=c[l>>2]|0;c[x>>2]=I?c[E>>2]|0:E;c[q>>2]=k;c[w>>2]=n;c[s>>2]=j+1-o;c[u>>2]=1-o+g;c[G>>2]=c[x>>2];c[G+4>>2]=c[x+4>>2];c[G+8>>2]=c[x+8>>2];c[G+12>>2]=c[x+12>>2];c[G+16>>2]=c[x+16>>2];Gp(e,G,309191,B);c[f>>2]=(c[f>>2]|0)+1;g=c[A>>2]|0;c[l>>2]=g;j=g;break}case 92:{d:do if(k>>>0<o>>>0){n=j+2|0;c[A>>2]=n;g=n;switch(a[k>>0]|0){case 92:case 39:case 34:case 114:case 110:case 116:{j=n;break c}case 70:case 69:case 68:case 67:case 66:case 65:case 102:case 101:case 100:case 99:case 98:case 97:case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:break;default:{j=k;D=17;break d}}if(n>>>0<o>>>0){g=j+3|0;c[A>>2]=g;j=g;k=a[n>>0]|0}else{j=n;k=-1}if(a[15408+(k+1)>>0]&4)break c;j=j+-3|0}else D=17;while(0);if((D|0)==17){D=0;j=j+-1|0}c[m>>2]=j;I=j;k=a[i>>0]|0;J=k<<24>>24<0;k=J?c[h>>2]|0:k&255;n=c[f>>2]|0;o=c[l>>2]|0;c[y>>2]=J?c[E>>2]|0:E;c[p>>2]=k;c[v>>2]=n;c[r>>2]=I+1-o;c[t>>2]=1-o+g;c[C>>2]=g-I;c[C+4>>2]=j;c[G>>2]=c[y>>2];c[G+4>>2]=c[y+4>>2];c[G+8>>2]=c[y+8>>2];c[G+12>>2]=c[y+12>>2];c[G+16>>2]=c[y+16>>2];Gp(e,G,309209,C);g=c[A>>2]|0;j=g;break}default:j=k}while(0);o=c[z>>2]|0;if(j>>>0>=o>>>0){j=g;k=E;g=E;break a}}Ap(b,d,107,0);aa=H;return}else{g=d+4|0;m=d+32|0;l=d+28|0;k=g;i=g+11|0;h=d+8|0;f=d+16|0}while(0);E=a[i>>0]|0;D=E<<24>>24<0;E=D?c[h>>2]|0:E&255;d=c[f>>2]|0;J=c[l>>2]|0;I=(c[m>>2]|0)+1-J|0;c[F>>2]=D?c[k>>2]|0:g;c[F+4>>2]=E;c[F+8>>2]=d;c[F+12>>2]=I;c[F+16>>2]=1-J+j;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];c[G+16>>2]=c[F+16>>2];_x(b,G,12);aa=H;return}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=d+36|0;e=c[k>>2]|0;f=e;j=c[d+24>>2]|0;if(((j>>>0>f>>>0?(g=f+1|0,c[k>>2]=g,(a[f>>0]|0)==105&g>>>0<j>>>0):0)?(h=f+2|0,c[k>>2]=h,(a[g>>0]|0)==110&h>>>0<j>>>0):0)?(i=f+3|0,c[k>>2]=i,(a[h>>0]|0)==102):0){f=i;e=i;i=0;while(1){g=e>>>0<j>>>0;if(g)h=a[e>>0]|0;else h=-1;if(!(a[15408+(h+1)>>0]&1))break;if(g){e=e+1|0;c[k>>2]=e;f=e}i=i+1|0}if(!i){Fp(b,d,43,3);return}a:while(1){g=f>>>0<j>>>0;if(g)e=a[f>>0]|0;else e=-1;while(1){if(!(a[15408+(e+1)>>0]&1))break a;if(g)break;else e=-1}i=f+1|0;c[k>>2]=i;f=i}Ap(b,d,106,0);return}c[k>>2]=e;Cp(b,d);return}function yp(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;m=d+36|0;f=c[m>>2]|0;j=f;l=c[d+24>>2]|0;a:do if(((l>>>0>j>>>0?(g=j+1|0,c[m>>2]=g,(a[j>>0]|0)==110&g>>>0<l>>>0):0)?(h=j+2|0,c[m>>2]=h,(a[g>>0]|0)==97&h>>>0<l>>>0):0)?(i=j+3|0,c[m>>2]=i,(a[h>>0]|0)==110):0){if(i>>>0<l>>>0?(a[i>>0]|0)==58:0){g=j+4|0;c[m>>2]=g;f=g;if((g>>>0<l>>>0?(k=j+5|0,c[m>>2]=k,(a[g>>0]|0)==48&k>>>0<l>>>0):0)?(e=j+6|0,c[m>>2]=e,(a[k>>0]|0)==120):0){while(1){f=e>>>0<l>>>0;if(f)g=(a[e>>0]|0)+1|0;else g=0;if(!(a[15408+g>>0]&4))break a;if(f){e=e+1|0;c[m>>2]=e}do if(e>>>0<l>>>0){f=a[e>>0]|0;if(f<<24>>24==95){e=e+1|0;c[m>>2]=e;break}else{f=(f<<24>>24)+1|0;n=17;break}}else{f=0;n=17}while(0);if((n|0)==17){n=0;if(!(a[15408+f>>0]&4))break}}h=0;while(1){f=e>>>0<l>>>0;if(f)g=a[e>>0]|0;else g=-1;if(!(a[15408+(g+1)>>0]&1))break;if(f){e=e+1|0;c[m>>2]=e}h=h+1|0}if(h|0)break;Fp(b,d,43,4);return}c[m>>2]=f;break}e=i;h=0;while(1){f=e>>>0<l>>>0;if(f)g=a[e>>0]|0;else g=-1;if(!(a[15408+(g+1)>>0]&1))break;if(f){e=e+1|0;c[m>>2]=e}h=h+1|0}if(!h){Fp(b,d,43,4);return}}else n=3;while(0);if((n|0)==3)c[m>>2]=f;Cp(b,d);return}function zp(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=d+36|0;f=c[k>>2]|0;j=c[d+24>>2]|0;a:do if(f>>>0<j>>>0){while(1){if(((a[f>>0]|0)+-48|0)>>>0>=10)break a;h=f+1|0;c[k>>2]=h;if(h>>>0>=j>>>0){f=h;break}g=a[h>>0]|0;if(g<<24>>24!=95)if(((g<<24>>24)+-48|0)>>>0<10)f=h;else{i=9;break}else{f=f+2|0;c[k>>2]=f}if(f>>>0>=j>>>0)break a}b:do if((i|0)==9)if(g<<24>>24==46){f=f+2|0;c[k>>2]=f;if(f>>>0<j>>>0?((a[f>>0]|0)+-48|0)>>>0<10:0){e=f;while(1){f=e+1|0;c[k>>2]=f;if(f>>>0>=j>>>0){e=43;break b}g=a[f>>0]|0;if(g<<24>>24!=95){if(((g<<24>>24)+-48|0)>>>0>=10){e=43;break b}}else{f=e+2|0;c[k>>2]=f}if(f>>>0>=j>>>0)break;if(((a[f>>0]|0)+-48|0)>>>0<10)e=f;else break}c:while(1){g=f>>>0<j>>>0;if(g)e=a[f>>0]|0;else e=-1;while(1){if(!(a[15408+(e+1)>>0]&1))break c;if(g)break;else e=-1}i=f+1|0;c[k>>2]=i;f=i}Ap(b,d,106,0);return}else e=43}else f=h;while(0);d:do if(f>>>0<j>>>0){switch(a[f>>0]|0){case 69:case 101:break;default:break d}e=f+1|0;c[k>>2]=e;e:do if(e>>>0<j>>>0){switch(a[e>>0]|0){case 45:case 43:break;default:{f=e;break e}}f=f+2|0;c[k>>2]=f}else f=e;while(0);f:do if(f>>>0<j>>>0){e=f;while(1){if(((a[e>>0]|0)+-48|0)>>>0>=10){f=e;break f}f=e+1|0;c[k>>2]=f;if(f>>>0>=j>>>0){e=43;break d}g=a[f>>0]|0;if(g<<24>>24!=95){if(((g<<24>>24)+-48|0)>>>0>=10){e=43;break d}}else{f=e+2|0;c[k>>2]=f}if(f>>>0<j>>>0)e=f;else break}}while(0);g:while(1){g=f>>>0<j>>>0;if(g)e=a[f>>0]|0;else e=-1;while(1){if(!(a[15408+(e+1)>>0]&1))break g;if(g)break;else e=-1}i=f+1|0;c[k>>2]=i;f=i}Ap(b,d,106,0);return}while(0);i=0;while(1){g=f>>>0<j>>>0;if(g)h=a[f>>0]|0;else h=-1;if(!(a[15408+(h+1)>>0]&1))break;if(g){f=f+1|0;c[k>>2]=f}i=i+1|0}if(!i)if((e|0)==43){Fp(b,d,43,1);return}else{Fp(b,d,e,0);return}}while(0);h:while(1){g=f>>>0<j>>>0;if(g)e=a[f>>0]|0;else e=-1;while(1){if(!(a[15408+(e+1)>>0]&1))break h;if(g)break;else e=-1}i=f+1|0;c[k>>2]=i;f=i}Ap(b,d,106,0);return}function Ap(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;m=aa;aa=aa+64|0;j=m+32|0;i=m;k=m+20|0;p=d+4|0;o=a[p+11>>0]|0;q=o<<24>>24<0;o=q?c[d+8>>2]|0:o&255;n=c[d+16>>2]|0;h=c[d+32>>2]|0;g=c[d+28>>2]|0;d=c[d+36>>2]|0;c[i>>2]=q?c[p>>2]|0:p;c[i+4>>2]=o;c[i+8>>2]=n;c[i+12>>2]=h+1-g;c[i+16>>2]=1-g+d;g=h+f|0;h=d-h-f|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;if(h>>>0>4294967279)TA();if(h>>>0<11){d=k+11|0;a[d>>0]=h;if(!h)f=k;else{f=k;l=6}}else{d=h+16&-16;f=RA(d)|0;c[k>>2]=f;c[k+8>>2]=d|-2147483648;c[k+4>>2]=h;d=k+11|0;l=6}if((l|0)==6)jC(f|0,g|0,h|0)|0;a[f+h>>0]=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];ay(b,j,e,k);if((a[d>>0]|0)>=0){aa=m;return}SA(c[k>>2]|0);aa=m;return}function Bp(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;p=d+36|0;i=c[p>>2]|0;m=e+f|0;h=i;o=c[d+24>>2]|0;do if(f){j=i;while(1){k=a[e>>0]|0;if(h>>>0<o>>>0){j=h+1|0;c[p>>2]=j;l=j;h=a[h>>0]|0}else{l=h;h=-1}e=e+1|0;if((h|0)!=(k<<24>>24|0)){k=7;break}if((e|0)==(m|0)){k=8;break}else h=l}if((k|0)==7){c[p>>2]=i;break}else if((k|0)==8){h=j;i=j;k=9;break}}else k=9;while(0);a:do if((k|0)==9){if(h>>>0>=o>>>0){c[p>>2]=i;break}e=h+1|0;c[p>>2]=e;if((a[h>>0]|0)==48&e>>>0<o>>>0?(n=h+2|0,c[p>>2]=n,(a[e>>0]|0)==120):0){h=n;i=n;while(1){e=i>>>0<o>>>0;if(e)j=(a[i>>0]|0)+1|0;else j=0;if(!(a[15408+j>>0]&4))break a;if(e){e=i+1|0;c[p>>2]=e;h=e}else e=i;do if(e>>>0<o>>>0){i=a[e>>0]|0;if(i<<24>>24==95){h=e+1|0;c[p>>2]=h;i=h;break}else{i=(i<<24>>24)+1|0;k=20;break}}else{i=0;k=20}while(0);if((k|0)==20){k=0;if(!(a[15408+i>>0]&4))break;else i=e}}j=0;while(1){i=h>>>0<o>>>0;if(i)e=a[h>>0]|0;else e=-1;if(!(a[15408+(e+1)>>0]&1))break;if(i){h=h+1|0;c[p>>2]=h}j=j+1|0}if(j|0)break;Ap(b,d,g,f);return}c[p>>2]=i;while(1){if(((a[h>>0]|0)+-48|0)>>>0>=10)break a;e=h+1|0;c[p>>2]=e;if(e>>>0>=o>>>0)break;i=a[e>>0]|0;if(i<<24>>24!=95)if(((i<<24>>24)+-48|0)>>>0<10)h=e;else break;else{h=h+2|0;c[p>>2]=h}if(h>>>0>=o>>>0)break a}h=e;j=0;while(1){i=h>>>0<o>>>0;if(i)e=a[h>>0]|0;else e=-1;if(!(a[15408+(e+1)>>0]&1))break;if(i){h=h+1|0;c[p>>2]=h}j=j+1|0}if(!j){Ap(b,d,g,f);return}}while(0);Cp(b,d);return} +function Ur(a){a=a|0;var b=0;c[a>>2]=290324;b=c[a+12>>2]|0;if(b|0){c[a+16>>2]=b;SA(b)}a=a+8|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;ma[c[(c[b>>2]|0)+4>>2]&255](b);return}function Vr(a){a=a|0;var b=0,d=0;c[a>>2]=290324;b=c[a+12>>2]|0;if(b|0){c[a+16>>2]=b;SA(b)}d=a+8|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){SA(a);return}ma[c[(c[b>>2]|0)+4>>2]&255](b);SA(a);return}function Wr(b){b=b|0;var d=0;c[b>>2]=290340;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function Xr(b){b=b|0;var d=0,e=0;c[b>>2]=290340;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){SA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);SA(b);return}function Yr(b){b=b|0;var d=0;c[b>>2]=290356;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function Zr(b){b=b|0;var d=0,e=0;c[b>>2]=290356;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){SA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);SA(b);return}function _r(b){b=b|0;var d=0;c[b>>2]=290372;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);b=b+8|0;d=c[b>>2]|0;c[b>>2]=0;if(!d)return;ma[c[(c[d>>2]|0)+4>>2]&255](d);return}function $r(b){b=b|0;var d=0,e=0;c[b>>2]=290372;d=b+12|0;if((a[d+11>>0]|0)<0)SA(c[d>>2]|0);e=b+8|0;d=c[e>>2]|0;c[e>>2]=0;if(!d){SA(b);return}ma[c[(c[d>>2]|0)+4>>2]&255](d);SA(b);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;i=aa;aa=aa+112|0;h=i;c[h>>2]=a;c[h+4>>2]=-1;c[h+8>>2]=d;c[h+12>>2]=e;e=h+16|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;e=h+56|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;g=h+96|0;c[g>>2]=0;f=h+100|0;c[f>>2]=0;a=vq(h,b)|0;d=c[g>>2]|0;if(!d){fy(e);h=h+16|0;fy(h);aa=i;return a|0}do{b=h+16+((d+1+(c[f>>2]|0)&1)*40|0)|0;fy(b);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;d=(c[g>>2]|0)+-1|0;c[g>>2]=d}while((d|0)!=0);fy(e);h=h+16|0;fy(h);aa=i;return a|0}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;i=aa;aa=aa+112|0;h=i;c[h>>2]=a;c[h+4>>2]=-1;c[h+8>>2]=d;c[h+12>>2]=e;e=h+16|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;e=h+56|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;g=h+96|0;c[g>>2]=0;f=h+100|0;c[f>>2]=0;a=jr(h,b)|0;d=c[g>>2]|0;if(!d){fy(e);h=h+16|0;fy(h);aa=i;return a|0}do{b=h+16+((d+1+(c[f>>2]|0)&1)*40|0)|0;fy(b);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;d=(c[g>>2]|0)+-1|0;c[g>>2]=d}while((d|0)!=0);fy(e);h=h+16|0;fy(h);aa=i;return a|0}function cs(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,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=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;sa=aa;aa=aa+336|0;ka=sa+104|0;ja=sa+96|0;ia=sa+88|0;ha=sa+80|0;ga=sa+72|0;fa=sa+64|0;ea=sa+56|0;da=sa+48|0;ca=sa+40|0;na=sa+32|0;ma=sa+24|0;la=sa+16|0;ba=sa+8|0;$=sa;W=sa+320|0;oa=sa+280|0;X=sa+264|0;ra=sa+108|0;c[ra>>2]=e;Y=ra+4|0;V=ra+8|0;c[V>>2]=0;Z=ra+12|0;c[Z>>2]=b;S=ra+16|0;m=ra+56|0;c[m>>2]=0;n=ra+60|0;c[n>>2]=0;qa=ra+56|0;b=ra+52|0;f=S;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[b>>2]=qa;f=ra+64|0;h=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[Y>>2]=d;if((a[e+1>>0]|0)!=0?(i=c[d+112>>2]|0,o=c[d+116>>2]|0,(i|0)!=(o|0)):0){l=ra+52|0;do{h=c[i>>2]|0;if(!(a[e+2>>0]|0)){b=h;f=c[b+12>>2]|0;if(!(Ek(c[Y>>2]|0,f,b+16|0)|0)){k=f;pa=7}}else{k=h;b=k;k=c[k+12>>2]|0;pa=7}a:do if((pa|0)==7){pa=0;switch(k|0){case 0:{j=wk(c[Y>>2]|0,b+16|0)|0;break}case 1:{j=yk(c[Y>>2]|0,b+16|0)|0;break}case 2:{j=zk(c[Y>>2]|0,b+16|0)|0;break}case 3:{j=xk(c[Y>>2]|0,b+16|0)|0;break}case 4:{j=Bk(c[Y>>2]|0,b+16|0)|0;break}default:break a}if((j|0)!=-1){e=RA(28)|0;b=e+16|0;c[b>>2]=k;c[b+4>>2]=j;c[e+24>>2]=h;b=c[qa>>2]|0;do if(b){b:while(1){f=c[b+16>>2]|0;do if((f|0)<=(k|0)){if((f|0)>=(k|0)?(c[b+20>>2]|0)>>>0>j>>>0:0){pa=19;break}f=b+4|0;h=c[f>>2]|0;if(!h){pa=22;break b}else b=h}else pa=19;while(0);if((pa|0)==19){pa=0;f=c[b>>2]|0;if(!f){pa=20;break}else b=f}}if((pa|0)==20){pa=0;h=b;f=b;break}else if((pa|0)==22){pa=0;h=b;break}}else{h=qa;f=qa}while(0);c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=h;c[f>>2]=e;b=c[c[l>>2]>>2]|0;if(b){c[l>>2]=b;e=c[f>>2]|0}ds(c[m>>2]|0,e);c[n>>2]=(c[n>>2]|0)+1;e=c[ra>>2]|0}}while(0);i=i+4|0}while((i|0)!=(o|0))}if(a[e+2>>0]|0?(p=c[Y>>2]|0,g=c[p+100>>2]|0,p=c[p+104>>2]|0,(g|0)!=(p|0)):0)do{e=c[g>>2]|0;c[W>>2]=e;b=c[e+28>>2]|0;h=ra+64+(b*12|0)+4|0;f=c[h>>2]|0;if((f|0)==(c[ra+64+(b*12|0)+8>>2]|0))es(ra+64+(b*12|0)|0,W);else{c[f>>2]=e;c[h>>2]=(c[h>>2]|0)+4}g=g+4|0}while((g|0)!=(p|0));fs(ra);un(c[Z>>2]|0,329085,1,0,0);R=ra+24|0;c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329094,6,0,0);c[R>>2]=1;Q=ra+20|0;c[Q>>2]=(c[Q>>2]|0)+2;b=d+20|0;e=a[b+11>>0]|0;f=e<<24>>24<0;e=f?c[d+24>>2]|0:e&255;if(!e)c[R>>2]=2;else gs(ra,f?c[b>>2]|0:b,e,2);e=c[d+32>>2]|0;c:do if(e|0){y=X+4|0;F=X+8|0;O=ra+132|0;K=ra+152|0;J=ra+148|0;M=ra+140|0;N=ra+28|0;A=ra+32|0;G=ra+36|0;E=W+11|0;P=W+4|0;u=oa+28|0;v=oa+16|0;x=oa+32|0;L=ra+40|0;C=W+4|0;I=W+8|0;D=ra+44|0;H=ra+48|0;w=oa+4|0;z=oa+20|0;B=oa+8|0;d:while(1){e:do switch(c[e+32>>2]|0){case 0:{s=e;t=s+36|0;hs(ra,t);c[X>>2]=0;c[y>>2]=0;c[F>>2]=0;q=s+88|0;d=s+92|0;n=s+112|0;o=s+116|0;ul(((c[d>>2]|0)-(c[q>>2]|0)>>2)+(Gk(c[n>>2]|0,c[o>>2]|0)|0)|0,s+124|0,X);b=c[s+88>>2]|0;m=c[d>>2]|0;if((b|0)!=(m|0)){l=c[X>>2]|0;k=0;f=0;while(1){j=c[b>>2]|0;if(!f){fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329112,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2}h=l+(k*12|0)|0;g=h+11|0;f=a[g>>0]|0;i=f<<24>>24<0;if(i)f=c[l+(k*12|0)+4>>2]|0;else f=f&255;if(f|0){p=i?c[h>>2]|0:h;r=Lz(p)|0;fs(ra);un(c[Z>>2]|0,p,r,0,0);c[R>>2]=1}is(ra,j,1);f=a[g>>0]|0;if(f<<24>>24<0)f=c[l+(k*12|0)+4>>2]|0;else f=f&255;if(!f)f=1;else{if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=1;f=0}b=b+4|0;if((b|0)==(m|0))break;else k=k+1|0}if(f){if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=1}}r=s+100|0;js(ra,r,329141);if((c[R>>2]|0)==3)fs(ra);c[R>>2]=2;f=c[n>>2]|0;p=c[o>>2]|0;b=f;do if(Gk(f,p)|0?(_=(c[d>>2]|0)-(c[q>>2]|0)>>2,(p|0)!=(f|0)):0){o=c[X>>2]|0;n=f;l=0;m=0;f=0;while(1){j=c[n>>2]|0;if(!f){fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329079,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2}k=m+_|0;h=o+(k*12|0)|0;g=h+11|0;f=a[g>>0]|0;i=f<<24>>24<0;if(i)f=c[o+(k*12|0)+4>>2]|0;else f=f&255;if(f|0){d=i?c[h>>2]|0:h;q=Lz(d)|0;fs(ra);un(c[Z>>2]|0,d,q,0,0);c[R>>2]=1}is(ra,j,1);f=a[g>>0]|0;if(f<<24>>24<0)f=c[o+(k*12|0)+4>>2]|0;else f=f&255;if(!f)f=1;else{if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=1;f=0}q=l+1|0;d=q>>>0<(c[n+4>>2]|0)>>>0;b=d?b:n+8|0;l=d?q:0;n=b;if(!((l|0)!=0|(p|0)!=(n|0)))break;else m=m+1|0}b=c[R>>2]|0;if(!f){if((b|0)!=3)break;fs(ra);break}if((b|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=1}while(0);c[R>>2]=2;h=c[N>>2]|0;b=c[A>>2]|0;if((b|0)!=(h|0))do{f=c[b+-12>>2]|0;if(f|0){c[b+-8>>2]=f;SA(f)}f=c[b+-24>>2]|0;if(f|0){c[b+-20>>2]=f;SA(f)}b=b+-40|0;if((a[b+11>>0]|0)<0)SA(c[b>>2]|0)}while((b|0)!=(h|0));c[A>>2]=h;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;q=c[G>>2]|0;f=q;if(h>>>0>=q>>>0){g=c[N>>2]|0;h=(h-g|0)/40|0;b=h+1|0;if(b>>>0>107374182){pa=107;break d}d=(f-g|0)/40|0;q=d<<1;b=d>>>0<53687091?(q>>>0<b>>>0?b:q):107374182;if(!b)g=0;else{if(b>>>0>107374182){pa=110;break d}g=RA(b*40|0)|0}f=g+(h*40|0)|0;m=g+(b*40|0)|0;VA(f,W);b=g+(h*40|0)+12|0;l=g+(h*40|0)+28|0;k=g+(h*40|0)+32|0;j=g+(h*40|0)+36|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;c[b+24>>2]=0;b=c[r>>2]|0;i=(c[s+104>>2]|0)-b|0;h=i>>2;if(i|0){if(h>>>0>1073741823){pa=114;break d}g=RA(i)|0;c[k>>2]=g;c[l>>2]=g;c[j>>2]=g+(h<<2);if((i|0)>0){jC(g|0,b|0,i|0)|0;c[k>>2]=g+(i>>>2<<2)}}h=f+40|0;g=c[N>>2]|0;b=c[A>>2]|0;if((b|0)==(g|0)){b=f;i=g;f=g}else{do{p=f;f=f+-40|0;d=b;b=b+-40|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[p+-28>>2]=c[d+-28>>2];r=p+-24|0;q=d+-24|0;c[r>>2]=0;o=p+-20|0;c[o>>2]=0;n=p+-16|0;c[n>>2]=0;c[r>>2]=c[q>>2];r=d+-20|0;c[o>>2]=c[r>>2];o=d+-16|0;c[n>>2]=c[o>>2];c[o>>2]=0;c[r>>2]=0;c[q>>2]=0;q=p+-12|0;r=d+-12|0;c[q>>2]=0;o=p+-8|0;c[o>>2]=0;p=p+-4|0;c[p>>2]=0;c[q>>2]=c[r>>2];q=d+-8|0;c[o>>2]=c[q>>2];d=d+-4|0;c[p>>2]=c[d>>2];c[d>>2]=0;c[q>>2]=0;c[r>>2]=0}while((b|0)!=(g|0));b=f;i=c[N>>2]|0;f=c[A>>2]|0}c[N>>2]=b;c[A>>2]=h;c[G>>2]=m;g=i;if((f|0)!=(g|0))do{b=c[f+-12>>2]|0;if(b|0){c[f+-8>>2]=b;SA(b)}b=c[f+-24>>2]|0;if(b|0){c[f+-20>>2]=b;SA(b)}f=f+-40|0;if((a[f+11>>0]|0)<0)SA(c[f>>2]|0)}while((f|0)!=(g|0));if(i|0)SA(i)}else{VA(h,W);b=h+12|0;j=h+28|0;k=h+32|0;f=h+36|0;h=s+104|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;c[b+24>>2]=0;b=(c[h>>2]|0)-(c[r>>2]|0)|0;g=b>>2;if(b|0){if(g>>>0>1073741823){pa=102;break d}i=RA(b)|0;c[k>>2]=i;c[j>>2]=i;c[f>>2]=i+(g<<2);f=c[r>>2]|0;b=(c[h>>2]|0)-f|0;if((b|0)>0){jC(i|0,f|0,b|0)|0;c[k>>2]=i+(b>>>2<<2)}}c[A>>2]=(c[A>>2]|0)+40}if((a[E>>0]|0)<0)SA(c[W>>2]|0);c[V>>2]=t;b=s+144|0;if(!(a[c[ra>>2]>>0]|0)){c[W>>2]=290388;c[P>>2]=ra;Bj(oa,W);Ij(oa,b)|0;b=c[u>>2]|0;if(b|0){c[x>>2]=b;SA(b)}b=c[v>>2]|0;if(b|0){c[z>>2]=b;SA(b)}b=c[w>>2]|0;if(b|0){c[B>>2]=b;SA(b)}}else{b=c[b>>2]|0;if(b|0)do{ks(ra,b);b=c[b+4>>2]|0}while((b|0)!=0);t=c[L>>2]|0;c[W>>2]=t;s=c[D>>2]|0;c[C>>2]=s;c[I>>2]=c[H>>2];b=t;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;ls(ra,b,s);if(t|0){ms(W,b);SA(c[W>>2]|0)}}c[V>>2]=0;if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;f=c[X>>2]|0;if(f|0){b=c[y>>2]|0;if((b|0)!=(f|0))do{b=b+-12|0;if((a[b+11>>0]|0)<0)SA(c[b>>2]|0)}while((b|0)!=(f|0));c[y>>2]=f;SA(f)}break}case 1:{t=e;ns(ra,t+36|0);os(ra,t+56|0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;break}case 2:{h=c[e+36>>2]|0;if(!(a[(c[ra>>2]|0)+2>>0]|0)){fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329065,6,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;s=h+4|0;r=a[s+11>>0]|0;t=r<<24>>24<0;ps(ra,t?c[s>>2]|0:s,t?c[h+8>>2]|0:r&255);c[R>>2]=1;r=h+16|0;t=a[r+11>>0]|0;s=t<<24>>24<0;ps(ra,s?c[r>>2]|0:r,s?c[h+20>>2]|0:t&255);c[R>>2]=1}switch(c[h+28>>2]|0){case 0:{hs(ra,h+32|0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=1;b=1;break}case 1:{f=h+32|0;fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329163,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;b=a[f+11>>0]|0;g=b<<24>>24<0;b=g?c[h+36>>2]|0:b&255;if(!b){c[$>>2]=c[O>>2];qs(ra,311831,$)}else gs(ra,g?c[f>>2]|0:f,b,1);rs(ra,1,c[O>>2]|0);ss(ra,1,c[O>>2]|0);b=h+48|0;r=b;s=c[r+4>>2]|0;t=ba;c[t>>2]=c[r>>2];c[t+4>>2]=s;qs(ra,311838,ba);if(a[b+16>>0]|0){r=h+56|0;s=c[r+4>>2]|0;t=la;c[t>>2]=c[r>>2];c[t+4>>2]=s;qs(ra,311838,la)}if(a[b+17>>0]|0)qs(ra,329150,ma);is(ra,c[h+72>>2]|0,0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;c[O>>2]=(c[O>>2]|0)+1;b=2;break}case 2:{ts(ra,h+32|0);pa=183;break}case 3:{ns(ra,h+32|0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=1;b=1;break}case 4:{us(ra,h+32|0);pa=183;break}default:pa=183}if((pa|0)==183){pa=0;b=c[R>>2]|0}b=(b|0)==3;if(a[(c[ra>>2]|0)+2>>0]|0){if(b)fs(ra)}else{if(!b)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0)}c[R>>2]=2;break}case 10:{us(ra,e+36|0);break}case 3:{j=e;l=j+36|0;i=j+48|0;if(a[(c[ra>>2]|0)+1>>0]|0){k=c[i>>2]|0;switch(k|0){case 0:{m=wk(c[Y>>2]|0,j+52|0)|0;break}case 1:{m=yk(c[Y>>2]|0,j+52|0)|0;break}case 2:{m=zk(c[Y>>2]|0,j+52|0)|0;break}case 3:{m=xk(c[Y>>2]|0,j+52|0)|0;break}case 4:{m=Bk(c[Y>>2]|0,j+52|0)|0;break}default:m=0}b=c[qa>>2]|0;if(b|0){h=qa;while(1){f=c[b+16>>2]|0;do if((f|0)<(k|0)){g=b+4|0;f=h}else{if((k|0)>=(f|0)?(c[b+20>>2]|0)>>>0<m>>>0:0){g=b+4|0;f=h;break}g=b;f=b}while(0);b=c[g>>2]|0;if(!b)break;else h=f}if((f|0)!=(qa|0)?(T=c[f+16>>2]|0,(k|0)>=(T|0)):0){if((T|0)<(k|0))break e;if(m>>>0>=(c[f+20>>2]|0)>>>0)break e}}}fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329047,6,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;s=a[l+11>>0]|0;t=s<<24>>24<0;ps(ra,t?c[l>>2]|0:l,t?c[j+40>>2]|0:s&255);c[R>>2]=1;s=c[64+(c[i>>2]<<2)>>2]|0;fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;t=Lz(s)|0;fs(ra);un(c[Z>>2]|0,s,t,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;if(c[j+72>>2]|0){r=j+76|0;t=a[r+11>>0]|0;s=t<<24>>24<0;gs(ra,s?c[r>>2]|0:r,s?c[j+80>>2]|0:t&255,1);if((c[R>>2]|0)!=3)pa=214}else{c[na>>2]=c[j+76>>2];qs(ra,330374,na);c[R>>2]=1;pa=214}if((pa|0)==214){pa=0;c[R>>2]=0}c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;break}case 5:{b=e;g=b+40|0;fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329163,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;f=a[g+11>>0]|0;h=f<<24>>24<0;f=h?c[b+44>>2]|0:f&255;if(!f){c[ca>>2]=c[O>>2];qs(ra,311831,ca)}else gs(ra,h?c[g>>2]|0:g,f,1);rs(ra,1,c[O>>2]|0);ss(ra,1,c[O>>2]|0);r=b+56|0;s=c[r+4>>2]|0;t=da;c[t>>2]=c[r>>2];c[t+4>>2]=s;qs(ra,311838,da);if(a[b+72>>0]|0){r=b+64|0;s=c[r+4>>2]|0;t=ea;c[t>>2]=c[r>>2];c[t+4>>2]=s;qs(ra,311838,ea)}if(a[b+73>>0]|0)qs(ra,329150,fa);is(ra,c[b+80>>2]|0,0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;c[O>>2]=(c[O>>2]|0)+1;break}case 6:{h=e;f=h+36|0;fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329032,4,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;b=a[f+11>>0]|0;g=b<<24>>24<0;b=g?c[h+40>>2]|0:b&255;if(!b){c[ga>>2]=c[K>>2];qs(ra,311831,ga)}else gs(ra,g?c[f>>2]|0:f,b,1);if(!(a[h+84>>0]|0))os(ra,h+88|0);else{fs(ra);un(c[Z>>2]|0,329118,7,0,0);c[R>>2]=1}b=c[h+100>>2]|0;f=c[h+104>>2]|0;if((b|0)!=(f|0))do{if(!(c[b+20>>2]|0)){c[ha>>2]=c[b+24>>2];qs(ra,330374,ha);c[R>>2]=1}else{r=b+24|0;t=a[r+11>>0]|0;s=t<<24>>24<0;gs(ra,s?c[r>>2]|0:r,s?c[b+28>>2]|0:t&255,1)}b=b+36|0}while((b|0)!=(f|0));if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;c[K>>2]=(c[K>>2]|0)+1;break}case 7:{ts(ra,e+40|0);break}case 8:{b=e;g=b+36|0;fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329027,4,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;f=a[g+11>>0]|0;h=f<<24>>24<0;f=h?c[b+40>>2]|0:f&255;if(!f){c[ia>>2]=c[J>>2];qs(ra,311831,ia)}else gs(ra,h?c[g>>2]|0:g,f,1);if(!(a[b+84>>0]|0))os(ra,b+88|0);else{fs(ra);un(c[Z>>2]|0,329118,7,0,0);c[R>>2]=1}t=c[b+100>>2]|0;ps(ra,t,(c[b+104>>2]|0)-t|0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;c[J>>2]=(c[J>>2]|0)+1;break}case 4:{b=e;i=b+36|0;fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329174,4,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;h=a[i+11>>0]|0;j=h<<24>>24<0;f=c[i>>2]|0;h=j?c[b+40>>2]|0:h&255;g=c[M>>2]|0;c[M>>2]=g+1;if(!h){c[ja>>2]=g;qs(ra,311831,ja)}else gs(ra,j?f:i,h,1);fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329728,4,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;js(ra,b+48|0,329112);js(ra,b+60|0,329141);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;break}case 9:{b=e;fs(ra);un(c[Z>>2]|0,329085,1,0,0);c[R>>2]=0;fs(ra);un(c[Z>>2]|0,329157,5,0,0);c[R>>2]=1;c[Q>>2]=(c[Q>>2]|0)+2;if(c[b+56>>2]|0){r=b+60|0;t=a[r+11>>0]|0;s=t<<24>>24<0;gs(ra,s?c[r>>2]|0:r,s?c[b+64>>2]|0:t&255,0);if((c[R>>2]|0)!=3)pa=260}else{c[ka>>2]=c[b+60>>2];qs(ra,330374,ka);c[R>>2]=0;pa=260}if((pa|0)==260){pa=0;c[R>>2]=0}c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;break}default:{}}while(0);e=c[e+4>>2]|0;if(!e)break c}if((pa|0)==102)yB();else if((pa|0)==107)yB();else if((pa|0)==110)U();else if((pa|0)==114)yB()}while(0);if((c[R>>2]|0)!=3)c[R>>2]=0;c[Q>>2]=(c[Q>>2]|0)+-2;fs(ra);un(c[Z>>2]|0,329148,1,0,0);c[R>>2]=2;fs(ra);i=c[S>>2]|0;e=c[ra+112>>2]|0;if(e|0){c[ra+116>>2]=e;SA(e)}e=c[ra+100>>2]|0;if(e|0){c[ra+104>>2]=e;SA(e)}e=c[ra+88>>2]|0;if(e|0){c[ra+92>>2]=e;SA(e)}e=c[ra+76>>2]|0;if(e|0){c[ra+80>>2]=e;SA(e)}e=c[ra+64>>2]|0;if(e|0){c[ra+68>>2]=e;SA(e)}vs(c[qa>>2]|0);e=ra+40|0;b=c[e>>2]|0;if(b|0){ms(e,b);SA(c[e>>2]|0)}f=ra+28|0;h=c[f>>2]|0;if(!h){aa=sa;return i|0}g=ra+32|0;e=c[g>>2]|0;if((e|0)==(h|0))e=h;else{do{b=c[e+-12>>2]|0;if(b|0){c[e+-8>>2]=b;SA(b)}b=c[e+-24>>2]|0;if(b|0){c[e+-20>>2]=b;SA(b)}e=e+-40|0;if((a[e+11>>0]|0)<0)SA(c[e>>2]|0)}while((e|0)!=(h|0));e=c[f>>2]|0}c[g>>2]=h;SA(e);aa=sa;return i|0}function ds(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=(d|0)==(b|0);a[d+12>>0]=j&1;if(j)return;h=d;while(1){g=h+8|0;i=c[g>>2]|0;d=i+12|0;if(a[d>>0]|0){e=24;break}j=i+8|0;f=c[j>>2]|0;e=c[f>>2]|0;if((e|0)==(i|0)){e=c[f+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(a[e>>0]|0){e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(a[e>>0]|0){e=16;break}}a[d>>0]=1;j=(f|0)==(b|0);a[f+12>>0]=j&1;a[e>>0]=1;if(j){e=24;break}else h=f}if((e|0)==7){if((c[i>>2]|0)==(h|0))g=f;else{h=i+4|0;e=c[h>>2]|0;d=c[e>>2]|0;c[h>>2]=d;if(!d)d=f;else{c[d+8>>2]=i;d=c[j>>2]|0}g=e+8|0;c[g>>2]=d;d=c[j>>2]|0;c[((c[d>>2]|0)==(i|0)?d:d+4|0)>>2]=e;c[e>>2]=i;c[j>>2]=e;g=c[g>>2]|0;d=e+12|0}a[d>>0]=1;a[g+12>>0]=0;d=c[g>>2]|0;f=d+4|0;e=c[f>>2]|0;c[g>>2]=e;if(e|0)c[e+8>>2]=g;j=g+8|0;c[d+8>>2]=c[j>>2];i=c[j>>2]|0;c[((c[i>>2]|0)==(g|0)?i:i+4|0)>>2]=d;c[f>>2]=g;c[j>>2]=d;return}else if((e|0)==16){if((c[i>>2]|0)==(h|0)){e=h+4|0;d=c[e>>2]|0;c[i>>2]=d;if(!d)d=f;else{c[d+8>>2]=i;d=c[j>>2]|0}c[g>>2]=d;f=c[j>>2]|0;c[((c[f>>2]|0)==(i|0)?f:f+4|0)>>2]=h;c[e>>2]=i;c[j>>2]=h;f=c[g>>2]|0;d=h+12|0}a[d>>0]=1;a[f+12>>0]=0;j=f+4|0;d=c[j>>2]|0;e=c[d>>2]|0;c[j>>2]=e;if(e|0)c[e+8>>2]=f;j=f+8|0;c[d+8>>2]=c[j>>2];i=c[j>>2]|0;c[((c[i>>2]|0)==(f|0)?i:i+4|0)>>2]=d;c[d>>2]=f;c[j>>2]=d;return}else if((e|0)==24)return}function es(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;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)yB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=RA(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)jC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;SA(g);return}function fs(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+16|0;d=g;e=b+24|0;switch(c[e>>2]|0){case 1:{f=c[b+12>>2]|0;a[d>>0]=32;un(f,d,1,0,0);c[e>>2]=0;aa=g;return}case 3:case 2:{f=b+12|0;h=c[f>>2]|0;a[d>>0]=10;un(h,d,1,0,0);d=c[b+20>>2]|0;if(d>>>0>141)do{un(c[f>>2]|0,16720,142,0,0);d=d+-142|0}while(d>>>0>141);if(!d){c[e>>2]=0;aa=g;return}un(c[f>>2]|0,16720,d,0,0);c[e>>2]=0;aa=g;return}default:{c[e>>2]=0;aa=g;return}}}function gs(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;k=aa;aa=aa+16|0;j=k;i=e+f|0;a:do if(f|0){h=e;while(1){if(!(a[16464+(d[h>>0]|0)>>0]|0))break;h=h+1|0;if((h|0)==(i|0))break a}c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;do{f=a[e>>0]|0;nB(j,(a[16464+(f&255)>>0]|0)==0?95:f);e=e+1|0}while((e|0)!=(i|0));i=j+11|0;f=a[i>>0]|0;e=f<<24>>24<0;h=e?c[j>>2]|0:j;f=e?c[j+4>>2]|0:f&255;fs(b);un(c[b+12>>2]|0,h,f,0,0);if((a[i>>0]|0)<0)SA(c[j>>2]|0);j=b+24|0;c[j>>2]=g;aa=k;return}while(0);fs(b);un(c[b+12>>2]|0,e,f,0,0);j=b+24|0;c[j>>2]=g;aa=k;return}function hs(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;p=aa;aa=aa+80|0;n=p+8|0;g=p;k=p+32|0;l=p+12|0;fs(b);m=b+12|0;un(c[m>>2]|0,329085,1,0,0);j=b+24|0;c[j>>2]=0;fs(b);un(c[m>>2]|0,329728,4,0,0);c[j>>2]=1;i=b+20|0;c[i>>2]=(c[i>>2]|0)+2;e=a[d+11>>0]|0;f=e<<24>>24<0;e=f?c[d+4>>2]|0:e&255;h=b+124|0;if(!e){c[g>>2]=c[h>>2];qs(b,311831,g)}else gs(b,f?c[d>>2]|0:d,e,1);rs(b,0,c[h>>2]|0);ss(b,0,c[h>>2]|0);e=d+12|0;if(a[e>>0]|0){fs(b);un(c[m>>2]|0,329085,1,0,0);c[j>>2]=0;fs(b);un(c[m>>2]|0,329174,4,0,0);c[j>>2]=1;c[i>>2]=(c[i>>2]|0)+2;if(c[d+36>>2]|0){f=d+40|0;n=a[f+11>>0]|0;g=n<<24>>24<0;gs(b,g?c[f>>2]|0:f,g?c[d+44>>2]|0:n&255,0);if((c[j>>2]|0)!=3)o=8}else{c[n>>2]=c[d+40>>2];qs(b,330374,n);c[j>>2]=0;o=8}if((o|0)==8)c[j>>2]=0;c[i>>2]=(c[i>>2]|0)+-2;fs(b);un(c[m>>2]|0,329148,1,0,0);c[j>>2]=1}o=c[b+4>>2]|0;n=c[h>>2]|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;wl(k,n,l);o=Ek(o,0,k)|0;Dl(k);if(!o){o=c[h>>2]|0;o=o+1|0;c[h>>2]=o;aa=p;return}if(!((a[e>>0]|0)==0?1:(a[(c[b>>2]|0)+2>>0]|0)!=0)){o=c[h>>2]|0;o=o+1|0;c[h>>2]=o;aa=p;return}js(b,d+52|0,329112);js(b,d+64|0,329141);o=c[h>>2]|0;o=o+1|0;c[h>>2]=o;aa=p;return}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do switch(b|0){case -1:{b=329758;break}case -2:{b=329754;break}case -3:{b=329750;break}case -4:{b=329746;break}case -5:{b=329741;break}case -16:{b=329733;break}case -32:{b=329728;break}case -24:{b=329717;break}case -64:{b=329712;break}case 0:{b=329708;break}case -17:{b=329701;break}default:b=329688}while(0);e=Lz(b)|0;fs(a);un(c[a+12>>2]|0,b,e,0,0);c[a+24>>2]=d;return}function js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=b+4|0;f=c[g>>2]|0;e=c[b>>2]|0;if((f|0)==(e|0))return;h=(d|0)!=0;if(h){fs(a);i=a+12|0;un(c[i>>2]|0,329085,1,0,0);e=a+24|0;c[e>>2]=0;f=Lz(d)|0;fs(a);un(c[i>>2]|0,d,f,0,0);c[e>>2]=1;e=a+20|0;c[e>>2]=(c[e>>2]|0)+2;e=c[b>>2]|0;f=c[g>>2]|0}if((e|0)!=(f|0))do{is(a,c[e>>2]|0,1);e=e+4|0}while((e|0)!=(f|0));if(!h)return;e=a+24|0;if((c[e>>2]|0)!=3)c[e>>2]=0;i=a+20|0;c[i>>2]=(c[i>>2]|0)+-2;fs(a);un(c[a+12>>2]|0,329148,1,0,0);c[e>>2]=1;return}function ks(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;f=h+8|0;e=h;d=c[b+32>>2]|0;do switch(d|0){case 47:case 14:case 6:case 1:case 4:{It(a,b,2,1);aa=h;return}case 49:case 42:case 3:{It(a,b,2,0);aa=h;return}case 7:{g=b+88|0;It(a,b,0,(c[g+16>>2]|0)-(c[g+12>>2]|0)>>2);aa=h;return}case 8:{It(a,b,Jt(a,b+36|0)|0,1);aa=h;return}case 9:{g=Jt(a,b+36|0)|0;It(a,b,g+1|0,g);aa=h;return}case 10:{It(a,b,1,1);aa=h;return}case 11:{It(a,b,(Jt(a,b+48|0)|0)+1|0,1);aa=h;return}case 12:{f=b+36|0;e=c[a+4>>2]|0;d=Jk(e,f)|0;if(!d)g=0;else g=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;d=Jk(e,f)|0;if(!d)d=0;else d=(c[d+68>>2]|0)-(c[d+64>>2]|0)>>2;It(a,b,g,d);aa=h;return}case 37:{f=b+36|0;e=c[a+4>>2]|0;d=Jk(e,f)|0;if(!d)g=0;else g=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;d=Jk(e,f)|0;if(!d)d=0;else d=(c[d+68>>2]|0)-(c[d+64>>2]|0)>>2;It(a,b,g,d);aa=h;return}case 13:{It(a,b,((c[b+80>>2]|0)-(c[b+76>>2]|0)>>2)+1|0,(c[b+92>>2]|0)-(c[b+88>>2]|0)>>2);aa=h;return}case 38:{It(a,b,((c[b+80>>2]|0)-(c[b+76>>2]|0)>>2)+1|0,(c[b+92>>2]|0)-(c[b+88>>2]|0)>>2);aa=h;return}case 34:case 54:case 48:case 31:case 22:case 18:case 15:{It(a,b,0,1);aa=h;return}case 44:case 27:{It(a,b,0,0);aa=h;return}case 43:case 26:case 28:case 45:case 30:{It(a,b,3,0);aa=h;return}case 33:case 46:case 53:case 29:case 24:case 21:case 16:case 0:{It(a,b,1,1);aa=h;return}case 23:case 19:case 17:{It(a,b,1,0);aa=h;return}case 20:{g=b+88|0;It(a,b,1,(c[g+16>>2]|0)-(c[g+12>>2]|0)>>2);aa=h;return}case 25:{g=b+88|0;It(a,b,0,(c[g+16>>2]|0)-(c[g+12>>2]|0)>>2);aa=h;return}case 32:{It(a,b,0,0);aa=h;return}case 36:{g=c[a+8>>2]|0;It(a,b,(c[g+68>>2]|0)-(c[g+64>>2]|0)>>2,1);aa=h;return}case 35:{It(a,b,0,0);aa=h;return}case 39:case 5:case 2:{It(a,b,3,1);aa=h;return}case 51:{d=Pk(c[a+4>>2]|0,b+36|0)|0;if(!d)d=0;else d=(c[d+56>>2]|0)-(c[d+52>>2]|0)>>2;It(a,b,d,0);aa=h;return}case 52:{g=b+88|0;It(a,b,0,(c[g+16>>2]|0)-(c[g+12>>2]|0)>>2);aa=h;return}case 50:{It(a,b,3,1);aa=h;return}case 40:switch(c[b+36>>2]|0){case 232:case 229:case 226:case 223:case 220:case 219:case 216:case 215:{It(a,b,1,1);aa=h;return}case 233:case 230:case 227:case 224:case 221:case 217:{It(a,b,2,1);aa=h;return}default:{a=uk(40)|0;c[e>>2]=a;sA(0,312010,e);aa=h;return}}case 41:{It(a,b,2,1);aa=h;return}default:{a=uk(d)|0;c[f>>2]=a;sA(0,312044,f);aa=h;return}}while(0)}function ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=aa;aa=aa+112|0;O=S+64|0;Q=S+24|0;J=S;if((b|0)==(d|0)){aa=S;return}I=J+4|0;z=J+8|0;A=J+12|0;N=J+16|0;P=a+12|0;M=a+24|0;R=O+4|0;m=Q+28|0;l=J+4|0;L=a+20|0;n=Q+16|0;r=Q+32|0;K=a+40|0;q=O+4|0;C=O+8|0;p=a+44|0;B=a+48|0;w=O+4|0;G=O+8|0;y=O+4|0;H=O+8|0;t=O+4|0;E=O+8|0;o=Q+4|0;v=Q+20|0;x=Q+8|0;u=O+4|0;F=O+8|0;s=O+4|0;D=O+8|0;while(1){k=c[b>>2]|0;c[J>>2]=k;g=b+4|0;c[I>>2]=0;c[z>>2]=0;c[A>>2]=0;i=b+8|0;e=(c[i>>2]|0)-(c[g>>2]|0)|0;h=(e|0)/20|0;j=k;if(e){if(h>>>0>214748364){b=6;break}f=RA(e)|0;c[z>>2]=f;c[I>>2]=f;c[A>>2]=f+(h*20|0);e=c[g>>2]|0;g=c[i>>2]|0;if((e|0)==(g|0))e=k;else{do{Ht(f,e);e=e+20|0;f=f+20|0;c[z>>2]=f}while((e|0)!=(g|0));e=c[J>>2]|0;j=e}}else{e=k;f=0}c[N>>2]=c[b+16>>2];switch(c[j+32>>2]|0){case 7:{fs(a);un(c[P>>2]|0,329085,1,0,0);c[M>>2]=0;em(O,2);Ft(a,1,e+36|0,c[O>>2]|0);e=c[e+112>>2]|0;if(e|0)do{ks(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;j=c[p>>2]|0;c[q>>2]=j;c[C>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;ls(a,e,j);if(k|0){ms(O,e);SA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;fs(a);un(c[P>>2]|0,329148,1,0,0);break}case 25:{fs(a);un(c[P>>2]|0,329085,1,0,0);c[M>>2]=0;em(O,3);Ft(a,2,e+36|0,c[O>>2]|0);e=c[e+112>>2]|0;if(e|0)do{ks(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;j=c[p>>2]|0;c[w>>2]=j;c[G>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;ls(a,e,j);if(k|0){ms(O,e);SA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;fs(a);un(c[P>>2]|0,329148,1,0,0);break}case 20:{fs(a);un(c[P>>2]|0,329085,1,0,0);c[M>>2]=0;em(O,4);Ft(a,3,j+36|0,c[O>>2]|0);ls(a,c[I>>2]|0,f);fs(a);un(c[P>>2]|0,329085,1,0,0);c[M>>2]=0;fs(a);un(c[P>>2]|0,329169,4,0,0);c[M>>2]=2;c[L>>2]=(c[L>>2]|0)+2;e=c[j+112>>2]|0;if(e|0)do{ks(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;i=c[p>>2]|0;c[y>>2]=i;c[H>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;ls(a,e,i);if(k|0){ms(O,e);SA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;fs(a);un(c[P>>2]|0,329148,1,0,0);c[M>>2]=2;if(c[j+152>>2]|0){fs(a);un(c[P>>2]|0,329085,1,0,0);c[M>>2]=0;fs(a);un(c[P>>2]|0,329345,4,0,0);c[M>>2]=2;c[L>>2]=(c[L>>2]|0)+2;e=c[j+144>>2]|0;if(e|0)do{ks(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;j=c[p>>2]|0;c[s>>2]=j;c[D>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;ls(a,e,j);if(k|0){ms(O,e);SA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;fs(a);un(c[P>>2]|0,329148,1,0,0);c[M>>2]=2}c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;fs(a);un(c[P>>2]|0,329148,1,0,0);break}case 52:{fs(a);un(c[P>>2]|0,329085,1,0,0);c[M>>2]=0;em(O,6);Ft(a,5,j+36|0,c[O>>2]|0);ls(a,c[I>>2]|0,f);e=c[j+112>>2]|0;if(e|0)do{ks(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;i=c[p>>2]|0;c[t>>2]=i;c[E>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;ls(a,e,i);if(k|0){ms(O,e);SA(c[O>>2]|0)}fs(a);un(c[P>>2]|0,329085,1,0,0);c[M>>2]=0;fs(a);un(c[P>>2]|0,329317,5,0,0);c[M>>2]=2;c[L>>2]=(c[L>>2]|0)+2;e=c[j+144>>2]|0;if(e|0)do{ks(a,e);e=c[e+4>>2]|0}while((e|0)!=0);k=c[K>>2]|0;c[O>>2]=k;j=c[p>>2]|0;c[u>>2]=j;c[F>>2]=c[B>>2];e=k;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;ls(a,e,j);if(k|0){ms(O,e);SA(c[O>>2]|0)}if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;fs(a);un(c[P>>2]|0,329148,1,0,0);c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;fs(a);un(c[P>>2]|0,329148,1,0,0);break}default:{fs(a);un(c[P>>2]|0,329085,1,0,0);c[M>>2]=0;c[O>>2]=290388;c[R>>2]=a;Bj(Q,O);Cj(Q,j)|0;e=c[m>>2]|0;if(e|0){c[r>>2]=e;SA(e)}e=c[n>>2]|0;if(e|0){c[v>>2]=e;SA(e)}e=c[o>>2]|0;if(e|0){c[x>>2]=e;SA(e)}c[L>>2]=(c[L>>2]|0)+2;ls(a,c[I>>2]|0,f);if((c[M>>2]|0)!=3)c[M>>2]=0;c[L>>2]=(c[L>>2]|0)+-2;fs(a);un(c[P>>2]|0,329148,1,0,0)}}c[M>>2]=2;e=c[l>>2]|0;if(e|0){ms(l,e);SA(c[l>>2]|0)}b=b+20|0;if((b|0)==(d|0)){b=3;break}}if((b|0)==3){aa=S;return}else if((b|0)==6)yB()}function ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;a=c[f>>2]|0;if((a|0)==(b|0)){c[f>>2]=b;return}do{d=a+-16|0;a=a+-20|0;e=c[d>>2]|0;if(e|0){ms(d,e);SA(c[d>>2]|0)}}while((a|0)!=(b|0));c[f>>2]=b;return}function ns(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=aa;aa=aa+16|0;k=l;fs(b);i=b+12|0;un(c[i>>2]|0,329085,1,0,0);h=b+24|0;c[h>>2]=0;fs(b);un(c[i>>2]|0,329058,6,0,0);c[h>>2]=1;g=b+20|0;c[g>>2]=(c[g>>2]|0)+2;e=a[d+11>>0]|0;j=e<<24>>24<0;e=j?c[d+4>>2]|0:e&255;f=b+128|0;if(!e){c[k>>2]=c[f>>2];qs(b,311831,k)}else gs(b,j?c[d>>2]|0:d,e,1);rs(b,3,c[f>>2]|0);ss(b,3,c[f>>2]|0);if(!(a[d+16>>0]|0)){is(b,c[d+12>>2]|0,1);k=c[f>>2]|0;k=k+1|0;c[f>>2]=k;aa=l;return}fs(b);un(c[i>>2]|0,329085,1,0,0);c[h>>2]=0;fs(b);un(c[i>>2]|0,329101,3,0,0);c[h>>2]=1;c[g>>2]=(c[g>>2]|0)+2;is(b,c[d+12>>2]|0,1);if((c[h>>2]|0)!=3)c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-2;fs(b);un(c[i>>2]|0,329148,1,0,0);c[h>>2]=1;k=c[f>>2]|0;k=k+1|0;c[f>>2]=k;aa=l;return}function os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;d=h+40|0;g=h;if(!(c[b+8>>2]|0)){aa=h;return}fs(a);f=a+12|0;un(c[f>>2]|0,329085,1,0,0);e=a+24|0;c[e>>2]=0;c[d>>2]=290388;c[d+4>>2]=a;Bj(g,d);Ij(g,b)|0;d=c[g+28>>2]|0;if(d|0){c[g+32>>2]=d;SA(d)}d=c[g+16>>2]|0;if(d|0){c[g+20>>2]=d;SA(d)}d=c[g+4>>2]|0;if(d|0){c[g+8>>2]=d;SA(d)}c[e>>2]=0;fs(a);un(c[f>>2]|0,329148,1,0,0);c[e>>2]=1;aa=h;return}function ps(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=aa;aa=aa+16|0;i=l;fs(b);j=b+12|0;k=c[j>>2]|0;a[i>>0]=34;un(k,i,1,0,0);if(!e){k=c[j>>2]|0;a[i>>0]=34;un(k,i,1,0,0);k=b+24|0;c[k>>2]=1;aa=l;return}g=0;do{f=a[d+g>>0]|0;h=f&255;k=c[j>>2]|0;if(!(a[16208+h>>0]|0)){a[i>>0]=f;un(k,i,1,0,0)}else{a[i>>0]=92;un(k,i,1,0,0);k=c[j>>2]|0;a[i>>0]=a[17008+(h>>>4)>>0]|0;un(k,i,1,0,0);k=c[j>>2]|0;a[i>>0]=a[17008+(h&15)>>0]|0;un(k,i,1,0,0)}g=g+1|0}while((g|0)!=(e|0));k=c[j>>2]|0;a[i>>0]=34;un(k,i,1,0,0);k=b+24|0;c[k>>2]=1;aa=l;return}function qs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+160|0;e=h+144|0;g=h+128|0;f=h;c[e>>2]=d;c[g>>2]=c[e>>2];d=Mz(f,128,b,e)|0;e=d+1|0;if(e>>>0>128){d=aa;aa=aa+((1*e|0)+15&-16)|0;f=d;d=Mz(d,e,b,g)|0}fs(a);un(c[a+12>>2]|0,f,d,0,0);c[a+24>>2]=1;aa=h;return}function rs(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;if(!(a[(c[b>>2]|0)+1>>0]|0))return;f=b+56|0;g=c[f>>2]|0;a:do if(!g)k=28;else{j=g;b:while(1){g=c[j+16>>2]|0;do if((g|0)>(d|0))k=7;else{if((g|0)>=(d|0)){g=c[j+20>>2]|0;if(g>>>0>e>>>0){k=7;break}if(g>>>0>=e>>>0)break b}g=j+4|0}while(0);if((k|0)==7){k=0;f=j;g=j}g=c[g>>2]|0;if(!g){k=28;break a}else j=g}h=c[j>>2]|0;if(!h)g=j;else{g=j;do{i=c[h+16>>2]|0;do if((i|0)<(d|0))i=h+4|0;else{if((i|0)<=(d|0)?(c[h+20>>2]|0)>>>0<e>>>0:0){i=h+4|0;break}i=h;g=h}while(0);h=c[i>>2]|0}while((h|0)!=0)}h=c[j+4>>2]|0;if(h)do{i=c[h+16>>2]|0;do if((i|0)>(d|0)){i=h;f=h}else{if((i|0)>=(d|0)?(c[h+20>>2]|0)>>>0>e>>>0:0){i=h;f=h;break}i=h+4|0}while(0);h=c[i>>2]|0}while((h|0)!=0)}while(0);if((k|0)==28)g=f;if((g|0)==(f|0))return;d=b+12|0;e=b+24|0;j=b+20|0;do{k=c[g+24>>2]|0;fs(b);un(c[d>>2]|0,329085,1,0,0);c[e>>2]=0;fs(b);un(c[d>>2]|0,329047,6,0,0);c[e>>2]=1;c[j>>2]=(c[j>>2]|0)+2;h=a[k+11>>0]|0;i=h<<24>>24<0;ps(b,i?c[k>>2]|0:k,i?c[k+4>>2]|0:h&255);c[e>>2]=0;c[j>>2]=(c[j>>2]|0)+-2;fs(b);un(c[d>>2]|0,329148,1,0,0);c[e>>2]=1;h=c[g+4>>2]|0;if(!h){h=g+8|0;i=c[h>>2]|0;if((c[i>>2]|0)==(g|0))g=i;else do{k=c[h>>2]|0;h=k+8|0;g=c[h>>2]|0}while((c[g>>2]|0)!=(k|0))}else{g=h;while(1){h=c[g>>2]|0;if(!h)break;else g=h}}}while((g|0)!=(f|0));return}function ss(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[(c[b>>2]|0)+2>>0]|0))return;f=c[b+64+(d*12|0)>>2]|0;if((c[b+64+(d*12|0)+4>>2]|0)-f>>2>>>0<=e>>>0)return;h=c[f+(e<<2)>>2]|0;fs(b);e=b+12|0;un(c[e>>2]|0,329085,1,0,0);d=b+24|0;c[d>>2]=0;fs(b);un(c[e>>2]|0,329065,6,0,0);c[d>>2]=1;f=b+20|0;c[f>>2]=(c[f>>2]|0)+2;i=h+4|0;j=a[i+11>>0]|0;g=j<<24>>24<0;ps(b,g?c[i>>2]|0:i,g?c[h+8>>2]|0:j&255);c[d>>2]=1;j=h+16|0;g=a[j+11>>0]|0;i=g<<24>>24<0;ps(b,i?c[j>>2]|0:j,i?c[h+20>>2]|0:g&255);c[d>>2]=0;c[f>>2]=(c[f>>2]|0)+-2;fs(b);un(c[e>>2]|0,329148,1,0,0);c[d>>2]=1;return}function ts(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;n=aa;aa=aa+32|0;m=n+16|0;l=n+8|0;k=n;fs(b);i=b+12|0;un(c[i>>2]|0,329085,1,0,0);h=b+24|0;c[h>>2]=0;fs(b);un(c[i>>2]|0,329087,6,0,0);c[h>>2]=1;f=b+20|0;c[f>>2]=(c[f>>2]|0)+2;e=a[d+11>>0]|0;j=e<<24>>24<0;e=j?c[d+4>>2]|0:e&255;g=b+136|0;if(!e){c[k>>2]=c[g>>2];qs(b,311831,k)}else gs(b,j?c[d>>2]|0:d,e,1);rs(b,2,c[g>>2]|0);ss(b,2,c[g>>2]|0);e=d+16|0;j=c[e+4>>2]|0;k=l;c[k>>2]=c[e>>2];c[k+4>>2]=j;qs(b,311838,l);if(a[d+32>>0]|0){j=d+24|0;k=c[j+4>>2]|0;l=m;c[l>>2]=c[j>>2];c[l+4>>2]=k;qs(b,311838,m)}if(a[d+33>>0]|0)qs(b,329150,n+24|0);if((c[h>>2]|0)==3){m=c[f>>2]|0;m=m+-2|0;c[f>>2]=m;fs(b);m=c[i>>2]|0;un(m,329148,1,0,0);c[h>>2]=2;m=c[g>>2]|0;m=m+1|0;c[g>>2]=m;aa=n;return}c[h>>2]=0;m=c[f>>2]|0;m=m+-2|0;c[f>>2]=m;fs(b);m=c[i>>2]|0;un(m,329148,1,0,0);c[h>>2]=2;m=c[g>>2]|0;m=m+1|0;c[g>>2]=m;aa=n;return}function us(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;n=aa;aa=aa+16|0;l=n+8|0;k=n;fs(b);i=b+12|0;un(c[i>>2]|0,329085,1,0,0);h=b+24|0;c[h>>2]=0;fs(b);un(c[i>>2]|0,329041,5,0,0);c[h>>2]=1;g=b+20|0;c[g>>2]=(c[g>>2]|0)+2;e=a[d+11>>0]|0;j=e<<24>>24<0;e=j?c[d+4>>2]|0:e&255;f=b+144|0;if(!e){c[k>>2]=c[f>>2];qs(b,311831,k)}else gs(b,j?c[d>>2]|0:d,e,1);rs(b,4,c[f>>2]|0);ss(b,4,c[f>>2]|0);if(a[d+12>>0]|0){fs(b);un(c[i>>2]|0,329085,1,0,0);c[h>>2]=0;fs(b);un(c[i>>2]|0,329174,4,0,0);c[h>>2]=1;c[g>>2]=(c[g>>2]|0)+2;if(c[d+36>>2]|0){j=d+40|0;l=a[j+11>>0]|0;k=l<<24>>24<0;gs(b,k?c[j>>2]|0:j,k?c[d+44>>2]|0:l&255,0);if((c[h>>2]|0)!=3)m=8}else{c[l>>2]=c[d+40>>2];qs(b,330374,l);c[h>>2]=0;m=8}if((m|0)==8)c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-2;fs(b);un(c[i>>2]|0,329148,1,0,0);c[h>>2]=1}js(b,d+52|0,329112);c[f>>2]=(c[f>>2]|0)+1;if((c[h>>2]|0)==3){m=c[g>>2]|0;m=m+-2|0;c[g>>2]=m;fs(b);m=c[i>>2]|0;un(m,329148,1,0,0);c[h>>2]=2;aa=n;return}c[h>>2]=0;m=c[g>>2]|0;m=m+-2|0;c[g>>2]=m;fs(b);m=c[i>>2]|0;un(m,329148,1,0,0);c[h>>2]=2;aa=n;return}function vs(a){a=a|0;if(!a)return;else{vs(c[a>>2]|0);vs(c[a+4>>2]|0);SA(a);return}}function ws(a){a=a|0;SA(a);return}function xs(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;em(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function ys(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;em(e,2);Ft(a,1,b+36|0,c[e>>2]|0);aa=d;return 0}function zs(a,b){a=a|0;b=b|0;Et(c[a+4>>2]|0);return 0}function As(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=aa;aa=aa+48|0;g=d;a=a+4|0;e=c[a>>2]|0;em(g,12);g=c[g>>2]|0;f=Lz(g)|0;fs(e);un(c[e+12>>2]|0,g,f,0,0);c[e+24>>2]=1;Gt(c[a>>2]|0,b+36|0,2);aa=d;return 0}function Bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=aa;aa=aa+48|0;g=d;a=a+4|0;e=c[a>>2]|0;em(g,13);g=c[g>>2]|0;f=Lz(g)|0;fs(e);un(c[e+12>>2]|0,g,f,0,0);c[e+24>>2]=1;Gt(c[a>>2]|0,b+36|0,2);aa=d;return 0}function Cs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,10);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;Gt(c[b>>2]|0,d+36|0,1);b=c[b>>2]|0;if(!(c[d+92>>2]|0)){c[e>>2]=c[d+96>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+96|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+100>>2]|0:i&255,2);aa=f;return 0}return 0}function Ds(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;e=g;f=a+4|0;d=c[f>>2]|0;em(e,14);a=c[e>>2]|0;e=Lz(a)|0;fs(d);un(c[d+12>>2]|0,a,e,0,0);c[d+24>>2]=1;d=c[b+36>>2]|0;e=c[b+40>>2]|0;a=c[f>>2]|0;if((d|0)==(e|0)){f=a;b=b+48|0;Gt(f,b,2);aa=g;return 0}do{Gt(a,d,1);d=d+36|0;a=c[f>>2]|0}while((d|0)!=(e|0));b=b+48|0;Gt(a,b,2);aa=g;return 0}function Es(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,16);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Fs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=aa;aa=aa+48|0;h=i+8|0;e=i;f=i+12|0;g=b+4|0;b=c[g>>2]|0;em(f,17);f=c[f>>2]|0;j=Lz(f)|0;fs(b);un(c[b+12>>2]|0,f,j,0,0);c[b+24>>2]=1;b=c[g>>2]|0;fs(b);j=b+12|0;un(c[j>>2]|0,329085,1,0,0);f=b+24|0;c[f>>2]=0;fs(b);un(c[j>>2]|0,329174,4,0,0);c[f>>2]=1;b=b+20|0;c[b>>2]=(c[b>>2]|0)+2;b=c[g>>2]|0;if(!(c[d+60>>2]|0)){c[e>>2]=c[d+64>>2];qs(b,330374,e);c[b+24>>2]=1}else{e=d+64|0;j=a[e+11>>0]|0;f=j<<24>>24<0;gs(b,f?c[e>>2]|0:e,f?c[d+68>>2]|0:j&255,1)}f=d+120|0;if((c[f>>2]|0)==0?(c[d+124>>2]|0)==0:0){b=c[g>>2]|0;e=b+24|0;if((c[e>>2]|0)!=3)c[e>>2]=0;j=b+20|0;c[j>>2]=(c[j>>2]|0)+-2;fs(b);un(c[b+12>>2]|0,329148,1,0,0);c[e>>2]=2;aa=i;return 0}b=c[g>>2]|0;e=b+24|0;if((c[e>>2]|0)!=3)c[e>>2]=0;j=b+20|0;c[j>>2]=(c[j>>2]|0)+-2;fs(b);un(c[b+12>>2]|0,329148,1,0,0);c[e>>2]=1;b=c[g>>2]|0;if(!(c[f>>2]|0)){c[h>>2]=c[d+124>>2];qs(b,330374,h);c[b+24>>2]=2;aa=i;return 0}else{g=d+124|0;j=a[g+11>>0]|0;h=j<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+128>>2]|0:j&255,2);aa=i;return 0}return 0}function Gs(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;em(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function Hs(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+176|0;h=m+160|0;j=m+152|0;i=m+144|0;e=m+136|0;d=m+128|0;k=m;l=c[a+4>>2]|0;switch(c[b+60>>2]|0){case -1:{em(k,52);k=c[k>>2]|0;a=Lz(k)|0;fs(l);un(c[l+12>>2]|0,k,a,0,0);a=l+24|0;c[a>>2]=1;c[d>>2]=c[b+64>>2];qs(l,330371,d);if((c[a>>2]|0)==3)fs(l);c[a>>2]=2;aa=m;return 0}case -2:{em(k,53);j=c[k>>2]|0;a=Lz(j)|0;fs(l);un(c[l+12>>2]|0,j,a,0,0);a=l+24|0;c[a>>2]=1;j=b+64|0;k=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=k;qs(l,311882,e);if((c[a>>2]|0)==3)fs(l);c[a>>2]=2;aa=m;return 0}case -3:{em(k,54);j=c[k>>2]|0;a=Lz(j)|0;fs(l);h=l+12|0;un(c[h>>2]|0,j,a,0,0);a=l+24|0;c[a>>2]=1;b=b+64|0;Xx(k,c[b>>2]|0);j=Lz(k)|0;fs(l);un(c[h>>2]|0,k,j,0,0);c[a>>2]=1;g[i>>3]=+f[b>>2];qs(l,311887,i);if((c[a>>2]|0)==3)fs(l);c[a>>2]=2;aa=m;return 0}case -4:{em(k,55);i=c[k>>2]|0;a=Lz(i)|0;fs(l);h=l+12|0;un(c[h>>2]|0,i,a,0,0);a=l+24|0;c[a>>2]=1;b=b+64|0;i=b;Yx(k,c[i>>2]|0,c[i+4>>2]|0);i=Lz(k)|0;fs(l);un(c[h>>2]|0,k,i,0,0);c[a>>2]=1;g[j>>3]=+g[b>>3];qs(l,311887,j);if((c[a>>2]|0)==3)fs(l);c[a>>2]=2;aa=m;return 0}case -5:{em(k,212);i=c[k>>2]|0;a=Lz(i)|0;fs(l);un(c[l+12>>2]|0,i,a,0,0);a=l+24|0;c[a>>2]=1;i=b+64|0;j=c[i+4>>2]|0;k=c[b+72>>2]|0;b=c[b+76>>2]|0;c[h>>2]=c[i>>2];c[h+4>>2]=j;c[h+8>>2]=k;c[h+12>>2]=b;qs(l,311895,h);if((c[a>>2]|0)==3)fs(l);c[a>>2]=2;aa=m;return 0}default:{aa=m;return 0}}return 0}function Is(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;em(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function Js(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,20);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Ks(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,25);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ls(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,26);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ms(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;em(e,4);Ft(a,3,b+36|0,c[e>>2]|0);aa=d;return 0}function Ns(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=aa;aa=aa+48|0;d=e;if(!(c[b+152>>2]|0)){aa=e;return 0}b=a+4|0;a=c[b>>2]|0;f=a+20|0;c[f>>2]=(c[f>>2]|0)+-2;em(d,5);f=c[d>>2]|0;d=Lz(f)|0;fs(a);un(c[a+12>>2]|0,f,d,0,0);c[a+24>>2]=1;b=c[b>>2]|0;d=b+20|0;c[d>>2]=(c[d>>2]|0)+2;d=b+24|0;if((c[d>>2]|0)==3)fs(b);c[d>>2]=3;aa=e;return 0}function Os(a,b){a=a|0;b=b|0;Et(c[a+4>>2]|0);return 0}function Ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;em(e,c[f>>2]|0);a=c[e>>2]|0;e=Lz(a)|0;fs(d);un(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;qs(d,311847,g)}a=c[b+40>>2]|0;if(!(fm(c[f>>2]|0,a)|0)){c[h>>2]=a;qs(d,311857,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}fs(d);c[e>>2]=2;aa=i;return 0}function Qs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,22);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Rs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,23);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ss(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,24);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Ts(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;em(e,3);Ft(a,2,b+36|0,c[e>>2]|0);aa=d;return 0}function Us(a,b){a=a|0;b=b|0;Et(c[a+4>>2]|0);return 0}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,199);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Ws(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,198);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function Xs(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,200);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Ys(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,51);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function Zs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,197);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function _s(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,50);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function $s(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,203);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function at(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,202);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function bt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,201);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function ct(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,204);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,205);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function et(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,206);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function ft(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,207);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function gt(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,208);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function ht(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,209);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function it(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,1);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function jt(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,15);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function kt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,18);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function lt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=aa;aa=aa+48|0;f=g;h=g+4|0;e=b+4|0;b=c[e>>2]|0;em(h,19);h=c[h>>2]|0;i=Lz(h)|0;fs(b);un(c[b+12>>2]|0,h,i,0,0);c[b+24>>2]=1;b=c[e>>2]|0;fs(b);i=b+12|0;un(c[i>>2]|0,329085,1,0,0);h=b+24|0;c[h>>2]=0;fs(b);un(c[i>>2]|0,329174,4,0,0);c[h>>2]=1;b=b+20|0;c[b>>2]=(c[b>>2]|0)+2;b=c[e>>2]|0;if(!(c[d+60>>2]|0)){c[f>>2]=c[d+64>>2];qs(b,330374,f);c[b+24>>2]=1}else{f=d+64|0;i=a[f+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[f>>2]|0:f,h?c[d+68>>2]|0:i&255,1)}b=c[e>>2]|0;e=b+24|0;if((c[e>>2]|0)==3){i=b+20|0;h=c[i>>2]|0;h=h+-2|0;c[i>>2]=h;fs(b);i=b+12|0;i=c[i>>2]|0;un(i,329148,1,0,0);c[e>>2]=2;aa=g;return 0}c[e>>2]=0;i=b+20|0;h=c[i>>2]|0;h=h+-2|0;c[i>>2]=h;fs(b);i=b+12|0;i=c[i>>2]|0;un(i,329148,1,0,0);c[e>>2]=2;aa=g;return 0}function mt(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,21);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;em(e,c[f>>2]|0);a=c[e>>2]|0;e=Lz(a)|0;fs(d);un(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;qs(d,311847,g)}a=c[b+40>>2]|0;if(!(fm(c[f>>2]|0,a)|0)){c[h>>2]=a;qs(d,311857,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}fs(d);c[e>>2]=2;aa=i;return 0}function ot(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;em(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function pt(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,0);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=2;aa=b;return 0}function qt(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;em(e,6);Ft(a,5,b+36|0,c[e>>2]|0);aa=d;return 0}function rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aa;aa=aa+48|0;f=d;b=a+4|0;a=c[b>>2]|0;e=a+20|0;c[e>>2]=(c[e>>2]|0)+-2;em(f,7);f=c[f>>2]|0;e=Lz(f)|0;fs(a);un(c[a+12>>2]|0,f,e,0,0);c[a+24>>2]=1;b=c[b>>2]|0;a=b+20|0;c[a>>2]=(c[a>>2]|0)+2;c[(c[b+32>>2]|0)+-28>>2]=6;a=b+24|0;if((c[a>>2]|0)!=3){c[a>>2]=3;aa=d;return 0}fs(b);c[a>>2]=3;aa=d;return 0}function st(a,b){a=a|0;b=b|0;Et(c[a+4>>2]|0);return 0}function tt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=aa;aa=aa+48|0;e=f;i=f+4|0;b=b+4|0;g=c[b>>2]|0;em(i,8);i=c[i>>2]|0;h=Lz(i)|0;fs(g);un(c[g+12>>2]|0,i,h,0,0);c[g+24>>2]=1;b=c[b>>2]|0;if(!(c[d+56>>2]|0)){c[e>>2]=c[d+60>>2];qs(b,330374,e);c[b+24>>2]=2;aa=f;return 0}else{g=d+60|0;i=a[g+11>>0]|0;h=i<<24>>24<0;gs(b,h?c[g>>2]|0:g,h?c[d+64>>2]|0:i&255,2);aa=f;return 0}return 0}function ut(a,b){a=a|0;b=b|0;var d=0,e=0;b=aa;aa=aa+48|0;e=b;a=c[a+4>>2]|0;em(e,9);e=c[e>>2]|0;d=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,d,0,0);c[a+24>>2]=1;aa=b;return 0}function vt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;em(e,c[f>>2]|0);a=c[e>>2]|0;e=Lz(a)|0;fs(d);un(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;qs(d,311847,g)}a=c[b+40>>2]|0;if(!(fm(c[f>>2]|0,a)|0)){c[h>>2]=a;qs(d,311857,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}fs(d);c[e>>2]=2;aa=i;return 0}function wt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;em(e,c[f>>2]|0);a=c[e>>2]|0;e=Lz(a)|0;fs(d);un(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;qs(d,311847,g)}a=c[b+40>>2]|0;if(!(fm(c[f>>2]|0,a)|0)){c[h>>2]=a;qs(d,311857,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}fs(d);c[e>>2]=2;aa=i;return 0}function xt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;em(e,c[f>>2]|0);a=c[e>>2]|0;e=Lz(a)|0;fs(d);un(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;qs(d,311847,g)}a=c[b+40>>2]|0;if(!(fm(c[f>>2]|0,a)|0)){c[h>>2]=a;qs(d,311857,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}fs(d);c[e>>2]=2;aa=i;return 0}function yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;em(e,c[f>>2]|0);a=c[e>>2]|0;e=Lz(a)|0;fs(d);un(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;qs(d,311847,g)}a=c[b+40>>2]|0;if(!(fm(c[f>>2]|0,a)|0)){c[h>>2]=a;qs(d,311857,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}fs(d);c[e>>2]=2;aa=i;return 0}function zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;em(e,c[f>>2]|0);a=c[e>>2]|0;e=Lz(a)|0;fs(d);un(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;qs(d,311847,g)}a=c[b+40>>2]|0;if(!(fm(c[f>>2]|0,a)|0)){c[h>>2]=a;qs(d,311857,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}fs(d);c[e>>2]=2;aa=i;return 0}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i+8|0;g=i;e=i+12|0;d=c[a+4>>2]|0;f=b+36|0;em(e,c[f>>2]|0);a=c[e>>2]|0;e=Lz(a)|0;fs(d);un(c[d+12>>2]|0,a,e,0,0);e=d+24|0;c[e>>2]=1;a=c[b+44>>2]|0;if(a|0){c[g>>2]=a;qs(d,311847,g)}a=c[b+40>>2]|0;if(!(fm(c[f>>2]|0,a)|0)){c[h>>2]=a;qs(d,311857,h)}if((c[e>>2]|0)!=3){c[e>>2]=2;aa=i;return 0}fs(d);c[e>>2]=2;aa=i;return 0}function Bt(a,b){a=a|0;b=b|0;var d=0,e=0;d=aa;aa=aa+48|0;e=d;a=c[a+4>>2]|0;em(e,c[b+36>>2]|0);e=c[e>>2]|0;b=Lz(e)|0;fs(a);un(c[a+12>>2]|0,e,b,0,0);c[a+24>>2]=2;aa=d;return 0}function Ct(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=aa;aa=aa+48|0;e=d;g=d+8|0;a=a+4|0;f=c[a>>2]|0;em(g,c[b+36>>2]|0);g=c[g>>2]|0;h=Lz(g)|0;fs(f);un(c[f+12>>2]|0,g,h,0,0);c[f+24>>2]=1;f=c[a>>2]|0;h=b+40|0;g=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=g;qs(f,311838,e);a=c[a>>2]|0;fs(a);un(c[a+12>>2]|0,351956,0,0,0);c[a+24>>2]=2;aa=d;return 0}function Dt(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,H=0,I=0,J=0,K=0,L=0;f=aa;aa=aa+160|0;g=f+120|0;i=f+112|0;k=f+104|0;m=f+96|0;o=f+88|0;q=f+80|0;s=f+72|0;u=f+64|0;w=f+56|0;y=f+48|0;A=f+40|0;C=f+32|0;E=f+24|0;G=f+16|0;I=f+8|0;K=f;F=f+124|0;b=b+4|0;J=c[b>>2]|0;em(F,c[e+36>>2]|0);F=c[F>>2]|0;H=Lz(F)|0;fs(J);un(c[J+12>>2]|0,F,H,0,0);c[J+24>>2]=1;J=a[e+41>>0]|0;H=a[e+42>>0]|0;F=a[e+43>>0]|0;D=a[e+44>>0]|0;B=a[e+45>>0]|0;z=a[e+46>>0]|0;x=a[e+47>>0]|0;v=a[e+48>>0]|0;t=a[e+49>>0]|0;r=a[e+50>>0]|0;p=a[e+51>>0]|0;n=a[e+52>>0]|0;l=a[e+53>>0]|0;j=a[e+54>>0]|0;h=a[e+55>>0]|0;L=c[b>>2]|0;c[K>>2]=d[e+40>>0];qs(L,311843,K);e=c[b>>2]|0;c[I>>2]=J&255;qs(e,311843,I);e=c[b>>2]|0;c[G>>2]=H&255;qs(e,311843,G);e=c[b>>2]|0;c[E>>2]=F&255;qs(e,311843,E);e=c[b>>2]|0;c[C>>2]=D&255;qs(e,311843,C);e=c[b>>2]|0;c[A>>2]=B&255;qs(e,311843,A);e=c[b>>2]|0;c[y>>2]=z&255;qs(e,311843,y);e=c[b>>2]|0;c[w>>2]=x&255;qs(e,311843,w);e=c[b>>2]|0;c[u>>2]=v&255;qs(e,311843,u);e=c[b>>2]|0;c[s>>2]=t&255;qs(e,311843,s);e=c[b>>2]|0;c[q>>2]=r&255;qs(e,311843,q);e=c[b>>2]|0;c[o>>2]=p&255;qs(e,311843,o);e=c[b>>2]|0;c[m>>2]=n&255;qs(e,311843,m);e=c[b>>2]|0;c[k>>2]=l&255;qs(e,311843,k);e=c[b>>2]|0;c[i>>2]=j&255;qs(e,311843,i);e=c[b>>2]|0;c[g>>2]=h&255;qs(e,311843,g);b=c[b>>2]|0;fs(b);un(c[b+12>>2]|0,351956,0,0,0);c[b+24>>2]=2;aa=f;return 0}function Et(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+48|0;h=i;f=b+20|0;c[f>>2]=(c[f>>2]|0)+-2;f=b+32|0;e=c[f>>2]|0;g=e+-40|0;d=c[e+-12>>2]|0;if(d|0){c[e+-8>>2]=d;SA(d)}d=c[e+-24>>2]|0;if(d|0){c[e+-20>>2]=d;SA(d)}if((a[g+11>>0]|0)<0)SA(c[g>>2]|0);c[f>>2]=g;em(h,11);g=c[h>>2]|0;h=Lz(g)|0;fs(b);un(c[b+12>>2]|0,g,h,0,0);c[b+24>>2]=2;aa=i;return}function Ft(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,r=0,s=0,t=0,u=0;u=aa;aa=aa+16|0;j=u;i=Lz(f)|0;fs(b);g=b+12|0;un(c[g>>2]|0,f,i,0,0);i=b+24|0;c[i>>2]=1;h=a[e+11>>0]|0;f=h<<24>>24<0;h=((f?c[e+4>>2]|0:h&255)|0)==0;if(!h){s=f?c[e>>2]|0:e;t=Lz(s)|0;fs(b);un(c[g>>2]|0,s,t,0,0);c[i>>2]=1}n=e+52|0;js(b,n,329112);s=e+64|0;js(b,s,329141);if(h){c[j>>2]=((c[b+32>>2]|0)-(c[b+28>>2]|0)|0)/40|0;qs(b,311866,j)}if((c[i>>2]|0)==3)fs(b);c[i>>2]=3;r=b+28|0;t=b+32|0;l=c[t>>2]|0;q=b+36|0;p=c[q>>2]|0;g=p;if(l>>>0<p>>>0){VA(l,e);c[l+12>>2]=d;h=l+16|0;c[h>>2]=0;k=l+20|0;c[k>>2]=0;g=l+24|0;c[g>>2]=0;j=e+56|0;f=(c[j>>2]|0)-(c[n>>2]|0)|0;i=f>>2;if(f|0){if(i>>>0>1073741823)yB();d=RA(f)|0;c[k>>2]=d;c[h>>2]=d;c[g>>2]=d+(i<<2);g=c[n>>2]|0;f=(c[j>>2]|0)-g|0;if((f|0)>0){jC(d|0,g|0,f|0)|0;c[k>>2]=d+(f>>>2<<2)}}d=l+28|0;c[d>>2]=0;k=l+32|0;c[k>>2]=0;i=l+36|0;c[i>>2]=0;h=e+68|0;f=(c[h>>2]|0)-(c[s>>2]|0)|0;g=f>>2;if(f|0){if(g>>>0>1073741823)yB();j=RA(f)|0;c[k>>2]=j;c[d>>2]=j;c[i>>2]=j+(g<<2);g=c[s>>2]|0;f=(c[h>>2]|0)-g|0;if((f|0)>0){jC(j|0,g|0,f|0)|0;c[k>>2]=j+(f>>>2<<2)}}c[t>>2]=(c[t>>2]|0)+40;b=b+20|0;t=c[b>>2]|0;t=t+2|0;c[b>>2]=t;aa=u;return}h=c[r>>2]|0;m=(l-h|0)/40|0;f=m+1|0;if(f>>>0>107374182)yB();l=(g-h|0)/40|0;p=l<<1;f=l>>>0<53687091?(p>>>0<f>>>0?f:p):107374182;do if(f)if(f>>>0>107374182)U();else{o=RA(f*40|0)|0;break}else o=0;while(0);g=o+(m*40|0)|0;p=o+(f*40|0)|0;VA(g,e);c[o+(m*40|0)+12>>2]=d;l=o+(m*40|0)+16|0;c[l>>2]=0;d=o+(m*40|0)+20|0;c[d>>2]=0;k=o+(m*40|0)+24|0;c[k>>2]=0;f=c[n>>2]|0;j=(c[e+56>>2]|0)-f|0;i=j>>2;if(j|0){if(i>>>0>1073741823)yB();h=RA(j)|0;c[d>>2]=h;c[l>>2]=h;c[k>>2]=h+(i<<2);if((j|0)>0){jC(h|0,f|0,j|0)|0;c[d>>2]=h+(j>>>2<<2)}}l=o+(m*40|0)+28|0;c[l>>2]=0;k=o+(m*40|0)+32|0;c[k>>2]=0;d=o+(m*40|0)+36|0;c[d>>2]=0;j=c[s>>2]|0;i=(c[e+68>>2]|0)-j|0;h=i>>2;if(i|0){if(h>>>0>1073741823)yB();f=RA(i)|0;c[k>>2]=f;c[l>>2]=f;c[d>>2]=f+(h<<2);if((i|0)>0){jC(f|0,j|0,i|0)|0;c[k>>2]=f+(i>>>2<<2)}}i=g+40|0;h=c[r>>2]|0;f=c[t>>2]|0;if((f|0)==(h|0)){f=g;j=h;g=h}else{do{n=g;g=g+-40|0;o=f;f=f+-40|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[n+-28>>2]=c[o+-28>>2];s=n+-24|0;e=o+-24|0;c[s>>2]=0;m=n+-20|0;c[m>>2]=0;l=n+-16|0;c[l>>2]=0;c[s>>2]=c[e>>2];s=o+-20|0;c[m>>2]=c[s>>2];m=o+-16|0;c[l>>2]=c[m>>2];c[m>>2]=0;c[s>>2]=0;c[e>>2]=0;e=n+-12|0;s=o+-12|0;c[e>>2]=0;m=n+-8|0;c[m>>2]=0;n=n+-4|0;c[n>>2]=0;c[e>>2]=c[s>>2];e=o+-8|0;c[m>>2]=c[e>>2];o=o+-4|0;c[n>>2]=c[o>>2];c[o>>2]=0;c[e>>2]=0;c[s>>2]=0}while((f|0)!=(h|0));f=g;j=c[r>>2]|0;g=c[t>>2]|0}c[r>>2]=f;c[t>>2]=i;c[q>>2]=p;h=j;if((g|0)!=(h|0))do{f=c[g+-12>>2]|0;if(f|0){c[g+-8>>2]=f;SA(f)}f=c[g+-24>>2]|0;if(f|0){c[g+-20>>2]=f;SA(f)}g=g+-40|0;if((a[g+11>>0]|0)<0)SA(c[g>>2]|0)}while((g|0)!=(h|0));if(!j){b=b+20|0;t=c[b>>2]|0;t=t+2|0;c[b>>2]=t;aa=u;return}SA(j);b=b+20|0;t=c[b>>2]|0;t=t+2|0;c[b>>2]=t;aa=u;return}function Gt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i+8|0;g=i;if(c[d+20>>2]|0){g=d+24|0;g=(a[g+11>>0]|0)<0?c[g>>2]|0:g;h=Lz(g)|0;fs(b);un(c[b+12>>2]|0,g,h,0,0);h=b+24|0;c[h>>2]=e;aa=i;return}d=c[d+24>>2]|0;f=((c[b+32>>2]|0)-(c[b+28>>2]|0)|0)/40|0;if(f>>>0>d>>>0){c[g>>2]=d;c[g+4>>2]=f+~d;qs(b,311929,g);h=b+24|0;c[h>>2]=e;aa=i;return}else{c[h>>2]=d;qs(b,311940,h);h=b+24|0;c[h>>2]=e;aa=i;return}}function Ht(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;c[a>>2]=c[b>>2];g=a+4|0;h=b+4|0;c[g>>2]=0;k=a+8|0;c[k>>2]=0;f=a+12|0;c[f>>2]=0;j=b+8|0;d=(c[j>>2]|0)-(c[h>>2]|0)|0;i=(d|0)/20|0;if(!d){a=a+16|0;k=b+16|0;k=c[k>>2]|0;c[a>>2]=k;return}if(i>>>0>214748364)yB();e=RA(d)|0;c[k>>2]=e;c[g>>2]=e;c[f>>2]=e+(i*20|0);d=c[h>>2]|0;f=c[j>>2]|0;if((d|0)==(f|0)){a=a+16|0;k=b+16|0;k=c[k>>2]|0;c[a>>2]=k;return}do{Ht(e,d);d=d+20|0;e=(c[k>>2]|0)+20|0;c[k>>2]=e}while((d|0)!=(f|0));a=a+16|0;k=b+16|0;k=c[k>>2]|0;c[a>>2]=k;return}function It(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;A=aa;aa=aa+32|0;y=A+20|0;z=A;w=a+40|0;x=a+44|0;m=c[x>>2]|0;i=m;k=(d|0)!=0;a:do if(k?(h=c[w>>2]|0,(m|0)!=(h|0)):0){g=0;j=m;while(1){u=j;j=j+-20|0;g=(c[u+-4>>2]|0)+g|0;if((g|0)==(d|0))break;if(g>>>0>d>>>0|(j|0)==(h|0)){u=g;g=i;break a}}u=d;g=j}else{u=0;g=i}while(0);c[z>>2]=b;c[z+4>>2]=0;q=z+8|0;c[q>>2]=0;r=z+12|0;c[r>>2]=0;s=z+16|0;c[s>>2]=e;do if(k&(u|0)==(d|0)?(o=z+4|0,f=g,(m|0)!=(f|0)):0){g=0;i=0;h=f;while(1){j=i;if(g>>>0>=i>>>0){i=c[o>>2]|0;b=(g-i|0)/20|0;g=b+1|0;if(g>>>0>214748364){g=13;break}l=(j-i|0)/20|0;n=l<<1;g=l>>>0<107374182?(n>>>0<g>>>0?g:n):214748364;if(!g)i=0;else{if(g>>>0>214748364){g=16;break}i=RA(g*20|0)|0}j=i+(b*20|0)|0;n=i+(g*20|0)|0;c[j>>2]=c[h>>2];g=h+4|0;c[i+(b*20|0)+4>>2]=c[g>>2];k=h+8|0;c[i+(b*20|0)+8>>2]=c[k>>2];l=h+12|0;c[i+(b*20|0)+12>>2]=c[l>>2];c[l>>2]=0;c[k>>2]=0;c[g>>2]=0;c[i+(b*20|0)+16>>2]=c[h+16>>2];g=j+20|0;k=g;b=c[o>>2]|0;i=c[q>>2]|0;if((i|0)==(b|0)){l=b;i=b}else{do{l=j;j=j+-20|0;B=i;i=i+-20|0;c[j>>2]=c[i>>2];D=l+-16|0;C=B+-16|0;c[D>>2]=0;E=l+-12|0;c[E>>2]=0;F=l+-8|0;c[F>>2]=0;c[D>>2]=c[C>>2];D=B+-12|0;c[E>>2]=c[D>>2];E=B+-8|0;c[F>>2]=c[E>>2];c[E>>2]=0;c[D>>2]=0;c[C>>2]=0;c[l+-4>>2]=c[B+-4>>2]}while((i|0)!=(b|0));l=c[o>>2]|0;i=c[q>>2]|0}c[o>>2]=j;c[q>>2]=k;c[r>>2]=n;k=l;if((i|0)!=(k|0))do{j=i+-16|0;i=i+-20|0;b=c[j>>2]|0;if(b|0){ms(j,b);SA(c[j>>2]|0)}}while((i|0)!=(k|0));if(l)SA(l)}else{c[g>>2]=c[h>>2];E=g+4|0;F=h+4|0;c[E>>2]=0;D=g+8|0;c[D>>2]=0;C=g+12|0;c[C>>2]=0;c[E>>2]=c[F>>2];E=h+8|0;c[D>>2]=c[E>>2];D=h+12|0;c[C>>2]=c[D>>2];c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[g+16>>2]=c[h+16>>2];g=(c[q>>2]|0)+20|0;c[q>>2]=g}h=h+20|0;if((h|0)==(m|0)){g=32;break}i=c[r>>2]|0}if((g|0)==13)yB();else if((g|0)==16)U();else if((g|0)==32){n=c[x>>2]|0;if((n|0)!=(m|0))do{c[f>>2]=c[m>>2];k=f+4|0;l=m+4|0;b=c[k>>2]|0;if(!b){g=f+8|0;h=f+12|0}else{g=f+8|0;h=c[g>>2]|0;if((h|0)==(b|0))h=b;else{do{i=h+-16|0;h=h+-20|0;j=c[i>>2]|0;if(j|0){ms(i,j);SA(c[i>>2]|0)}}while((h|0)!=(b|0));h=c[k>>2]|0}c[g>>2]=b;SA(h);h=f+12|0;c[h>>2]=0;c[g>>2]=0;c[k>>2]=0}c[k>>2]=c[l>>2];F=m+8|0;c[g>>2]=c[F>>2];E=m+12|0;c[h>>2]=c[E>>2];c[E>>2]=0;c[F>>2]=0;c[l>>2]=0;c[f+16>>2]=c[m+16>>2];m=m+20|0;f=f+20|0}while((m|0)!=(n|0));ms(w,f);p=c[x>>2]|0;break}}else p=m;while(0);k=a+48|0;F=c[k>>2]|0;g=F;if(p>>>0>=F>>>0){f=c[w>>2]|0;i=(p-f|0)/20|0;h=i+1|0;j=f;if(h>>>0>214748364)yB();F=(g-f|0)/20|0;g=F<<1;g=F>>>0<107374182?(g>>>0<h>>>0?h:g):214748364;do if(g)if(g>>>0>214748364)U();else{t=RA(g*20|0)|0;break}else t=0;while(0);h=t+(i*20|0)|0;b=t+(g*20|0)|0;c[h>>2]=c[z>>2];F=z+4|0;c[t+(i*20|0)+4>>2]=c[F>>2];c[t+(i*20|0)+8>>2]=c[q>>2];c[t+(i*20|0)+12>>2]=c[r>>2];c[r>>2]=0;c[q>>2]=0;c[F>>2]=0;c[t+(i*20|0)+16>>2]=c[s>>2];i=h+20|0;if((p|0)!=(j|0)){f=p;do{F=h;h=h+-20|0;E=f;f=f+-20|0;c[h>>2]=c[f>>2];C=F+-16|0;D=E+-16|0;c[C>>2]=0;B=F+-12|0;c[B>>2]=0;t=F+-8|0;c[t>>2]=0;c[C>>2]=c[D>>2];C=E+-12|0;c[B>>2]=c[C>>2];B=E+-8|0;c[t>>2]=c[B>>2];c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;c[F+-4>>2]=c[E+-4>>2]}while((f|0)!=(j|0));f=c[w>>2]|0;g=c[x>>2]|0;j=f;c[w>>2]=h;c[x>>2]=i;c[k>>2]=b;if((g|0)!=(j|0))do{h=g+-16|0;g=g+-20|0;i=c[h>>2]|0;if(i|0){ms(h,i);SA(c[h>>2]|0)}}while((g|0)!=(j|0))}else{c[w>>2]=h;c[x>>2]=i;c[k>>2]=b}if(f|0)SA(f)}else{c[p>>2]=c[z>>2];F=z+4|0;c[p+4>>2]=c[F>>2];c[p+8>>2]=c[q>>2];c[p+12>>2]=c[r>>2];c[r>>2]=0;c[q>>2]=0;c[F>>2]=0;c[p+16>>2]=c[s>>2];c[x>>2]=(c[x>>2]|0)+20}if((e|0)==0|u>>>0>d>>>0?(F=c[w>>2]|0,c[y>>2]=F,E=c[x>>2]|0,c[y+4>>2]=E,c[y+8>>2]=c[k>>2],v=F,c[w>>2]=0,c[w+4>>2]=0,c[w+8>>2]=0,ls(a,v,E),F|0):0){ms(y,v);SA(c[y>>2]|0)}f=z+4|0;g=c[f>>2]|0;if(!g){aa=A;return}ms(f,g);SA(c[f>>2]|0);aa=A;return}function Jt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((c[d+20>>2]|0)!=1){e=c[d+24>>2]|0;d=c[b+28>>2]|0;b=((c[b+32>>2]|0)-d|0)/40|0;if(b>>>0>e>>>0){b=d+((b+~e|0)*40|0)|0;k=17}else{k=0;return k|0}}else{j=c[b+28>>2]|0;b=(c[b+32>>2]|0)-j|0;if(!b){k=0;return k|0}e=(b|0)/40|0;h=d+24|0;i=a[h+11>>0]|0;g=i<<24>>24<0;i=g?c[d+28>>2]|0:i&255;h=g?c[h>>2]|0:h;if(!i){while(1){e=e+-1|0;b=j+(e*40|0)|0;i=a[b+11>>0]|0;if(!((i<<24>>24<0?c[j+(e*40|0)+4>>2]|0:i&255)|0))break a;if(!e){b=0;break}}return b|0}while(1){e=e+-1|0;b=j+(e*40|0)|0;f=a[b+11>>0]|0;g=f<<24>>24<0;f=f&255;do if(((g?c[j+(e*40|0)+4>>2]|0:f)|0)==(i|0)){d=c[b>>2]|0;if(g)if(!(Kz(d,h,i)|0))break a;else break;if((a[h>>0]|0)==(d&255)<<24>>24){d=f;f=b;g=h;do{d=d+-1|0;f=f+1|0;if(!d){k=17;break a}g=g+1|0}while((a[f>>0]|0)==(a[g>>0]|0))}}while(0);if(!e){b=0;break}}return b|0}while(0);if((k|0)==17)if(!b){k=0;return k|0}if((c[b+12>>2]|0)==2){k=(c[b+20>>2]|0)-(c[b+16>>2]|0)>>2;return k|0}else{k=(c[b+32>>2]|0)-(c[b+28>>2]|0)>>2;return k|0}return 0}function Kt(a){a=a|0;var b=0;switch(a|0){case 6:case 5:case 4:case 3:case 2:case 1:case 0:{b=a;break}case 13:{b=7;break}case 7:{b=8;break}case 8:{b=9;break}case 9:{b=10;break}case 12:{b=11;break}case 10:{b=12;break}case 11:{b=13;break}default:{}}return b|0}function Lt(a){a=a|0;var b=0;do switch(a|0){case 0:{b=312148;break}case 1:{b=312143;break}case 2:{b=312136;break}case 3:{b=312127;break}case 4:{b=312121;break}case 5:{b=312114;break}case 6:{b=312107;break}case 13:{b=312101;break}case 7:{b=312094;break}case 8:{b=312088;break}case 9:{b=312083;break}case 12:{b=312073;break}case 10:{b=312068;break}case 11:{b=312063;break}default:{}}while(0);return b|0}function Mt(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=aa;aa=aa+208|0;q=u+48|0;p=u+40|0;o=u+32|0;r=u+24|0;n=u+16|0;m=u+8|0;j=u;t=u+52|0;c[t>>2]=e;i=t+4|0;c[i>>2]=b;c[t+8>>2]=e;l=t+12|0;c[l>>2]=0;s=t+16|0;b=g+12|0;Dx(s,c[b>>2]|0,f);k=t+36|0;c[k>>2]=(c[b>>2]|0)==0?f:s;s=t+40|0;b=t+76|0;e=s;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b>>2]=g;c[t+80>>2]=-1;a[t+84>>0]=0;a[t+85>>0]=0;b=t+144|0;e=t+88|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b>>2]=-1;na[c[(c[f>>2]|0)+12>>2]&31](f,i);b=c[l>>2]|0;f=b+4|0;g=c[t>>2]|0;do if(f>>>0<=g>>>0){h=c[t+4>>2]|0;j=h+b|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[l>>2]=f;if((j|0)!=1836278016){Nt(t,312192,m);e=1;break}e=b+8|0;if(e>>>0>g>>>0){c[n>>2]=312161;c[n+4>>2]=312208;Nt(t,312170,n);e=1;break}b=h+f|0;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;c[l>>2]=e;if((b|0)!=1){c[r>>2]=b;c[r+4>>2]=1;Nt(t,312216,r);e=1;break}r=c[k>>2]|0;if(fa[c[(c[r>>2]|0)+16>>2]&511](r,1)|0){Nt(t,312258,o);e=1;break}if((Ot(t)|0)!=1){if((c[t+116>>2]|0)!=(c[t+136>>2]|0)){Nt(t,312286,p);e=1;break}r=c[k>>2]|0;if(!(ea[c[(c[r>>2]|0)+20>>2]&127](r)|0))e=0;else{Nt(t,312334,q);e=1}}else e=1}else{c[j>>2]=312161;c[j+4>>2]=312155;Nt(t,312170,j);e=1}while(0);b=c[t+64>>2]|0;if(b|0){c[t+68>>2]=b;SA(b)}b=c[t+52>>2]|0;if(b|0){c[t+56>>2]=b;SA(b)}b=c[s>>2]|0;if(!b){aa=u;return e|0}c[t+44>>2]=b;SA(b);aa=u;return e|0}function Nt(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;m=aa;aa=aa+208|0;l=m+160|0;h=m+144|0;i=m+128|0;g=m;k=m+172|0;if(!(a[b+85>>0]|0))j=1;else j=d[(c[b+76>>2]|0)+18>>0]|0;c[h>>2]=f;c[i>>2]=c[h>>2];h=(Mz(g,128,e,h)|0)+1|0;if(h>>>0>128){g=aa;aa=aa+((1*h|0)+15&-16)|0;Mz(g,h,e,i)|0}f=b+12|0;h=c[f>>2]|0;e=Lz(g)|0;c[k>>2]=j;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=h;h=k+24|0;An(h,g,e);b=c[b+36>>2]|0;if(!(fa[c[(c[b>>2]|0)+8>>2]&511](b,k)|0)){c[l>>2]=c[f>>2];c[l+4>>2]=(j|0)==0?323157:323165;c[l+8>>2]=g;sA(0,323171,l)}if((a[h+11>>0]|0)>=0){aa=m;return}SA(c[h>>2]|0);aa=m;return} +function PA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(a>>>0<212){a=QA(283104,283296,a)|0;a=c[a>>2]|0}else{i=(a>>>0)/210|0;h=i*210|0;b=h;f=0;h=(QA(283296,283488,a-h|0)|0)-283296>>2;while(1){a=(c[283296+(h<<2)>>2]|0)+b|0;e=5;while(1){if(e>>>0>=47){j=6;break}b=c[283104+(e<<2)>>2]|0;d=(a>>>0)/(b>>>0)|0;if(d>>>0<b>>>0)break a;if((a|0)==(v(d,b)|0)){a=f;break}else e=e+1|0}b:do if((j|0)==6){j=0;g=211;d=f;c:while(1){b=(a>>>0)/(g>>>0)|0;do if(b>>>0>=g>>>0)if((a|0)!=(v(b,g)|0)){e=g+10|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+12|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+16|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+18|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+22|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)!=(v(b,e)|0)){e=g+28|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0>=e>>>0)if((a|0)==(v(b,e)|0)){f=9;b=e}else{e=g+30|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+36|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+40|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+42|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+46|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+52|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+58|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+60|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+66|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+70|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+72|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+78|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+82|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+88|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+96|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+100|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+102|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+106|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+108|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+112|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+120|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+126|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+130|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+136|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+138|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+142|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+148|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+150|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+156|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+162|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+166|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+168|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+172|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+178|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+180|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+186|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+190|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+192|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+196|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}e=g+198|0;b=(a>>>0)/(e>>>0)|0;if(b>>>0<e>>>0){f=1;b=e;d=a;break}if((a|0)==(v(b,e)|0)){f=9;b=e;break}b=g+208|0;k=(a>>>0)/(b>>>0)|0;e=k>>>0<b>>>0;k=(a|0)==(v(k,b)|0);f=e?1:k?9:0;b=e|k?b:g+210|0;d=e?a:d}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=e}else{f=1;b=e;d=a}}else{f=9;b=g}else{f=1;b=g;d=a}while(0);switch(f&15){case 9:{a=d;break b}case 0:{g=b;break}default:break c}}if(!f)a=d;else{a=d;break a}}while(0);k=h+1|0;g=(k|0)==48;b=i+(g&1)|0;i=b;b=b*210|0;f=a;h=g?0:k}}while(0);return a|0}function QA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a;a=b-a>>2;while(1){if(!a)break;b=(a|0)/2|0;g=e+(b<<2)|0;f=(c[g>>2]|0)>>>0<d>>>0;e=f?g+4|0:e;a=f?a+-1-b|0:b}return e|0}function RA(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=LA(b)|0;if(a|0)break;a=YB()|0;if(!a){a=0;break}la[a&15]()}return a|0}function SA(a){a=a|0;MA(a);return}function TA(){U()}function UA(){U()}function VA(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)WA(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function WA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)TA();if(e>>>0<11)a[b+11>>0]=e;else{g=e+16&-16;f=RA(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;b=f}XA(b,d,e)|0;YA(b+e|0,0);return}function XA(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)jC(a|0,b|0,c|0)|0;return a|0}function YA(b,c){b=b|0;c=c|0;a[b>>0]=c;return}function ZA(a){a=a|0;return Lz(a)|0}function _A(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)lC(a|0,($A(c)|0)&255|0,b|0)|0;return a|0}function $A(a){a=a|0;return a&255|0}function aB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,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<e>>>0)UA();else{g=g-e|0;WA(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function bB(b){b=b|0;if((a[b+11>>0]|0)<0)SA(c[b>>2]|0);return}function cB(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d+11>>0]|0;f=e<<24>>24<0;dB(b,f?c[d>>2]|0:d,f?c[d+4>>2]|0:e&255)|0}return b|0}function dB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+11|0;f=a[h>>0]|0;g=f<<24>>24<0;if(g)i=(c[b+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;eB(f,d,e)|0;YA(f+e|0,0);if((a[h>>0]|0)<0){c[b+4>>2]=e;break}else{a[h>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;fB(b,i,e-i|0,f,0,f,e,d)}while(0);return b|0}function eB(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)kC(a|0,b|0,c|0)|0;return a|0}function fB(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;if((-18-d|0)>>>0<e>>>0)TA();if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){l=e+d|0;k=d<<1;l=l>>>0<k>>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=RA(l)|0;if(g|0)XA(k,m,g)|0;if(i|0)XA(k+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)XA(k+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)SA(m);c[b>>2]=k;c[b+8>>2]=l|-2147483648;m=e+i|0;c[b+4>>2]=m;YA(k+m|0,0);return}function gB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b+11|0;f=a[i>>0]|0;g=f<<24>>24<0;if(g){k=c[b+4>>2]|0;e=(c[b+8>>2]&2147483647)+-1|0}else{k=f&255;e=10}d=k>>>0<11;j=d?10:(k+16&-16)+-1|0;do if((j|0)!=(e|0)){do if(d){d=c[b>>2]|0;if(g){f=b;g=0;h=11}else{XA(b,d,(f&255)+1|0)|0;SA(d);h=14}}else{d=j+1|0;e=RA(d)|0;if(g){f=e;g=1;d=c[b>>2]|0;h=11;break}else{XA(e,b,(f&255)+1|0)|0;f=e;e=b+4|0;h=13;break}}while(0);if((h|0)==11){e=b+4|0;XA(f,d,(c[e>>2]|0)+1|0)|0;SA(d);if(g){d=j+1|0;h=13}else h=14}if((h|0)==13){c[b+8>>2]=d|-2147483648;c[e>>2]=k;c[b>>2]=f;break}else if((h|0)==14){a[i>>0]=k;break}}while(0);return}function hB(a,b){a=a|0;b=b|0;return dB(a,b,ZA(b)|0)|0}function iB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+11|0;e=a[f>>0]|0;g=e<<24>>24<0;if(g)e=c[b+4>>2]|0;else e=e&255;do if(e>>>0>=d>>>0)if(g){YA((c[b>>2]|0)+d|0,0);c[b+4>>2]=d;break}else{YA(b+d|0,0);a[f>>0]=d;break}else jB(b,d-e|0,0)|0;while(0);return}function jB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(d|0){i=b+11|0;f=a[i>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0<d>>>0){kB(b,g,h+d-g|0,h,h,0);f=a[i>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;_A(g+h|0,d,e)|0;f=h+d|0;if((a[i>>0]|0)<0)c[b+4>>2]=f;else a[i>>0]=f;YA(g+f|0,0)}return b|0}function kB(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;if((-17-d|0)>>>0<e>>>0)TA();if((a[b+11>>0]|0)<0)k=c[b>>2]|0;else k=b;if(d>>>0<2147483623){j=e+d|0;i=d<<1;j=j>>>0<i>>>0?i:j;j=j>>>0<11?11:j+16&-16}else j=-17;i=RA(j)|0;if(g|0)XA(i,k,g)|0;e=f-g|0;if(e|0)XA(i+g+h|0,k+g|0,e)|0;if((d|0)!=10)SA(k);c[b>>2]=i;c[b+8>>2]=j|-2147483648;return}function lB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+11|0;f=a[i>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;XA(g+h|0,d,e)|0;f=h+e|0;if((a[i>>0]|0)<0)c[b+4>>2]=f;else a[i>>0]=f;YA(g+f|0,0)}}else fB(b,f,h+e-f|0,h,h,0,e,d);return b|0}function mB(a,b){a=a|0;b=b|0;return lB(a,b,ZA(b)|0)|0}function nB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=b+11|0;e=a[h>>0]|0;g=e<<24>>24<0;if(g){f=(c[b+8>>2]&2147483647)+-1|0;i=c[b+4>>2]|0}else{f=10;i=e&255}if((i|0)==(f|0)){kB(b,f,1,f,f,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(g)e=8;else e=7;if((e|0)==7)a[h>>0]=i+1;else if((e|0)==8){h=c[b>>2]|0;c[b+4>>2]=i+1;b=h}i=b+i|0;YA(i,d);YA(i+1|0,0);return}function oB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b+11|0;e=a[j>>0]|0;h=e<<24>>24<0;if(h){f=c[b>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0;i=c[b+4>>2]|0}else{f=b;g=10;i=e&255}d=d-f|0;if((g|0)!=(i|0)){if(h)f=c[b>>2]|0;else f=b;e=i-d|0;if(e){h=f+d|0;eB(h+1|0,h,e)|0}}else{kB(b,i,1,i,d,1);f=c[b>>2]|0}YA(f+d|0,95);e=i+1|0;YA(f+e|0,0);if((a[j>>0]|0)<0)c[b+4>>2]=e;else a[j>>0]=e;return}function pB(a,b){a=a|0;b=b|0;var c=0,d=0;c=aa;aa=aa+16|0;d=c;qB(d);rB(a,d,b);bB(d);aa=c;return}function qB(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}if((a[b+11>>0]|0)<0)d=(c[b+8>>2]&2147483647)+-1|0;else d=10;iB(b,d);return}function rB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;h=d+11|0;f=a[h>>0]|0;if(f<<24>>24<0)g=c[d+4>>2]|0;else g=f&255;while(1){if(f<<24>>24<0)f=c[d>>2]|0;else f=d;c[i>>2]=e;f=Jz(f,g+1|0,330371,i)|0;if((f|0)>-1)if(f>>>0>g>>>0)g=f;else break;else g=g<<1|1;iB(d,g);f=a[h>>0]|0}iB(d,f);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];f=0;while(1){if((f|0)==3)break;c[d+(f<<2)>>2]=0;f=f+1|0}aa=j;return}function sB(a,b){a=a|0;b=b|0;var c=0,d=0;c=aa;aa=aa+16|0;d=c;tB(d);uB(a,d,b);bB(d);aa=c;return}function tB(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}if((a[b+11>>0]|0)<0)d=(c[b+8>>2]&2147483647)+-1|0;else d=10;iB(b,d);return}function uB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;h=d+11|0;f=a[h>>0]|0;if(f<<24>>24<0)g=c[d+4>>2]|0;else g=f&255;while(1){if(f<<24>>24<0)f=c[d>>2]|0;else f=d;c[i>>2]=e;f=Jz(f,g+1|0,330374,i)|0;if((f|0)>-1)if(f>>>0>g>>>0)g=f;else break;else g=g<<1|1;iB(d,g);f=a[h>>0]|0}iB(d,f);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];f=0;while(1){if((f|0)==3)break;c[d+(f<<2)>>2]=0;f=f+1|0}aa=j;return}function vB(a,b){a=a|0;b=b|0;var c=0,d=0;c=aa;aa=aa+16|0;d=c;wB(d);xB(a,d,b);bB(d);aa=c;return}function wB(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}if((a[b+11>>0]|0)<0)d=(c[b+8>>2]&2147483647)+-1|0;else d=10;iB(b,d);return}function xB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;h=d+11|0;f=a[h>>0]|0;if(f<<24>>24<0)g=c[d+4>>2]|0;else g=f&255;while(1){if(f<<24>>24<0)f=c[d>>2]|0;else f=d;c[i>>2]=e;f=Jz(f,g+1|0,330377,i)|0;if((f|0)>-1)if(f>>>0>g>>>0)g=f;else break;else g=g<<1|1;iB(d,g);f=a[h>>0]|0}iB(d,f);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];f=0;while(1){if((f|0)==3)break;c[d+(f<<2)>>2]=0;f=f+1|0}aa=j;return}function yB(){U()}function zB(a){a=a|0;return}function AB(a){a=a|0;SA(a);return}function BB(a){a=a|0;return}function CB(a){a=a|0;return}function DB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+64|0;g=h;if(!(HB(a,b)|0))if((b|0)!=0?(f=LB(b)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;pa[c[(c[f>>2]|0)+28>>2]&15](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;aa=h;return b|0}function EB(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(HB(a,c[b+8>>2]|0)|0)KB(b,d,e,f);return}function FB(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(!(HB(b,c[d+8>>2]|0)|0)){if(HB(b,c[d>>2]|0)|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 JB(d,e,f);while(0);return}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(HB(a,c[b+8>>2]|0)|0)IB(b,d,e);return}function HB(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function IB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=b+16|0;f=c[g>>2]|0;do if(f){if((f|0)!=(d|0)){e=b+36|0;c[e>>2]=(c[e>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}f=b+24|0;if((c[f>>2]|0)==2)c[f>>2]=e}else{c[g>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function JB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+4>>2]|0)==(b|0)?(e=a+28|0,(c[e>>2]|0)!=1):0)c[e>>2]=d;return}function KB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;g=b+16|0;e=c[g>>2]|0;if(!e){c[g>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){f=b+36|0;c[f>>2]=(c[f>>2]|0)+1;a[b+54>>0]=1;break}g=b+24|0;e=c[g>>2]|0;if((e|0)==2){c[g>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function LB(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;q=aa;aa=aa+64|0;p=q;n=c[d>>2]|0;o=d+(c[n+-8>>2]|0)|0;n=c[n+-4>>2]|0;c[p>>2]=286536;c[p+4>>2]=d;c[p+8>>2]=286552;k=p+12|0;e=p+16|0;f=p+20|0;h=p+24|0;j=p+28|0;i=p+32|0;g=p+40|0;d=HB(n,286536)|0;l=k;m=l+40|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));b[k+40>>1]=0;a[k+42>>0]=0;a:do if(d){c[p+48>>2]=1;ra[c[(c[n>>2]|0)+20>>2]&15](n,p,o,o,1,0);d=(c[h>>2]|0)==1?o:0}else{qa[c[(c[n>>2]|0)+24>>2]&15](n,p,o,1,0);switch(c[p+36>>2]|0){case 0:{d=(c[g>>2]|0)==1&(c[j>>2]|0)==1&(c[i>>2]|0)==1?c[f>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[h>>2]|0)!=1?!((c[g>>2]|0)==0&(c[j>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[e>>2]|0}while(0);aa=q;return d|0}function MB(a){a=a|0;SA(a);return}function NB(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(HB(a,c[b+8>>2]|0)|0)KB(b,d,e,f);else{a=c[a+8>>2]|0;ra[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function OB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(HB(b,c[d+8>>2]|0)|0)){if(!(HB(b,c[d>>2]|0)|0)){i=c[b+8>>2]|0;qa[c[(c[i>>2]|0)+24>>2]&15](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;ra[c[(c[b>>2]|0)+20>>2]&15](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 JB(d,e,f);while(0);return}function PB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(HB(a,c[b+8>>2]|0)|0)IB(b,d,e);else{a=c[a+8>>2]|0;pa[c[(c[a>>2]|0)+28>>2]&15](a,b,d,e)}return}function QB(a){a=a|0;SA(a);return}function RB(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(HB(b,c[d+8>>2]|0)|0)KB(d,e,f,g);else{n=d+52|0;i=a[n>>0]|0;m=d+53|0;j=a[m>>0]|0;p=c[b+12>>2]|0;l=b+16+(p<<3)|0;a[n>>0]=0;a[m>>0]=0;VB(b+16|0,d,e,f,g,h);a:do if((p|0)>1){o=d+24|0;k=b+8|0;p=d+54|0;b=b+24|0;do{if(a[p>>0]|0)break a;if(!(a[n>>0]|0)){if(a[m>>0]|0?(c[k>>2]&1|0)==0:0)break a}else{if((c[o>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[n>>0]=0;a[m>>0]=0;VB(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[n>>0]=i;a[m>>0]=j}return}function SB(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(!(HB(b,c[d+8>>2]|0)|0)){if(!(HB(b,c[d>>2]|0)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;WB(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;WB(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;WB(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;WB(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;l=d+52|0;f=d+53|0;o=d+54|0;j=b+8|0;n=d+24|0;m=0;h=0;i=b+16|0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[l>>0]=0;a[f>>0]=0;VB(i,d,e,e,1,g);if(a[o>>0]|0){b=18;break}do if(a[f>>0]|0){if(!(a[l>>0]|0))if(!(c[j>>2]&1)){h=1;b=18;break b}else{b=m;h=1;break}if((c[n>>2]|0)==1){b=23;break b}if(!(c[j>>2]&2)){b=23;break b}else{b=1;h=1}}else b=m;while(0);m=b;i=i+8|0}do if((b|0)==18){if((!m?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[n>>2]|0)==2:0){a[o>>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 JB(d,e,f);while(0);return}function TB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(HB(b,c[d+8>>2]|0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;UB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{UB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else IB(d,e,f);while(0);return}function UB(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;pa[c[(c[a>>2]|0)+28>>2]&15](a,b,d+f|0,(g&2|0)==0?2:e);return}function VB(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;ra[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function WB(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;qa[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function XB(){var b=0;if((a[351376]|0)==1)b=0;else{a[351376]=1;b=1}return b|0}function YB(){var a=0;a=c[87988]|0;c[87988]=a+0;return a|0}function ZB(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 _B(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=ZB(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 $B(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<a>>>0|0)>>>0|0),c|0)|0}function aC(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 bC(a){a=a|0;return (a?31-(w(a^a-1)|0)|0:32)|0}function cC(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<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (y(n|0),f)|0}c[f>>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<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|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=bC(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>>>((bC(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<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (y(o|0),p)|0}c[f>>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=$B(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;aC(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=aC(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 dC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cC(a,b,c,d,0)|0}function eC(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)-1)<<32-c}y(((b|0)<0?-1:0)|0);return b>>c-32|0}function fC(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)-1)<<32-c}y(0);return b>>>c-32|0}function gC(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}y(a<<c-32|0);return 0}function hC(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function iC(a,b,c){a=a|0;b=b|0;c=c|0;b=w(b)|0;if((b|0)==32)b=b+(w(a)|0)|0;y(0);return b|0}function jC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){W(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 kC(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 jC(b,c,d)|0;return b|0}function lC(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 mC(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Z(b|0)|0;P(12);return -1}if((b|0)>(V()|0)){if(!(X(b|0)|0)){P(12);return -1}}else c[i>>2]=b;return d|0}function nC(a,b){a=a|0;b=b|0;return ea[a&127](b|0)|0}function oC(a){a=a|0;return A(0,a|0)|0}function pC(a){a=a|0;return A(1,a|0)|0}function qC(a){a=a|0;return A(2,a|0)|0}function rC(a){a=a|0;return A(3,a|0)|0}function sC(a){a=a|0;return A(4,a|0)|0}function tC(a){a=a|0;return A(5,a|0)|0}function uC(a){a=a|0;return A(6,a|0)|0}function vC(a){a=a|0;return A(7,a|0)|0}function wC(a){a=a|0;return A(8,a|0)|0}function xC(a){a=a|0;return A(9,a|0)|0}function yC(a,b,c){a=a|0;b=b|0;c=c|0;return fa[a&511](b|0,c|0)|0}function zC(a,b){a=a|0;b=b|0;return B(0,a|0,b|0)|0}function AC(a,b){a=a|0;b=b|0;return B(1,a|0,b|0)|0}function BC(a,b){a=a|0;b=b|0;return B(2,a|0,b|0)|0}function CC(a,b){a=a|0;b=b|0;return B(3,a|0,b|0)|0}function DC(a,b){a=a|0;b=b|0;return B(4,a|0,b|0)|0}function EC(a,b){a=a|0;b=b|0;return B(5,a|0,b|0)|0}function FC(a,b){a=a|0;b=b|0;return B(6,a|0,b|0)|0}function GC(a,b){a=a|0;b=b|0;return B(7,a|0,b|0)|0}function HC(a,b){a=a|0;b=b|0;return B(8,a|0,b|0)|0}function IC(a,b){a=a|0;b=b|0;return B(9,a|0,b|0)|0}function JC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ga[a&127](b|0,c|0,d|0)|0}function KC(a,b,c){a=a|0;b=b|0;c=c|0;return C(0,a|0,b|0,c|0)|0}function LC(a,b,c){a=a|0;b=b|0;c=c|0;return C(1,a|0,b|0,c|0)|0}function MC(a,b,c){a=a|0;b=b|0;c=c|0;return C(2,a|0,b|0,c|0)|0}function NC(a,b,c){a=a|0;b=b|0;c=c|0;return C(3,a|0,b|0,c|0)|0}function OC(a,b,c){a=a|0;b=b|0;c=c|0;return C(4,a|0,b|0,c|0)|0}function PC(a,b,c){a=a|0;b=b|0;c=c|0;return C(5,a|0,b|0,c|0)|0}function QC(a,b,c){a=a|0;b=b|0;c=c|0;return C(6,a|0,b|0,c|0)|0}function RC(a,b,c){a=a|0;b=b|0;c=c|0;return C(7,a|0,b|0,c|0)|0}function SC(a,b,c){a=a|0;b=b|0;c=c|0;return C(8,a|0,b|0,c|0)|0}function TC(a,b,c){a=a|0;b=b|0;c=c|0;return C(9,a|0,b|0,c|0)|0}function UC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha[a&63](b|0,c|0,d|0,e|0)|0}function VC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(0,a|0,b|0,c|0,d|0)|0}function WC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(1,a|0,b|0,c|0,d|0)|0}function XC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(2,a|0,b|0,c|0,d|0)|0}function YC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(3,a|0,b|0,c|0,d|0)|0}function ZC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(4,a|0,b|0,c|0,d|0)|0}function _C(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(5,a|0,b|0,c|0,d|0)|0}function $C(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(6,a|0,b|0,c|0,d|0)|0}function aD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(7,a|0,b|0,c|0,d|0)|0}function bD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(8,a|0,b|0,c|0,d|0)|0}function cD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D(9,a|0,b|0,c|0,d|0)|0}function dD(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 ia[a&31](b|0,c|0,d|0,e|0,f|0)|0}function eD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(0,a|0,b|0,c|0,d|0,e|0)|0}function fD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(1,a|0,b|0,c|0,d|0,e|0)|0}function gD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(2,a|0,b|0,c|0,d|0,e|0)|0}function hD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(3,a|0,b|0,c|0,d|0,e|0)|0}function iD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(4,a|0,b|0,c|0,d|0,e|0)|0}function jD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(5,a|0,b|0,c|0,d|0,e|0)|0}function kD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(6,a|0,b|0,c|0,d|0,e|0)|0}function lD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(7,a|0,b|0,c|0,d|0,e|0)|0}function mD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(8,a|0,b|0,c|0,d|0,e|0)|0}function nD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(9,a|0,b|0,c|0,d|0,e|0)|0}function oD(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 ja[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function pD(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 F(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qD(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 F(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rD(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 F(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sD(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 F(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tD(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 F(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return F(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vD(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 F(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return F(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xD(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 F(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yD(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 F(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zD(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 ka[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function AD(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 G(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function BD(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 G(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function CD(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 G(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function DD(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 G(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function ED(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 G(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function FD(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 G(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function GD(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 G(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function HD(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 G(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function ID(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 G(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function JD(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 G(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function KD(a){a=a|0;la[a&15]()}function LD(){H(0)}function MD(){H(1)}function ND(){H(2)}function OD(){H(3)}function PD(){H(4)}function QD(){H(5)}function RD(){H(6)}function SD(){H(7)}function TD(){H(8)}function UD(){H(9)}function VD(a,b){a=a|0;b=b|0;ma[a&255](b|0)}function WD(a){a=a|0;I(0,a|0)}function XD(a){a=a|0;I(1,a|0)}function YD(a){a=a|0;I(2,a|0)}function ZD(a){a=a|0;I(3,a|0)}function _D(a){a=a|0;I(4,a|0)}function $D(a){a=a|0;I(5,a|0)}function aE(a){a=a|0;I(6,a|0)}function bE(a){a=a|0;I(7,a|0)}function cE(a){a=a|0;I(8,a|0)}function dE(a){a=a|0;I(9,a|0)}function eE(a,b,c){a=a|0;b=b|0;c=c|0;na[a&31](b|0,c|0)}function fE(a,b){a=a|0;b=b|0;J(0,a|0,b|0)}function gE(a,b){a=a|0;b=b|0;J(1,a|0,b|0)}function hE(a,b){a=a|0;b=b|0;J(2,a|0,b|0)}function iE(a,b){a=a|0;b=b|0;J(3,a|0,b|0)}function jE(a,b){a=a|0;b=b|0;J(4,a|0,b|0)}function kE(a,b){a=a|0;b=b|0;J(5,a|0,b|0)}function lE(a,b){a=a|0;b=b|0;J(6,a|0,b|0)}function mE(a,b){a=a|0;b=b|0;J(7,a|0,b|0)}function nE(a,b){a=a|0;b=b|0;J(8,a|0,b|0)}function oE(a,b){a=a|0;b=b|0;J(9,a|0,b|0)}function pE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oa[a&15](b|0,c|0,d|0)}function qE(a,b,c){a=a|0;b=b|0;c=c|0;K(0,a|0,b|0,c|0)}function rE(a,b,c){a=a|0;b=b|0;c=c|0;K(1,a|0,b|0,c|0)}function sE(a,b,c){a=a|0;b=b|0;c=c|0;K(2,a|0,b|0,c|0)}function tE(a,b,c){a=a|0;b=b|0;c=c|0;K(3,a|0,b|0,c|0)}function uE(a,b,c){a=a|0;b=b|0;c=c|0;K(4,a|0,b|0,c|0)}function vE(a,b,c){a=a|0;b=b|0;c=c|0;K(5,a|0,b|0,c|0)}function wE(a,b,c){a=a|0;b=b|0;c=c|0;K(6,a|0,b|0,c|0)}function xE(a,b,c){a=a|0;b=b|0;c=c|0;K(7,a|0,b|0,c|0)}function yE(a,b,c){a=a|0;b=b|0;c=c|0;K(8,a|0,b|0,c|0)}function zE(a,b,c){a=a|0;b=b|0;c=c|0;K(9,a|0,b|0,c|0)}function AE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;pa[a&15](b|0,c|0,d|0,e|0)}function BE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(0,a|0,b|0,c|0,d|0)}function CE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(1,a|0,b|0,c|0,d|0)}function DE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(2,a|0,b|0,c|0,d|0)}function EE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(3,a|0,b|0,c|0,d|0)}function FE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(4,a|0,b|0,c|0,d|0)}function GE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(5,a|0,b|0,c|0,d|0)}function HE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(6,a|0,b|0,c|0,d|0)}function IE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(7,a|0,b|0,c|0,d|0)}function JE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(8,a|0,b|0,c|0,d|0)}function KE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;L(9,a|0,b|0,c|0,d|0)}function LE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa[a&15](b|0,c|0,d|0,e|0,f|0)}function ME(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(0,a|0,b|0,c|0,d|0,e|0)}function NE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(1,a|0,b|0,c|0,d|0,e|0)}function OE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(2,a|0,b|0,c|0,d|0,e|0)}function PE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(3,a|0,b|0,c|0,d|0,e|0)}function QE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(4,a|0,b|0,c|0,d|0,e|0)}function RE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(5,a|0,b|0,c|0,d|0,e|0)}function SE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(6,a|0,b|0,c|0,d|0,e|0)}function TE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(7,a|0,b|0,c|0,d|0,e|0)}function UE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(8,a|0,b|0,c|0,d|0,e|0)}function VE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;M(9,a|0,b|0,c|0,d|0,e|0)}function WE(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;ra[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function XE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(0,a|0,b|0,c|0,d|0,e|0,f|0)}function YE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(1,a|0,b|0,c|0,d|0,e|0,f|0)}function ZE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(2,a|0,b|0,c|0,d|0,e|0,f|0)}function _E(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(3,a|0,b|0,c|0,d|0,e|0,f|0)}function $E(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(4,a|0,b|0,c|0,d|0,e|0,f|0)}function aF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(5,a|0,b|0,c|0,d|0,e|0,f|0)}function bF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(6,a|0,b|0,c|0,d|0,e|0,f|0)}function cF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(7,a|0,b|0,c|0,d|0,e|0,f|0)}function dF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(8,a|0,b|0,c|0,d|0,e|0,f|0)}function eF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;N(9,a|0,b|0,c|0,d|0,e|0,f|0)}function fF(a){a=a|0;x(0);return 0}function gF(a,b){a=a|0;b=b|0;x(1);return 0}function hF(a,b,c){a=a|0;b=b|0;c=c|0;x(2);return 0}function iF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x(3);return 0}function jF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;x(4);return 0}function kF(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(5);return 0}function lF(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(6);return 0}function mF(){x(7)}function nF(a){a=a|0;x(8)}function oF(a,b){a=a|0;b=b|0;x(9)}function pF(a,b,c){a=a|0;b=b|0;c=c|0;x(10)}function qF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x(11)}function rF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;x(12)}function sF(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(13)} // EMSCRIPTEN_END_FUNCS -var ea=[WE,dC,eC,fC,gC,hC,iC,jC,kC,lC,mC,Tc,Wc,_c,hd,ld,pd,td,Ad,Ed,Hd,Od,ke,ne,oe,pe,qe,Ee,Ge,He,Je,Ke,Re,Se,Te,Ue,Ve,Ye,cf,ef,qf,yf,Bf,Mf,Qf,Vf,fg,jg,oj,uj,sm,ym,jm,pm,Un,_n,Ln,Rn,Qq,Nq,Kq,Pt,St,Wt,du,hu,lu,pu,wu,Au,Du,Ku,gv,jv,kv,lv,mv,Av,Cv,Dv,Fv,Gv,Nv,Ov,Pv,Qv,Rv,Uv,_v,aw,lw,tw,ww,Hw,Lw,Qw,ax,ex,sz,Rp,Lp,gq,Wq,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE,WE];var fa=[XE,oC,pC,qC,rC,sC,tC,uC,vC,wC,xC,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Qc,Sc,Xc,Yc,$c,ad,id,jd,md,nd,qd,rd,ud,vd,xd,yd,zd,Bd,Cd,Fd,Gd,Id,Jd,Ld,Nd,Pd,Qd,Ud,Wd,Xd,ce,de,ee,fe,ie,le,me,re,te,ue,ve,we,ye,Ae,Be,Ce,De,Fe,Ie,Le,Me,Ne,Oe,Pe,Qe,We,_e,$e,af,bf,df,hf,jf,lf,mf,pf,rf,sf,uf,vf,xf,zf,Af,Cf,Ef,Gf,Jf,Nf,Rf,Tf,Uf,Wf,Xf,bg,dg,gg,hg,sj,tj,Rj,Sj,Tj,Uj,Vj,Wj,Xj,Yj,Zj,_j,$j,ak,bk,ck,dk,ek,fk,gk,hk,ik,jk,kk,lk,mk,nk,ok,pk,qk,rk,sk,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,_m,$m,an,bn,cn,xm,om,bo,co,eo,fo,go,ho,io,jo,ko,lo,mo,no,oo,po,qo,ro,so,to,uo,vo,wo,xo,yo,zo,Ao,Bo,Co,Do,Eo,Fo,Go,Ho,Io,Jo,Ko,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,Wo,Xo,Yo,Zo,_o,$o,ap,bp,cp,dp,ep,fp,gp,hp,ip,Zn,Qn,jq,kq,lq,mq,nq,oq,ds,es,fs,gs,hs,is,js,ks,ls,ms,ns,os,ps,qs,rs,ss,ts,us,vs,ws,xs,ys,zs,As,Bs,Cs,Ds,Es,Fs,Gs,Hs,Is,Js,Ks,Ls,Ms,Ns,Os,Ps,Qs,Rs,Ss,Ts,Us,Vs,Ws,Xs,Ys,Zs,_s,$s,at,bt,ct,dt,et,ft,gt,ht,it,jt,Mt,Ot,Tt,Ut,Xt,Yt,eu,fu,iu,ju,mu,nu,qu,ru,tu,uu,vu,xu,yu,Bu,Cu,Eu,Fu,Hu,Ju,Lu,Mu,Qu,Su,Tu,_u,$u,av,bv,ev,hv,iv,nv,pv,qv,rv,sv,uv,wv,xv,yv,zv,Bv,Ev,Hv,Iv,Jv,Kv,Lv,Mv,Sv,Wv,Xv,Yv,Zv,$v,dw,ew,gw,hw,kw,mw,nw,pw,qw,sw,uw,vw,xw,zw,Bw,Ew,Iw,Mw,Ow,Pw,Rw,Sw,Yw,_w,bx,cx,zx,Cx,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE,XE];var ga=[YE,zC,AC,BC,CC,DC,EC,FC,GC,HC,IC,Uc,Vc,kd,sd,Kd,Rd,Sd,Td,Vd,ge,je,se,xe,Xe,gf,nf,of,Hf,Kf,Of,eg,ig,kg,mg,ng,og,Qt,Rt,gu,ou,Gu,Nu,Ou,Pu,Ru,cv,fv,ov,tv,Tv,cw,iw,jw,Cw,Fw,Jw,$w,dx,fx,hx,ix,jx,Ax,Bx,xz,tz,aA,tB,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE,YE];var ha=[ZE,KC,LC,MC,NC,OC,PC,QC,RC,SC,TC,bd,od,wd,Md,Yd,Zd,_d,$d,ae,be,he,ze,Ze,ff,kf,tf,wf,Df,Ff,If,Lf,Yf,ag,lg,pg,gn,hn,Zt,ku,su,Iu,Uu,Vu,Wu,Xu,Yu,Zu,dv,vv,Vv,bw,fw,ow,rw,yw,Aw,Dw,Gw,Tw,Xw,gx,kx,ZE];var ia=[_E,VC,WC,XC,YC,ZC,_C,$C,aD,bD,cD,Dd,Pf,Sf,_f,$f,cg,zu,Kw,Nw,Vw,Ww,Zw,_E,_E,_E,_E,_E,_E,_E,_E,_E];var ja=[$E,eD,fD,gD,hD,iD,jD,kD,lD,mD,nD,Zc,cd,ed,gd,Vt,_t,au,cu,$E,$E,$E,$E,$E,$E,$E,$E,$E,$E,$E,$E,$E];var ka=[aF,pD,qD,rD,sD,tD,uD,vD,wD,xD,yD,dd,fd,Zf,$t,bu,Uw,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF];var la=[bF,AD,BD,CD,DD,ED,FD,GD,HD,ID,JD,bF,bF,bF,bF,bF];var ma=[cF,LD,MD,ND,OD,PD,QD,RD,SD,TD,UD,Bb,Cb,Oc,Pc,qg,rg,sg,tg,vg,wg,Ig,Jg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Vg,Wg,Xg,Yg,Zg,_g,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Yh,Zh,_h,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,ji,ki,li,mi,oi,pi,qi,ri,si,ti,ui,vi,wi,xi,yi,zi,Di,Ei,Bi,Ci,Fi,Gi,Hi,Ii,Ji,Ki,Li,Mi,Ni,Oi,Pi,Qi,mj,nj,qj,rj,Pj,Qj,zm,Am,hm,rm,um,vm,im,lm,mm,en,fn,$n,ao,Sn,Tn,Wn,Xn,Kn,Nn,On,mp,iq,Gq,Hq,Oq,Pq,Lq,Mq,Iq,Jq,or,pr,fr,gr,ir,nr,lr,mr,jr,qr,rr,ur,vr,sr,tr,wr,xr,yr,zr,Ar,Br,Cr,Dr,Er,Fr,Gr,Hr,cs,Kt,Lt,wx,xx,pB,qB,rB,sB,CB,GB,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF,cF];var na=[dF,WD,XD,YD,ZD,_D,$D,aE,bE,cE,dE,Rc,pj,tm,km,Vn,Yn,Mn,Nt,yx,dF,dF,dF,dF,dF,dF,dF,dF,dF,dF,dF,dF];var oa=[eF,fE,gE,hE,iE,jE,kE,lE,mE,nE,oE,wm,nm,Pn,eF,eF];var pa=[fF,qE,rE,sE,tE,uE,vE,wE,xE,yE,zE,wB,FB,JB,fF,fF];var qa=[gF,BE,CE,DE,EE,FE,GE,HE,IE,JE,KE,vB,EB,IB,gF,gF];var ra=[hF,ME,NE,OE,PE,QE,RE,SE,TE,UE,VE,uB,DB,HB,hF,hF];return{___emscripten_environ_constructor:BA,___errno_location:vz,___muldi3:PB,___udivdi3:UB,__get_environ:CA,_bitshift64Ashr:VB,_bitshift64Lshr:WB,_bitshift64Shl:XB,_dummy_workaround_for_emscripten_issue_7073:yb,_emscripten_replace_memory:da,_free:AA,_i64Add:QB,_i64Subtract:RB,_llvm_bswap_i32:YB,_llvm_ctlz_i64:ZB,_malloc:zA,_memcpy:_B,_memmove:$B,_memset:aC,_sbrk:bC,_wabt_apply_names_module:_a,_wabt_bulk_memory_enabled:Oa,_wabt_destroy_errors:ib,_wabt_destroy_features:xa,_wabt_destroy_module:cb,_wabt_destroy_output_buffer:xb,_wabt_destroy_parse_wat_result:lb,_wabt_destroy_read_binary_result:qb,_wabt_destroy_wast_lexer:eb,_wabt_destroy_write_module_result:ub,_wabt_exceptions_enabled:ya,_wabt_format_binary_errors:hb,_wabt_format_text_errors:gb,_wabt_generate_names_module:$a,_wabt_multi_value_enabled:Ka,_wabt_mutable_globals_enabled:Aa,_wabt_new_errors:fb,_wabt_new_features:wa,_wabt_new_wast_buffer_lexer:Sa,_wabt_output_buffer_get_data:vb,_wabt_output_buffer_get_size:wb,_wabt_parse_wast:Ua,_wabt_parse_wast_result_get_result:mb,_wabt_parse_wast_result_release_module:nb,_wabt_parse_wat:Ta,_wabt_parse_wat_result_get_result:jb,_wabt_parse_wat_result_release_module:kb,_wabt_read_binary:Va,_wabt_read_binary_result_get_result:ob,_wabt_read_binary_result_release_module:pb,_wabt_reference_types_enabled:Qa,_wabt_resolve_names_module:Wa,_wabt_sat_float_to_int_enabled:Ca,_wabt_set_bulk_memory_enabled:Pa,_wabt_set_exceptions_enabled:za,_wabt_set_multi_value_enabled:La,_wabt_set_mutable_globals_enabled:Ba,_wabt_set_reference_types_enabled:Ra,_wabt_set_sat_float_to_int_enabled:Da,_wabt_set_sign_extension_enabled:Fa,_wabt_set_simd_enabled:Ha,_wabt_set_tail_call_enabled:Na,_wabt_set_threads_enabled:Ja,_wabt_sign_extension_enabled:Ea,_wabt_simd_enabled:Ga,_wabt_tail_call_enabled:Ma,_wabt_threads_enabled:Ia,_wabt_validate_module:Xa,_wabt_validate_script:Ya,_wabt_write_binary_module:ab,_wabt_write_binary_spec_script:Za,_wabt_write_module_result_get_result:rb,_wabt_write_module_result_release_log_output_buffer:tb,_wabt_write_module_result_release_output_buffer:sb,_wabt_write_text_module:bb,dynCall_ii:cC,dynCall_iii:nC,dynCall_iiii:yC,dynCall_iiiii:JC,dynCall_iiiiii:UC,dynCall_iiiiiii:dD,dynCall_iiiiiiii:oD,dynCall_v:zD,dynCall_vi:KD,dynCall_vii:VD,dynCall_viii:eE,dynCall_viiii:pE,dynCall_viiiii:AE,dynCall_viiiiii:LE,establishStackSpace:va,stackAlloc:sa,stackRestore:ua,stackSave:ta}}) +var ea=[fF,oC,pC,qC,rC,sC,tC,uC,vC,wC,xC,Tc,Wc,_c,hd,ld,pd,td,Ad,Ed,Hd,Od,ke,ne,oe,pe,qe,Ee,Ge,He,Je,Ke,Re,Se,Te,Ue,Ve,Ye,cf,ef,qf,yf,Bf,Mf,Qf,Vf,gg,kg,pj,vj,zm,Fm,qm,wm,$n,go,Sn,Yn,ir,fr,cr,du,gu,ku,tu,xu,Bu,Fu,Mu,Qu,Tu,_u,wv,zv,Av,Bv,Cv,Qv,Sv,Tv,Vv,Wv,bw,cw,dw,ew,fw,iw,ow,qw,Bw,Jw,Mw,Xw,$w,ex,rx,vx,Dz,iq,cq,Aq,or,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF];var fa=[gF,zC,AC,BC,CC,DC,EC,FC,GC,HC,IC,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Qc,Sc,Xc,Yc,$c,ad,id,jd,md,nd,qd,rd,ud,vd,xd,yd,zd,Bd,Cd,Fd,Gd,Id,Jd,Ld,Nd,Pd,Qd,Ud,Wd,Xd,ce,de,ee,fe,ie,le,me,re,te,ue,ve,we,ye,Ae,Be,Ce,De,Fe,Ie,Le,Me,Ne,Oe,Pe,Qe,We,_e,$e,af,bf,df,hf,jf,lf,mf,pf,rf,sf,uf,vf,xf,zf,Af,Cf,Ef,Gf,Jf,Nf,Rf,Tf,Uf,Wf,Xf,cg,eg,hg,ig,tj,uj,Sj,Tj,Uj,Vj,Wj,Xj,Yj,Zj,_j,$j,ak,bk,ck,dk,ek,fk,gk,hk,ik,jk,kk,lk,mk,nk,ok,pk,qk,rk,sk,tk,Im,Jm,Km,Lm,Mm,Nm,Om,Pm,Qm,Rm,Sm,Tm,Um,Vm,Wm,Xm,Ym,Zm,_m,$m,an,bn,cn,dn,en,fn,gn,hn,jn,kn,Em,vm,jo,ko,lo,mo,no,oo,po,qo,ro,so,to,uo,vo,wo,xo,yo,zo,Ao,Bo,Co,Do,Eo,Fo,Go,Ho,Io,Jo,Ko,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,Wo,Xo,Yo,Zo,_o,$o,ap,bp,cp,dp,ep,fp,gp,hp,ip,jp,kp,lp,mp,np,op,pp,fo,Xn,Dq,Eq,Fq,Gq,Hq,Iq,xs,ys,zs,As,Bs,Cs,Ds,Es,Fs,Gs,Hs,Is,Js,Ks,Ls,Ms,Ns,Os,Ps,Qs,Rs,Ss,Ts,Us,Vs,Ws,Xs,Ys,Zs,_s,$s,at,bt,ct,dt,et,ft,gt,ht,it,jt,kt,lt,mt,nt,ot,pt,qt,rt,st,tt,ut,vt,wt,xt,yt,zt,At,Bt,Ct,Dt,au,cu,hu,iu,lu,mu,uu,vu,yu,zu,Cu,Du,Gu,Hu,Ju,Ku,Lu,Nu,Ou,Ru,Su,Uu,Vu,Xu,Zu,$u,av,ev,gv,hv,ov,pv,qv,rv,uv,xv,yv,Dv,Fv,Gv,Hv,Iv,Kv,Mv,Nv,Ov,Pv,Rv,Uv,Xv,Yv,Zv,_v,$v,aw,gw,kw,lw,mw,nw,pw,tw,uw,ww,xw,Aw,Cw,Dw,Fw,Gw,Iw,Kw,Lw,Nw,Pw,Rw,Uw,Yw,ax,cx,dx,fx,gx,nx,px,sx,tx,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF];var ga=[hF,KC,LC,MC,NC,OC,PC,QC,RC,SC,TC,Uc,Vc,kd,sd,Kd,Rd,Sd,Td,Vd,ge,je,se,xe,Xe,gf,nf,of,Hf,Kf,Of,fg,jg,lg,ng,og,pg,eu,fu,wu,Eu,Wu,bv,cv,dv,fv,sv,vv,Ev,Jv,hw,sw,yw,zw,Sw,Vw,Zw,qx,ux,wx,yx,zx,Ax,Iz,Ez,lA,DB,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF,hF];var ha=[iF,VC,WC,XC,YC,ZC,_C,$C,aD,bD,cD,bd,od,wd,Md,Yd,Zd,_d,$d,ae,be,he,ze,Ze,ff,kf,tf,wf,Df,Ff,If,Lf,Yf,ag,mg,qg,on,pn,nu,Au,Iu,Yu,iv,jv,kv,lv,mv,nv,tv,Lv,jw,rw,vw,Ew,Hw,Ow,Qw,Tw,Ww,hx,lx,xx,Bx,iF];var ia=[jF,eD,fD,gD,hD,iD,jD,kD,lD,mD,nD,Dd,Pf,Sf,_f,$f,bg,dg,Pu,_w,bx,jx,kx,mx,ox,jF,jF,jF,jF,jF,jF,jF];var ja=[kF,pD,qD,rD,sD,tD,uD,vD,wD,xD,yD,Zc,cd,ed,gd,ju,ou,qu,su,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF,kF];var ka=[lF,AD,BD,CD,DD,ED,FD,GD,HD,ID,JD,dd,fd,Zf,pu,ru,ix,lF,lF,lF,lF,lF,lF,lF,lF,lF,lF,lF,lF,lF,lF,lF];var la=[mF,LD,MD,ND,OD,PD,QD,RD,SD,TD,UD,mF,mF,mF,mF,mF];var ma=[nF,WD,XD,YD,ZD,_D,$D,aE,bE,cE,dE,Bb,Cb,Oc,Pc,rg,sg,tg,ug,wg,xg,Jg,Kg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Wg,Xg,Yg,Zg,_g,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Xh,Zh,_h,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,ji,ki,li,mi,ni,pi,qi,ri,si,ti,ui,vi,wi,xi,yi,zi,Ai,Ei,Fi,Ci,Di,Gi,Hi,Ii,Ji,Ki,Li,Mi,Ni,Oi,Pi,Qi,Ri,nj,oj,rj,sj,Qj,Rj,Gm,Hm,om,ym,Bm,Cm,pm,sm,tm,mn,nn,ho,io,Zn,_n,bo,co,Rn,Un,Vn,tp,Cq,_q,$q,gr,hr,dr,er,ar,br,Ir,Jr,zr,Ar,Cr,Hr,Fr,Gr,Dr,Kr,Lr,Or,Pr,Mr,Nr,Qr,Rr,Sr,Tr,Ur,Vr,Wr,Xr,Yr,Zr,_r,$r,ws,_t,$t,zB,AB,BB,CB,MB,QB,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF,nF];var na=[oF,fE,gE,hE,iE,jE,kE,lE,mE,nE,oE,Rc,qj,Am,rm,ao,eo,Tn,bu,oF,oF,oF,oF,oF,oF,oF,oF,oF,oF,oF,oF,oF];var oa=[pF,qE,rE,sE,tE,uE,vE,wE,xE,yE,zE,Dm,um,Wn,pF,pF];var pa=[qF,BE,CE,DE,EE,FE,GE,HE,IE,JE,KE,GB,PB,TB,qF,qF];var qa=[rF,ME,NE,OE,PE,QE,RE,SE,TE,UE,VE,FB,OB,SB,rF,rF];var ra=[sF,XE,YE,ZE,_E,$E,aF,bF,cF,dF,eF,EB,NB,RB,sF,sF];return{___emscripten_environ_constructor:NA,___errno_location:Gz,___muldi3:_B,___udivdi3:dC,__get_environ:OA,_bitshift64Ashr:eC,_bitshift64Lshr:fC,_bitshift64Shl:gC,_dummy_workaround_for_emscripten_issue_7073:yb,_emscripten_replace_memory:da,_free:MA,_i64Add:$B,_i64Subtract:aC,_llvm_bswap_i32:hC,_llvm_ctlz_i64:iC,_malloc:LA,_memcpy:jC,_memmove:kC,_memset:lC,_sbrk:mC,_wabt_apply_names_module:_a,_wabt_bulk_memory_enabled:Oa,_wabt_destroy_errors:ib,_wabt_destroy_features:xa,_wabt_destroy_module:cb,_wabt_destroy_output_buffer:xb,_wabt_destroy_parse_wat_result:lb,_wabt_destroy_read_binary_result:qb,_wabt_destroy_wast_lexer:eb,_wabt_destroy_write_module_result:ub,_wabt_exceptions_enabled:ya,_wabt_format_binary_errors:hb,_wabt_format_text_errors:gb,_wabt_generate_names_module:$a,_wabt_multi_value_enabled:Ka,_wabt_mutable_globals_enabled:Aa,_wabt_new_errors:fb,_wabt_new_features:wa,_wabt_new_wast_buffer_lexer:Sa,_wabt_output_buffer_get_data:vb,_wabt_output_buffer_get_size:wb,_wabt_parse_wast:Ua,_wabt_parse_wast_result_get_result:mb,_wabt_parse_wast_result_release_module:nb,_wabt_parse_wat:Ta,_wabt_parse_wat_result_get_result:jb,_wabt_parse_wat_result_release_module:kb,_wabt_read_binary:Va,_wabt_read_binary_result_get_result:ob,_wabt_read_binary_result_release_module:pb,_wabt_reference_types_enabled:Qa,_wabt_resolve_names_module:Wa,_wabt_sat_float_to_int_enabled:Ca,_wabt_set_bulk_memory_enabled:Pa,_wabt_set_exceptions_enabled:za,_wabt_set_multi_value_enabled:La,_wabt_set_mutable_globals_enabled:Ba,_wabt_set_reference_types_enabled:Ra,_wabt_set_sat_float_to_int_enabled:Da,_wabt_set_sign_extension_enabled:Fa,_wabt_set_simd_enabled:Ha,_wabt_set_tail_call_enabled:Na,_wabt_set_threads_enabled:Ja,_wabt_sign_extension_enabled:Ea,_wabt_simd_enabled:Ga,_wabt_tail_call_enabled:Ma,_wabt_threads_enabled:Ia,_wabt_validate_module:Xa,_wabt_validate_script:Ya,_wabt_write_binary_module:ab,_wabt_write_binary_spec_script:Za,_wabt_write_module_result_get_result:rb,_wabt_write_module_result_release_log_output_buffer:tb,_wabt_write_module_result_release_output_buffer:sb,_wabt_write_text_module:bb,dynCall_ii:nC,dynCall_iii:yC,dynCall_iiii:JC,dynCall_iiiii:UC,dynCall_iiiiii:dD,dynCall_iiiiiii:oD,dynCall_iiiiiiii:zD,dynCall_v:KD,dynCall_vi:VD,dynCall_vii:eE,dynCall_viii:pE,dynCall_viiii:AE,dynCall_viiiii:LE,dynCall_viiiiii:WE,establishStackSpace:va,stackAlloc:sa,stackRestore:ua,stackSave:ta}}) // EMSCRIPTEN_END_ASM diff --git a/scripts/travis-before-install.sh b/scripts/travis-before-install.sh index 134c93bf..249f0490 100755 --- a/scripts/travis-before-install.sh +++ b/scripts/travis-before-install.sh @@ -16,13 +16,11 @@ # if [[ ${TRAVIS_OS_NAME} = "linux" ]]; then - sudo add-apt-repository ppa:jbboehr/build-deps -y # For re2c 0.16. sudo apt-get update -qq - sudo apt-get install -qq re2c gcc-4.8-multilib g++-4.8-multilib -y + sudo apt-get install -qq gcc-4.8-multilib g++-4.8-multilib -y sudo pip install flake8 elif [[ ${TRAVIS_OS_NAME} = "osx" ]]; then brew update - brew install re2c else echo "unknown TRAVIS_OS_NAME: ${TRAVIS_OS_NAME}" exit 1 diff --git a/scripts/travis-build.sh b/scripts/travis-build.sh index 5bb56892..fc1c369f 100755 --- a/scripts/travis-build.sh +++ b/scripts/travis-build.sh @@ -25,10 +25,7 @@ if [[ ${TRAVIS_OS_NAME} = "linux" ]]; then flake8 --ignore=E111,E114 ./scripts/ fi -if [[ ${COMPILER} = "gcc" ]]; then - # Build without re2c to test prebuilt C sources - make gcc-debug-no-re2c -elif [[ ${COMPILER} = "clang" && -z ${SANITIZER:-} ]]; then +if [[ ${COMPILER} = "clang" && -z ${SANITIZER:-} ]]; then # Test building without GTest submodule make clang-debug-no-tests fi diff --git a/scripts/travis-test.sh b/scripts/travis-test.sh index 3ce6e0b2..a03e132d 100755 --- a/scripts/travis-test.sh +++ b/scripts/travis-test.sh @@ -45,12 +45,6 @@ set_run_test_args() { BINDIR="out/${COMPILER}/${BUILD_TYPE}/${CONFIG}" } -if [ ${CC} = "gcc" ]; then - if set_run_test_args gcc Debug no-re2c; then - run_tests - fi -fi - for BUILD_TYPE in ${BUILD_TYPES_UPPER}; do if [[ -n "${SANITIZER:-}" ]]; then if set_run_test_args ${COMPILER} ${BUILD_TYPE} ${SANITIZER}; then diff --git a/src/lexer-keywords.txt b/src/lexer-keywords.txt new file mode 100644 index 00000000..f6250320 --- /dev/null +++ b/src/lexer-keywords.txt @@ -0,0 +1,516 @@ +struct TokenInfo { + TokenInfo(const char* name) : name(name) {} + TokenInfo(const char* name, TokenType token_type) + : name(name), token_type(token_type) {} + TokenInfo(const char* name, Type value_type) + : name(name), token_type(TokenType::ValueType), value_type(value_type) {} + TokenInfo(const char* name, TokenType token_type, Opcode opcode) + : name(name), token_type(token_type), opcode(opcode) {} + + const char* name; + TokenType token_type; + union { + Type value_type; + Opcode opcode; + }; +}; +%% +anyref, Type::Anyref +assert_exhaustion, TokenType::AssertExhaustion +assert_invalid, TokenType::AssertInvalid +assert_malformed, TokenType::AssertMalformed +assert_return_arithmetic_nan, TokenType::AssertReturnArithmeticNan +assert_return_canonical_nan, TokenType::AssertReturnCanonicalNan +assert_return, TokenType::AssertReturn +assert_trap, TokenType::AssertTrap +assert_unlinkable, TokenType::AssertUnlinkable +atomic.notify, TokenType::AtomicNotify, Opcode::AtomicNotify +binary, TokenType::Bin +block, TokenType::Block, Opcode::Block +br_if, TokenType::BrIf, Opcode::BrIf +br_on_exn, TokenType::BrOnExn, Opcode::BrOnExn +br_table, TokenType::BrTable, Opcode::BrTable +br, TokenType::Br, Opcode::Br +call_indirect, TokenType::CallIndirect, Opcode::CallIndirect +call, TokenType::Call, Opcode::Call +catch, TokenType::Catch, Opcode::Catch +current_memory, TokenType::MemorySize, Opcode::MemorySize +data.drop, TokenType::DataDrop, Opcode::DataDrop +data, TokenType::Data +drop, TokenType::Drop, Opcode::Drop +elem.drop, TokenType::ElemDrop, Opcode::ElemDrop +elem, TokenType::Elem +else, TokenType::Else, Opcode::Else +end, TokenType::End, Opcode::End +event, TokenType::Event +export, TokenType::Export +f32.abs, TokenType::Unary, Opcode::F32Abs +f32.add, TokenType::Binary, Opcode::F32Add +f32.ceil, TokenType::Unary, Opcode::F32Ceil +f32.const, TokenType::Const, Opcode::F32Const +f32.convert_i32_s, TokenType::Convert, Opcode::F32ConvertI32S +f32.convert_i32_u, TokenType::Convert, Opcode::F32ConvertI32U +f32.convert_i64_s, TokenType::Convert, Opcode::F32ConvertI64S +f32.convert_i64_u, TokenType::Convert, Opcode::F32ConvertI64U +f32.copysign, TokenType::Binary, Opcode::F32Copysign +f32.demote_f64, TokenType::Convert, Opcode::F32DemoteF64 +f32.div, TokenType::Binary, Opcode::F32Div +f32.eq, TokenType::Compare, Opcode::F32Eq +f32.floor, TokenType::Unary, Opcode::F32Floor +f32.ge, TokenType::Compare, Opcode::F32Ge +f32.gt, TokenType::Compare, Opcode::F32Gt +f32.le, TokenType::Compare, Opcode::F32Le +f32.load, TokenType::Load, Opcode::F32Load +f32.lt, TokenType::Compare, Opcode::F32Lt +f32.max, TokenType::Binary, Opcode::F32Max +f32.min, TokenType::Binary, Opcode::F32Min +f32.mul, TokenType::Binary, Opcode::F32Mul +f32.nearest, TokenType::Unary, Opcode::F32Nearest +f32.neg, TokenType::Unary, Opcode::F32Neg +f32.ne, TokenType::Compare, Opcode::F32Ne +f32.reinterpret_i32, TokenType::Convert, Opcode::F32ReinterpretI32 +f32.sqrt, TokenType::Unary, Opcode::F32Sqrt +f32.store, TokenType::Store, Opcode::F32Store +f32.sub, TokenType::Binary, Opcode::F32Sub +f32.trunc, TokenType::Unary, Opcode::F32Trunc +f32, Type::F32 +f32x4.abs, TokenType::Unary, Opcode::F32X4Abs +f32x4.add, TokenType::Binary, Opcode::F32X4Add +f32x4.convert_i32x4_s, TokenType::Unary, Opcode::F32X4ConvertI32X4S +f32x4.convert_i32x4_u, TokenType::Unary, Opcode::F32X4ConvertI32X4U +f32x4.div, TokenType::Binary, Opcode::F32X4Div +f32x4.eq, TokenType::Compare, Opcode::F32X4Eq +f32x4.extract_lane, TokenType::SimdLaneOp, Opcode::F32X4ExtractLane +f32x4.ge, TokenType::Compare, Opcode::F32X4Ge +f32x4.gt, TokenType::Compare, Opcode::F32X4Gt +f32x4.le, TokenType::Compare, Opcode::F32X4Le +f32x4.lt, TokenType::Compare, Opcode::F32X4Lt +f32x4.max, TokenType::Binary, Opcode::F32X4Max +f32x4.min, TokenType::Binary, Opcode::F32X4Min +f32x4.mul, TokenType::Binary, Opcode::F32X4Mul +f32x4.neg, TokenType::Unary, Opcode::F32X4Neg +f32x4.ne, TokenType::Compare, Opcode::F32X4Ne +f32x4.replace_lane, TokenType::SimdLaneOp, Opcode::F32X4ReplaceLane +f32x4.splat, TokenType::Unary, Opcode::F32X4Splat +f32x4.sqrt, TokenType::Unary, Opcode::F32X4Sqrt +f32x4.sub, TokenType::Binary, Opcode::F32X4Sub +f32x4, TokenType::F32X4 +f64.abs, TokenType::Unary, Opcode::F64Abs +f64.add, TokenType::Binary, Opcode::F64Add +f64.ceil, TokenType::Unary, Opcode::F64Ceil +f64.const, TokenType::Const, Opcode::F64Const +f64.convert_i32_s, TokenType::Convert, Opcode::F64ConvertI32S +f64.convert_i32_u, TokenType::Convert, Opcode::F64ConvertI32U +f64.convert_i64_s, TokenType::Convert, Opcode::F64ConvertI64S +f64.convert_i64_u, TokenType::Convert, Opcode::F64ConvertI64U +f64.copysign, TokenType::Binary, Opcode::F64Copysign +f64.div, TokenType::Binary, Opcode::F64Div +f64.eq, TokenType::Compare, Opcode::F64Eq +f64.floor, TokenType::Unary, Opcode::F64Floor +f64.ge, TokenType::Compare, Opcode::F64Ge +f64.gt, TokenType::Compare, Opcode::F64Gt +f64.le, TokenType::Compare, Opcode::F64Le +f64.load, TokenType::Load, Opcode::F64Load +f64.lt, TokenType::Compare, Opcode::F64Lt +f64.max, TokenType::Binary, Opcode::F64Max +f64.min, TokenType::Binary, Opcode::F64Min +f64.mul, TokenType::Binary, Opcode::F64Mul +f64.nearest, TokenType::Unary, Opcode::F64Nearest +f64.neg, TokenType::Unary, Opcode::F64Neg +f64.ne, TokenType::Compare, Opcode::F64Ne +f64.promote_f32, TokenType::Convert, Opcode::F64PromoteF32 +f64.reinterpret_i64, TokenType::Convert, Opcode::F64ReinterpretI64 +f64.sqrt, TokenType::Unary, Opcode::F64Sqrt +f64.store, TokenType::Store, Opcode::F64Store +f64.sub, TokenType::Binary, Opcode::F64Sub +f64.trunc, TokenType::Unary, Opcode::F64Trunc +f64, Type::F64 +f64x2.abs, TokenType::Unary, Opcode::F64X2Abs +f64x2.add, TokenType::Binary, Opcode::F64X2Add +f64x2.convert_i64x2_s, TokenType::Unary, Opcode::F64X2ConvertI64X2S +f64x2.convert_i64x2_u, TokenType::Unary, Opcode::F64X2ConvertI64X2U +f64x2.div, TokenType::Binary, Opcode::F64X2Div +f64x2.eq, TokenType::Compare, Opcode::F64X2Eq +f64x2.extract_lane, TokenType::SimdLaneOp, Opcode::F64X2ExtractLane +f64x2.ge, TokenType::Compare, Opcode::F64X2Ge +f64x2.gt, TokenType::Compare, Opcode::F64X2Gt +f64x2.le, TokenType::Compare, Opcode::F64X2Le +f64x2.lt, TokenType::Compare, Opcode::F64X2Lt +f64x2.max, TokenType::Binary, Opcode::F64X2Max +f64x2.min, TokenType::Binary, Opcode::F64X2Min +f64x2.mul, TokenType::Binary, Opcode::F64X2Mul +f64x2.neg, TokenType::Unary, Opcode::F64X2Neg +f64x2.ne, TokenType::Compare, Opcode::F64X2Ne +f64x2.replace_lane, TokenType::SimdLaneOp, Opcode::F64X2ReplaceLane +f64x2.splat, TokenType::Unary, Opcode::F64X2Splat +f64x2.sqrt, TokenType::Unary, Opcode::F64X2Sqrt +f64x2.sub, TokenType::Binary, Opcode::F64X2Sub +f64x2, TokenType::F64X2 +funcref, Type::Funcref +func, TokenType::Func +get, TokenType::Get +global.get, TokenType::GlobalGet, Opcode::GlobalGet +global.set, TokenType::GlobalSet, Opcode::GlobalSet +global, TokenType::Global +grow_memory, TokenType::MemoryGrow, Opcode::MemoryGrow +i16x8.add_saturate_s, TokenType::Binary, Opcode::I16X8AddSaturateS +i16x8.add_saturate_u, TokenType::Binary, Opcode::I16X8AddSaturateU +i16x8.add, TokenType::Binary, Opcode::I16X8Add +i16x8.all_true, TokenType::Unary, Opcode::I16X8AllTrue +i16x8.any_true, TokenType::Unary, Opcode::I16X8AnyTrue +i16x8.eq, TokenType::Compare, Opcode::I16X8Eq +i16x8.extract_lane_s, TokenType::SimdLaneOp, Opcode::I16X8ExtractLaneS +i16x8.extract_lane_u, TokenType::SimdLaneOp, Opcode::I16X8ExtractLaneU +i16x8.ge_s, TokenType::Compare, Opcode::I16X8GeS +i16x8.ge_u, TokenType::Compare, Opcode::I16X8GeU +i16x8.gt_s, TokenType::Compare, Opcode::I16X8GtS +i16x8.gt_u, TokenType::Compare, Opcode::I16X8GtU +i16x8.le_s, TokenType::Compare, Opcode::I16X8LeS +i16x8.le_u, TokenType::Compare, Opcode::I16X8LeU +i16x8.lt_s, TokenType::Compare, Opcode::I16X8LtS +i16x8.lt_u, TokenType::Compare, Opcode::I16X8LtU +i16x8.mul, TokenType::Binary, Opcode::I16X8Mul +i16x8.neg, TokenType::Unary, Opcode::I16X8Neg +i16x8.ne, TokenType::Compare, Opcode::I16X8Ne +i16x8.replace_lane, TokenType::SimdLaneOp, Opcode::I16X8ReplaceLane +i16x8.shl, TokenType::Binary, Opcode::I16X8Shl +i16x8.shr_s, TokenType::Binary, Opcode::I16X8ShrS +i16x8.shr_u, TokenType::Binary, Opcode::I16X8ShrU +i16x8.splat, TokenType::Unary, Opcode::I16X8Splat +i16x8.sub_saturate_s, TokenType::Binary, Opcode::I16X8SubSaturateS +i16x8.sub_saturate_u, TokenType::Binary, Opcode::I16X8SubSaturateU +i16x8.sub, TokenType::Binary, Opcode::I16X8Sub +i16x8, TokenType::I16X8 +i32.add, TokenType::Binary, Opcode::I32Add +i32.and, TokenType::Binary, Opcode::I32And +i32.atomic.load16_u, TokenType::AtomicLoad, Opcode::I32AtomicLoad16U +i32.atomic.load8_u, TokenType::AtomicLoad, Opcode::I32AtomicLoad8U +i32.atomic.load, TokenType::AtomicLoad, Opcode::I32AtomicLoad +i32.atomic.rmw16.add_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw16AddU +i32.atomic.rmw16.and_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw16AndU +i32.atomic.rmw16.cmpxchg_u, TokenType::AtomicRmwCmpxchg, Opcode::I32AtomicRmw16CmpxchgU +i32.atomic.rmw16.or_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw16OrU +i32.atomic.rmw16.sub_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw16SubU +i32.atomic.rmw16.xchg_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw16XchgU +i32.atomic.rmw16.xor_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw16XorU +i32.atomic.rmw8.add_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw8AddU +i32.atomic.rmw8.and_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw8AndU +i32.atomic.rmw8.cmpxchg_u, TokenType::AtomicRmwCmpxchg, Opcode::I32AtomicRmw8CmpxchgU +i32.atomic.rmw8.or_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw8OrU +i32.atomic.rmw8.sub_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw8SubU +i32.atomic.rmw8.xchg_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw8XchgU +i32.atomic.rmw8.xor_u, TokenType::AtomicRmw, Opcode::I32AtomicRmw8XorU +i32.atomic.rmw.add, TokenType::AtomicRmw, Opcode::I32AtomicRmwAdd +i32.atomic.rmw.and, TokenType::AtomicRmw, Opcode::I32AtomicRmwAnd +i32.atomic.rmw.cmpxchg, TokenType::AtomicRmwCmpxchg, Opcode::I32AtomicRmwCmpxchg +i32.atomic.rmw.or, TokenType::AtomicRmw, Opcode::I32AtomicRmwOr +i32.atomic.rmw.sub, TokenType::AtomicRmw, Opcode::I32AtomicRmwSub +i32.atomic.rmw.xchg, TokenType::AtomicRmw, Opcode::I32AtomicRmwXchg +i32.atomic.rmw.xor, TokenType::AtomicRmw, Opcode::I32AtomicRmwXor +i32.atomic.store16, TokenType::AtomicStore, Opcode::I32AtomicStore16 +i32.atomic.store8, TokenType::AtomicStore, Opcode::I32AtomicStore8 +i32.atomic.store, TokenType::AtomicStore, Opcode::I32AtomicStore +i32.atomic.wait, TokenType::AtomicWait, Opcode::I32AtomicWait +i32.clz, TokenType::Unary, Opcode::I32Clz +i32.const, TokenType::Const, Opcode::I32Const +i32.ctz, TokenType::Unary, Opcode::I32Ctz +i32.div_s, TokenType::Binary, Opcode::I32DivS +i32.div_u, TokenType::Binary, Opcode::I32DivU +i32.eq, TokenType::Compare, Opcode::I32Eq +i32.eqz, TokenType::Convert, Opcode::I32Eqz +i32.extend16_s, TokenType::Unary, Opcode::I32Extend16S +i32.extend8_s, TokenType::Unary, Opcode::I32Extend8S +i32.ge_s, TokenType::Compare, Opcode::I32GeS +i32.ge_u, TokenType::Compare, Opcode::I32GeU +i32.gt_s, TokenType::Compare, Opcode::I32GtS +i32.gt_u, TokenType::Compare, Opcode::I32GtU +i32.le_s, TokenType::Compare, Opcode::I32LeS +i32.le_u, TokenType::Compare, Opcode::I32LeU +i32.load16_s, TokenType::Load, Opcode::I32Load16S +i32.load16_u, TokenType::Load, Opcode::I32Load16U +i32.load8_s, TokenType::Load, Opcode::I32Load8S +i32.load8_u, TokenType::Load, Opcode::I32Load8U +i32.load, TokenType::Load, Opcode::I32Load +i32.lt_s, TokenType::Compare, Opcode::I32LtS +i32.lt_u, TokenType::Compare, Opcode::I32LtU +i32.mul, TokenType::Binary, Opcode::I32Mul +i32.ne, TokenType::Compare, Opcode::I32Ne +i32.or, TokenType::Binary, Opcode::I32Or +i32.popcnt, TokenType::Unary, Opcode::I32Popcnt +i32.reinterpret_f32, TokenType::Convert, Opcode::I32ReinterpretF32 +i32.rem_s, TokenType::Binary, Opcode::I32RemS +i32.rem_u, TokenType::Binary, Opcode::I32RemU +i32.rotl, TokenType::Binary, Opcode::I32Rotl +i32.rotr, TokenType::Binary, Opcode::I32Rotr +i32.shl, TokenType::Binary, Opcode::I32Shl +i32.shr_s, TokenType::Binary, Opcode::I32ShrS +i32.shr_u, TokenType::Binary, Opcode::I32ShrU +i32.store16, TokenType::Store, Opcode::I32Store16 +i32.store8, TokenType::Store, Opcode::I32Store8 +i32.store, TokenType::Store, Opcode::I32Store +i32.sub, TokenType::Binary, Opcode::I32Sub +i32.trunc_f32_s, TokenType::Convert, Opcode::I32TruncF32S +i32.trunc_f32_u, TokenType::Convert, Opcode::I32TruncF32U +i32.trunc_f64_s, TokenType::Convert, Opcode::I32TruncF64S +i32.trunc_f64_u, TokenType::Convert, Opcode::I32TruncF64U +i32.trunc_sat_f32_s, TokenType::Convert, Opcode::I32TruncSatF32S +i32.trunc_sat_f32_u, TokenType::Convert, Opcode::I32TruncSatF32U +i32.trunc_sat_f64_s, TokenType::Convert, Opcode::I32TruncSatF64S +i32.trunc_sat_f64_u, TokenType::Convert, Opcode::I32TruncSatF64U +i32, Type::I32 +i32.wrap_i64, TokenType::Convert, Opcode::I32WrapI64 +i32x4.add, TokenType::Binary, Opcode::I32X4Add +i32x4.all_true, TokenType::Unary, Opcode::I32X4AllTrue +i32x4.any_true, TokenType::Unary, Opcode::I32X4AnyTrue +i32x4.eq, TokenType::Compare, Opcode::I32X4Eq +i32x4.extract_lane, TokenType::SimdLaneOp, Opcode::I32X4ExtractLane +i32x4.ge_s, TokenType::Compare, Opcode::I32X4GeS +i32x4.ge_u, TokenType::Compare, Opcode::I32X4GeU +i32x4.gt_s, TokenType::Compare, Opcode::I32X4GtS +i32x4.gt_u, TokenType::Compare, Opcode::I32X4GtU +i32x4.le_s, TokenType::Compare, Opcode::I32X4LeS +i32x4.le_u, TokenType::Compare, Opcode::I32X4LeU +i32x4.lt_s, TokenType::Compare, Opcode::I32X4LtS +i32x4.lt_u, TokenType::Compare, Opcode::I32X4LtU +i32x4.mul, TokenType::Binary, Opcode::I32X4Mul +i32x4.neg, TokenType::Unary, Opcode::I32X4Neg +i32x4.ne, TokenType::Compare, Opcode::I32X4Ne +i32x4.replace_lane, TokenType::SimdLaneOp, Opcode::I32X4ReplaceLane +i32x4.shl, TokenType::Binary, Opcode::I32X4Shl +i32x4.shr_s, TokenType::Binary, Opcode::I32X4ShrS +i32x4.shr_u, TokenType::Binary, Opcode::I32X4ShrU +i32x4.splat, TokenType::Unary, Opcode::I32X4Splat +i32x4.sub, TokenType::Binary, Opcode::I32X4Sub +i32x4, TokenType::I32X4 +i32x4.trunc_sat_f32x4_s, TokenType::Unary, Opcode::I32X4TruncSatF32X4S +i32x4.trunc_sat_f32x4_u, TokenType::Unary, Opcode::I32X4TruncSatF32X4U +i32.xor, TokenType::Binary, Opcode::I32Xor +i64.add, TokenType::Binary, Opcode::I64Add +i64.and, TokenType::Binary, Opcode::I64And +i64.atomic.load16_u, TokenType::AtomicLoad, Opcode::I64AtomicLoad16U +i64.atomic.load32_u, TokenType::AtomicLoad, Opcode::I64AtomicLoad32U +i64.atomic.load8_u, TokenType::AtomicLoad, Opcode::I64AtomicLoad8U +i64.atomic.load, TokenType::AtomicLoad, Opcode::I64AtomicLoad +i64.atomic.rmw16.add_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw16AddU +i64.atomic.rmw16.and_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw16AndU +i64.atomic.rmw16.cmpxchg_u, TokenType::AtomicRmwCmpxchg, Opcode::I64AtomicRmw16CmpxchgU +i64.atomic.rmw16.or_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw16OrU +i64.atomic.rmw16.sub_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw16SubU +i64.atomic.rmw16.xchg_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw16XchgU +i64.atomic.rmw16.xor_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw16XorU +i64.atomic.rmw32.add_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw32AddU +i64.atomic.rmw32.and_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw32AndU +i64.atomic.rmw32.cmpxchg_u, TokenType::AtomicRmwCmpxchg, Opcode::I64AtomicRmw32CmpxchgU +i64.atomic.rmw32.or_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw32OrU +i64.atomic.rmw32.sub_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw32SubU +i64.atomic.rmw32.xchg_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw32XchgU +i64.atomic.rmw32.xor_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw32XorU +i64.atomic.rmw8.add_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw8AddU +i64.atomic.rmw8.and_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw8AndU +i64.atomic.rmw8.cmpxchg_u, TokenType::AtomicRmwCmpxchg, Opcode::I64AtomicRmw8CmpxchgU +i64.atomic.rmw8.or_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw8OrU +i64.atomic.rmw8.sub_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw8SubU +i64.atomic.rmw8.xchg_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw8XchgU +i64.atomic.rmw8.xor_u, TokenType::AtomicRmw, Opcode::I64AtomicRmw8XorU +i64.atomic.rmw.add, TokenType::AtomicRmw, Opcode::I64AtomicRmwAdd +i64.atomic.rmw.and, TokenType::AtomicRmw, Opcode::I64AtomicRmwAnd +i64.atomic.rmw.cmpxchg, TokenType::AtomicRmwCmpxchg, Opcode::I64AtomicRmwCmpxchg +i64.atomic.rmw.or, TokenType::AtomicRmw, Opcode::I64AtomicRmwOr +i64.atomic.rmw.sub, TokenType::AtomicRmw, Opcode::I64AtomicRmwSub +i64.atomic.rmw.xchg, TokenType::AtomicRmw, Opcode::I64AtomicRmwXchg +i64.atomic.rmw.xor, TokenType::AtomicRmw, Opcode::I64AtomicRmwXor +i64.atomic.store16, TokenType::AtomicStore, Opcode::I64AtomicStore16 +i64.atomic.store32, TokenType::AtomicStore, Opcode::I64AtomicStore32 +i64.atomic.store8, TokenType::AtomicStore, Opcode::I64AtomicStore8 +i64.atomic.store, TokenType::AtomicStore, Opcode::I64AtomicStore +i64.atomic.wait, TokenType::AtomicWait, Opcode::I64AtomicWait +i64.clz, TokenType::Unary, Opcode::I64Clz +i64.const, TokenType::Const, Opcode::I64Const +i64.ctz, TokenType::Unary, Opcode::I64Ctz +i64.div_s, TokenType::Binary, Opcode::I64DivS +i64.div_u, TokenType::Binary, Opcode::I64DivU +i64.eq, TokenType::Compare, Opcode::I64Eq +i64.eqz, TokenType::Convert, Opcode::I64Eqz +i64.extend16_s, TokenType::Unary, Opcode::I64Extend16S +i64.extend32_s, TokenType::Unary, Opcode::I64Extend32S +i64.extend8_s, TokenType::Unary, Opcode::I64Extend8S +i64.extend_i32_s, TokenType::Convert, Opcode::I64ExtendI32S +i64.extend_i32_u, TokenType::Convert, Opcode::I64ExtendI32U +i64.ge_s, TokenType::Compare, Opcode::I64GeS +i64.ge_u, TokenType::Compare, Opcode::I64GeU +i64.gt_s, TokenType::Compare, Opcode::I64GtS +i64.gt_u, TokenType::Compare, Opcode::I64GtU +i64.le_s, TokenType::Compare, Opcode::I64LeS +i64.le_u, TokenType::Compare, Opcode::I64LeU +i64.load16_s, TokenType::Load, Opcode::I64Load16S +i64.load16_u, TokenType::Load, Opcode::I64Load16U +i64.load32_s, TokenType::Load, Opcode::I64Load32S +i64.load32_u, TokenType::Load, Opcode::I64Load32U +i64.load8_s, TokenType::Load, Opcode::I64Load8S +i64.load8_u, TokenType::Load, Opcode::I64Load8U +i64.load, TokenType::Load, Opcode::I64Load +i64.lt_s, TokenType::Compare, Opcode::I64LtS +i64.lt_u, TokenType::Compare, Opcode::I64LtU +i64.mul, TokenType::Binary, Opcode::I64Mul +i64.ne, TokenType::Compare, Opcode::I64Ne +i64.or, TokenType::Binary, Opcode::I64Or +i64.popcnt, TokenType::Unary, Opcode::I64Popcnt +i64.reinterpret_f64, TokenType::Convert, Opcode::I64ReinterpretF64 +i64.rem_s, TokenType::Binary, Opcode::I64RemS +i64.rem_u, TokenType::Binary, Opcode::I64RemU +i64.rotl, TokenType::Binary, Opcode::I64Rotl +i64.rotr, TokenType::Binary, Opcode::I64Rotr +i64.shl, TokenType::Binary, Opcode::I64Shl +i64.shr_s, TokenType::Binary, Opcode::I64ShrS +i64.shr_u, TokenType::Binary, Opcode::I64ShrU +i64.store16, TokenType::Store, Opcode::I64Store16 +i64.store32, TokenType::Store, Opcode::I64Store32 +i64.store8, TokenType::Store, Opcode::I64Store8 +i64.store, TokenType::Store, Opcode::I64Store +i64.sub, TokenType::Binary, Opcode::I64Sub +i64.trunc_f32_s, TokenType::Convert, Opcode::I64TruncF32S +i64.trunc_f32_u, TokenType::Convert, Opcode::I64TruncF32U +i64.trunc_f64_s, TokenType::Convert, Opcode::I64TruncF64S +i64.trunc_f64_u, TokenType::Convert, Opcode::I64TruncF64U +i64.trunc_sat_f32_s, TokenType::Convert, Opcode::I64TruncSatF32S +i64.trunc_sat_f32_u, TokenType::Convert, Opcode::I64TruncSatF32U +i64.trunc_sat_f64_s, TokenType::Convert, Opcode::I64TruncSatF64S +i64.trunc_sat_f64_u, TokenType::Convert, Opcode::I64TruncSatF64U +i64, Type::I64 +i64x2.add, TokenType::Binary, Opcode::I64X2Add +i64x2.all_true, TokenType::Unary, Opcode::I64X2AllTrue +i64x2.any_true, TokenType::Unary, Opcode::I64X2AnyTrue +i64x2.extract_lane, TokenType::SimdLaneOp, Opcode::I64X2ExtractLane +i64x2.neg, TokenType::Unary, Opcode::I64X2Neg +i64x2.replace_lane, TokenType::SimdLaneOp, Opcode::I64X2ReplaceLane +i64x2.shl, TokenType::Binary, Opcode::I64X2Shl +i64x2.shr_s, TokenType::Binary, Opcode::I64X2ShrS +i64x2.shr_u, TokenType::Binary, Opcode::I64X2ShrU +i64x2.splat, TokenType::Unary, Opcode::I64X2Splat +i64x2.sub, TokenType::Binary, Opcode::I64X2Sub +i64x2, TokenType::I64X2 +i64x2.trunc_sat_f64x2_s, TokenType::Unary, Opcode::I64X2TruncSatF64X2S +i64x2.trunc_sat_f64x2_u, TokenType::Unary, Opcode::I64X2TruncSatF64X2U +i64.xor, TokenType::Binary, Opcode::I64Xor +i8x16.add_saturate_s, TokenType::Binary, Opcode::I8X16AddSaturateS +i8x16.add_saturate_u, TokenType::Binary, Opcode::I8X16AddSaturateU +i8x16.add, TokenType::Binary, Opcode::I8X16Add +i8x16.all_true, TokenType::Unary, Opcode::I8X16AllTrue +i8x16.any_true, TokenType::Unary, Opcode::I8X16AnyTrue +i8x16.eq, TokenType::Compare, Opcode::I8X16Eq +i8x16.extract_lane_s, TokenType::SimdLaneOp, Opcode::I8X16ExtractLaneS +i8x16.extract_lane_u, TokenType::SimdLaneOp, Opcode::I8X16ExtractLaneU +i8x16.ge_s, TokenType::Compare, Opcode::I8X16GeS +i8x16.ge_u, TokenType::Compare, Opcode::I8X16GeU +i8x16.gt_s, TokenType::Compare, Opcode::I8X16GtS +i8x16.gt_u, TokenType::Compare, Opcode::I8X16GtU +i8x16.le_s, TokenType::Compare, Opcode::I8X16LeS +i8x16.le_u, TokenType::Compare, Opcode::I8X16LeU +i8x16.lt_s, TokenType::Compare, Opcode::I8X16LtS +i8x16.lt_u, TokenType::Compare, Opcode::I8X16LtU +i8x16.mul, TokenType::Binary, Opcode::I8X16Mul +i8x16.neg, TokenType::Unary, Opcode::I8X16Neg +i8x16.ne, TokenType::Compare, Opcode::I8X16Ne +i8x16.replace_lane, TokenType::SimdLaneOp, Opcode::I8X16ReplaceLane +i8x16.shl, TokenType::Binary, Opcode::I8X16Shl +i8x16.shr_s, TokenType::Binary, Opcode::I8X16ShrS +i8x16.shr_u, TokenType::Binary, Opcode::I8X16ShrU +i8x16.splat, TokenType::Unary, Opcode::I8X16Splat +i8x16.sub_saturate_s, TokenType::Binary, Opcode::I8X16SubSaturateS +i8x16.sub_saturate_u, TokenType::Binary, Opcode::I8X16SubSaturateU +i8x16.sub, TokenType::Binary, Opcode::I8X16Sub +i8x16, TokenType::I8X16 +if, TokenType::If, Opcode::If +import, TokenType::Import +invoke, TokenType::Invoke +local.get, TokenType::LocalGet, Opcode::LocalGet +local.set, TokenType::LocalSet, Opcode::LocalSet +local.tee, TokenType::LocalTee, Opcode::LocalTee +local, TokenType::Local +loop, TokenType::Loop, Opcode::Loop +memory.copy, TokenType::MemoryCopy, Opcode::MemoryCopy +memory.fill, TokenType::MemoryFill, Opcode::MemoryFill +memory.grow, TokenType::MemoryGrow, Opcode::MemoryGrow +memory.init, TokenType::MemoryInit, Opcode::MemoryInit +memory.size, TokenType::MemorySize, Opcode::MemorySize +memory, TokenType::Memory +module, TokenType::Module +mut, TokenType::Mut +nop, TokenType::Nop, Opcode::Nop +offset, TokenType::Offset +param, TokenType::Param +passive, TokenType::Passive +quote, TokenType::Quote +ref.is_null, TokenType::RefIsNull, Opcode::RefIsNull +ref.null, TokenType::RefNull, Opcode::RefNull +register, TokenType::Register +result, TokenType::Result +rethrow, TokenType::Rethrow, Opcode::Rethrow +return_call_indirect, TokenType::ReturnCallIndirect, Opcode::ReturnCallIndirect +return_call, TokenType::ReturnCall, Opcode::ReturnCall +return, TokenType::Return, Opcode::Return +select, TokenType::Select, Opcode::Select +shared, TokenType::Shared +start, TokenType::Start +table.copy, TokenType::TableCopy, Opcode::TableCopy +table.get, TokenType::TableGet, Opcode::TableGet +table.grow, TokenType::TableGrow, Opcode::TableGrow +table.init, TokenType::TableInit, Opcode::TableInit +table.set, TokenType::TableSet, Opcode::TableSet +table.size, TokenType::TableSize, Opcode::TableSize +table, TokenType::Table +then, TokenType::Then +throw, TokenType::Throw, Opcode::Throw +try, TokenType::Try, Opcode::Try +type, TokenType::Type +unreachable, TokenType::Unreachable, Opcode::Unreachable +v128.and, TokenType::Binary, Opcode::V128And +v128.bitselect, TokenType::Ternary, Opcode::V128BitSelect +v128.const, TokenType::Const, Opcode::V128Const +v128.load, TokenType::Load, Opcode::V128Load +v128.not, TokenType::Unary, Opcode::V128Not +v128.or, TokenType::Binary, Opcode::V128Or +v128.store, TokenType::Store, Opcode::V128Store +v128, Type::V128 +v128.xor, TokenType::Binary, Opcode::V128Xor +v8x16.shuffle, TokenType::SimdShuffleOp, Opcode::V8X16Shuffle +# Deprecated names. +anyfunc, Type::Funcref +f32.convert_s/i32, TokenType::Convert, Opcode::F32ConvertI32S +f32.convert_s/i64, TokenType::Convert, Opcode::F32ConvertI64S +f32.convert_u/i32, TokenType::Convert, Opcode::F32ConvertI32U +f32.convert_u/i64, TokenType::Convert, Opcode::F32ConvertI64U +f32.demote/f64, TokenType::Convert, Opcode::F32DemoteF64 +f32.reinterpret/i32, TokenType::Convert, Opcode::F32ReinterpretI32 +f64.convert_s/i32, TokenType::Convert, Opcode::F64ConvertI32S +f64.convert_s/i64, TokenType::Convert, Opcode::F64ConvertI64S +f64.convert_u/i32, TokenType::Convert, Opcode::F64ConvertI32U +f64.convert_u/i64, TokenType::Convert, Opcode::F64ConvertI64U +f64.promote/f32, TokenType::Convert, Opcode::F64PromoteF32 +f64.reinterpret/i64, TokenType::Convert, Opcode::F64ReinterpretI64 +get_global, TokenType::GlobalGet, Opcode::GlobalGet +get_local, TokenType::LocalGet, Opcode::LocalGet +i32.reinterpret/f32, TokenType::Convert, Opcode::I32ReinterpretF32 +i32.trunc_s/f32, TokenType::Convert, Opcode::I32TruncF32S +i32.trunc_s/f64, TokenType::Convert, Opcode::I32TruncF64S +i32.trunc_s:sat/f32, TokenType::Convert, Opcode::I32TruncSatF32S +i32.trunc_s:sat/f64, TokenType::Convert, Opcode::I32TruncSatF64S +i32.trunc_u/f32, TokenType::Convert, Opcode::I32TruncF32U +i32.trunc_u/f64, TokenType::Convert, Opcode::I32TruncF64U +i32.trunc_u:sat/f32, TokenType::Convert, Opcode::I32TruncSatF32U +i32.trunc_u:sat/f64, TokenType::Convert, Opcode::I32TruncSatF64U +i32.wrap/i64, TokenType::Convert, Opcode::I32WrapI64 +i64.extend_s/i32, TokenType::Convert, Opcode::I64ExtendI32S +i64.extend_u/i32, TokenType::Convert, Opcode::I64ExtendI32U +i64.reinterpret/f64, TokenType::Convert, Opcode::I64ReinterpretF64 +i64.trunc_s/f32, TokenType::Convert, Opcode::I64TruncF32S +i64.trunc_s/f64, TokenType::Convert, Opcode::I64TruncF64S +i64.trunc_s:sat/f32, TokenType::Convert, Opcode::I64TruncSatF32S +i64.trunc_s:sat/f64, TokenType::Convert, Opcode::I64TruncSatF64S +i64.trunc_u/f32, TokenType::Convert, Opcode::I64TruncF32U +i64.trunc_u/f64, TokenType::Convert, Opcode::I64TruncF64U +i64.trunc_u:sat/f32, TokenType::Convert, Opcode::I64TruncSatF32U +i64.trunc_u:sat/f64, TokenType::Convert, Opcode::I64TruncSatF64U +set_global, TokenType::GlobalSet, Opcode::GlobalSet +set_local, TokenType::LocalSet, Opcode::LocalSet +tee_local, TokenType::LocalTee, Opcode::LocalTee diff --git a/src/lexer-source.h b/src/lexer-source.h index 1242470a..d49d5c6e 100644 --- a/src/lexer-source.h +++ b/src/lexer-source.h @@ -39,6 +39,9 @@ class LexerSource { WABT_DISALLOW_COPY_AND_ASSIGN(LexerSource); + const void* data() { return data_; } + Offset size() { return size_; } + private: const void* data_; Offset size_; diff --git a/src/literal.h b/src/literal.h index b1315a1a..975ab230 100644 --- a/src/literal.h +++ b/src/literal.h @@ -23,13 +23,12 @@ namespace wabt { -/* These functions all return Result::Ok on success and Result::Error on - * failure. - * - * NOTE: the functions are written for use with the re2c lexer, assuming that - * the literal has already matched the regular expressions defined there. As a - * result, the only validation that is done is for overflow, not for otherwise - * bogus input. */ +// These functions all return Result::Ok on success and Result::Error on +// failure. +// +// NOTE: the functions are written for use with wast-lexer, assuming that the +// literal has already matched the patterns defined there. As a result, the +// only validation that is done is for overflow, not for otherwise bogus input. enum class LiteralType { Int, diff --git a/src/prebuilt/lexer-keywords.cc b/src/prebuilt/lexer-keywords.cc new file mode 100644 index 00000000..861bee6c --- /dev/null +++ b/src/prebuilt/lexer-keywords.cc @@ -0,0 +1,1477 @@ +/* C++ code produced by gperf version 3.1 */ +/* Command-line: gperf -m 50 -L C++ -N InWordSet -E -t -c --output-file=src/prebuilt/lexer-keywords.cc src/lexer-keywords.txt */ +/* Computed positions: -k'1,3,5-9,11-14,16-19,$' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>." +#endif + +#line 1 "src/lexer-keywords.txt" +struct TokenInfo { + TokenInfo(const char* name) : name(name) {} + TokenInfo(const char* name, TokenType token_type) + : name(name), token_type(token_type) {} + TokenInfo(const char* name, Type value_type) + : name(name), token_type(TokenType::ValueType), value_type(value_type) {} + TokenInfo(const char* name, TokenType token_type, Opcode opcode) + : name(name), token_type(token_type), opcode(opcode) {} + + const char* name; + TokenType token_type; + union { + Type value_type; + Opcode opcode; + }; +}; +/* maximum key range = 1717, duplicates = 0 */ + +class Perfect_Hash +{ +private: + static inline unsigned int hash (const char *str, size_t len); +public: + static struct TokenInfo *InWordSet (const char *str, size_t len); +}; + +inline unsigned int +Perfect_Hash::hash (const char *str, size_t len) +{ + static unsigned short asso_values[] = + { + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 11, 45, 1736, 150, + 8, 100, 7, 344, 163, 220, 369, 440, 21, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 8, 36, 30, 24, 74, + 16, 13, 7, 236, 554, 10, 22, 7, 48, 8, + 26, 53, 467, 545, 44, 7, 7, 9, 115, 7, + 372, 459, 44, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736 + }; + unsigned int hval = len; + + switch (hval) + { + default: + hval += asso_values[static_cast<unsigned char>(str[18])]; + /*FALLTHROUGH*/ + case 18: + hval += asso_values[static_cast<unsigned char>(str[17])]; + /*FALLTHROUGH*/ + case 17: + hval += asso_values[static_cast<unsigned char>(str[16]+1)]; + /*FALLTHROUGH*/ + case 16: + hval += asso_values[static_cast<unsigned char>(str[15])]; + /*FALLTHROUGH*/ + case 15: + case 14: + hval += asso_values[static_cast<unsigned char>(str[13])]; + /*FALLTHROUGH*/ + case 13: + hval += asso_values[static_cast<unsigned char>(str[12])]; + /*FALLTHROUGH*/ + case 12: + hval += asso_values[static_cast<unsigned char>(str[11])]; + /*FALLTHROUGH*/ + case 11: + hval += asso_values[static_cast<unsigned char>(str[10])]; + /*FALLTHROUGH*/ + case 10: + case 9: + hval += asso_values[static_cast<unsigned char>(str[8])]; + /*FALLTHROUGH*/ + case 8: + hval += asso_values[static_cast<unsigned char>(str[7])]; + /*FALLTHROUGH*/ + case 7: + hval += asso_values[static_cast<unsigned char>(str[6])]; + /*FALLTHROUGH*/ + case 6: + hval += asso_values[static_cast<unsigned char>(str[5])]; + /*FALLTHROUGH*/ + case 5: + hval += asso_values[static_cast<unsigned char>(str[4]+1)]; + /*FALLTHROUGH*/ + case 4: + case 3: + hval += asso_values[static_cast<unsigned char>(str[2])]; + /*FALLTHROUGH*/ + case 2: + case 1: + hval += asso_values[static_cast<unsigned char>(str[0])]; + break; + } + return hval + asso_values[static_cast<unsigned char>(str[len - 1])]; +} + +struct TokenInfo * +Perfect_Hash::InWordSet (const char *str, size_t len) +{ + enum + { + TOTAL_KEYWORDS = 498, + MIN_WORD_LENGTH = 2, + MAX_WORD_LENGTH = 28, + MIN_HASH_VALUE = 19, + MAX_HASH_VALUE = 1735 + }; + + static struct TokenInfo wordlist[] = + { + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 423 "src/lexer-keywords.txt" + {"if", TokenType::If, Opcode::If}, + {""}, {""}, {""}, {""}, +#line 127 "src/lexer-keywords.txt" + {"f64", Type::F64}, +#line 438 "src/lexer-keywords.txt" + {"mut", TokenType::Mut}, +#line 76 "src/lexer-keywords.txt" + {"f32", Type::F32}, +#line 379 "src/lexer-keywords.txt" + {"i64", Type::I64}, + {""}, +#line 260 "src/lexer-keywords.txt" + {"i32", Type::I32}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 43 "src/lexer-keywords.txt" + {"else", TokenType::Else, Opcode::Else}, +#line 42 "src/lexer-keywords.txt" + {"elem", TokenType::Elem}, + {""}, {""}, {""}, +#line 114 "src/lexer-keywords.txt" + {"f64.lt", TokenType::Compare, Opcode::F64Lt}, +#line 64 "src/lexer-keywords.txt" + {"f32.lt", TokenType::Compare, Opcode::F32Lt}, + {""}, {""}, {""}, +#line 45 "src/lexer-keywords.txt" + {"event", TokenType::Event}, +#line 44 "src/lexer-keywords.txt" + {"end", TokenType::End, Opcode::End}, + {""}, +#line 462 "src/lexer-keywords.txt" + {"then", TokenType::Then}, + {""}, {""}, {""}, +#line 112 "src/lexer-keywords.txt" + {"f64.le", TokenType::Compare, Opcode::F64Le}, +#line 62 "src/lexer-keywords.txt" + {"f32.le", TokenType::Compare, Opcode::F32Le}, +#line 461 "src/lexer-keywords.txt" + {"table", TokenType::Table}, +#line 39 "src/lexer-keywords.txt" + {"data", TokenType::Data}, +#line 454 "src/lexer-keywords.txt" + {"start", TokenType::Start}, + {""}, {""}, {""}, +#line 352 "src/lexer-keywords.txt" + {"i64.lt_s", TokenType::Compare, Opcode::I64LtS}, +#line 234 "src/lexer-keywords.txt" + {"i32.lt_s", TokenType::Compare, Opcode::I32LtS}, +#line 437 "src/lexer-keywords.txt" + {"module", TokenType::Module}, + {""}, +#line 353 "src/lexer-keywords.txt" + {"i64.lt_u", TokenType::Compare, Opcode::I64LtU}, +#line 235 "src/lexer-keywords.txt" + {"i32.lt_u", TokenType::Compare, Opcode::I32LtU}, +#line 343 "src/lexer-keywords.txt" + {"i64.le_s", TokenType::Compare, Opcode::I64LeS}, +#line 227 "src/lexer-keywords.txt" + {"i32.le_s", TokenType::Compare, Opcode::I32LeS}, +#line 33 "src/lexer-keywords.txt" + {"br", TokenType::Br, Opcode::Br}, + {""}, +#line 344 "src/lexer-keywords.txt" + {"i64.le_u", TokenType::Compare, Opcode::I64LeU}, +#line 228 "src/lexer-keywords.txt" + {"i32.le_u", TokenType::Compare, Opcode::I32LeU}, +#line 149 "src/lexer-keywords.txt" + {"funcref", Type::Funcref}, + {""}, +#line 359 "src/lexer-keywords.txt" + {"i64.rem_s", TokenType::Binary, Opcode::I64RemS}, +#line 241 "src/lexer-keywords.txt" + {"i32.rem_s", TokenType::Binary, Opcode::I32RemS}, + {""}, +#line 447 "src/lexer-keywords.txt" + {"result", TokenType::Result}, +#line 360 "src/lexer-keywords.txt" + {"i64.rem_u", TokenType::Binary, Opcode::I64RemU}, +#line 242 "src/lexer-keywords.txt" + {"i32.rem_u", TokenType::Binary, Opcode::I32RemU}, +#line 453 "src/lexer-keywords.txt" + {"shared", TokenType::Shared}, +#line 98 "src/lexer-keywords.txt" + {"f64.abs", TokenType::Unary, Opcode::F64Abs}, +#line 47 "src/lexer-keywords.txt" + {"f32.abs", TokenType::Unary, Opcode::F32Abs}, +#line 125 "src/lexer-keywords.txt" + {"f64.sub", TokenType::Binary, Opcode::F64Sub}, +#line 74 "src/lexer-keywords.txt" + {"f32.sub", TokenType::Binary, Opcode::F32Sub}, +#line 440 "src/lexer-keywords.txt" + {"offset", TokenType::Offset}, +#line 370 "src/lexer-keywords.txt" + {"i64.sub", TokenType::Binary, Opcode::I64Sub}, +#line 251 "src/lexer-keywords.txt" + {"i32.sub", TokenType::Binary, Opcode::I32Sub}, + {""}, +#line 452 "src/lexer-keywords.txt" + {"select", TokenType::Select, Opcode::Select}, +#line 459 "src/lexer-keywords.txt" + {"table.set", TokenType::TableSet, Opcode::TableSet}, +#line 99 "src/lexer-keywords.txt" + {"f64.add", TokenType::Binary, Opcode::F64Add}, +#line 48 "src/lexer-keywords.txt" + {"f32.add", TokenType::Binary, Opcode::F32Add}, + {""}, +#line 288 "src/lexer-keywords.txt" + {"i64.add", TokenType::Binary, Opcode::I64Add}, +#line 184 "src/lexer-keywords.txt" + {"i32.add", TokenType::Binary, Opcode::I32Add}, + {""}, +#line 120 "src/lexer-keywords.txt" + {"f64.ne", TokenType::Compare, Opcode::F64Ne}, +#line 70 "src/lexer-keywords.txt" + {"f32.ne", TokenType::Compare, Opcode::F32Ne}, + {""}, +#line 355 "src/lexer-keywords.txt" + {"i64.ne", TokenType::Compare, Opcode::I64Ne}, +#line 237 "src/lexer-keywords.txt" + {"i32.ne", TokenType::Compare, Opcode::I32Ne}, + {""}, {""}, +#line 289 "src/lexer-keywords.txt" + {"i64.and", TokenType::Binary, Opcode::I64And}, +#line 185 "src/lexer-keywords.txt" + {"i32.and", TokenType::Binary, Opcode::I32And}, + {""}, +#line 116 "src/lexer-keywords.txt" + {"f64.min", TokenType::Binary, Opcode::F64Min}, +#line 66 "src/lexer-keywords.txt" + {"f32.min", TokenType::Binary, Opcode::F32Min}, +#line 150 "src/lexer-keywords.txt" + {"func", TokenType::Func}, +#line 458 "src/lexer-keywords.txt" + {"table.init", TokenType::TableInit, Opcode::TableInit}, + {""}, {""}, {""}, +#line 451 "src/lexer-keywords.txt" + {"return", TokenType::Return, Opcode::Return}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 148 "src/lexer-keywords.txt" + {"f64x2", TokenType::F64X2}, + {""}, {""}, +#line 391 "src/lexer-keywords.txt" + {"i64x2", TokenType::I64X2}, + {""}, +#line 448 "src/lexer-keywords.txt" + {"rethrow", TokenType::Rethrow, Opcode::Rethrow}, +#line 460 "src/lexer-keywords.txt" + {"table.size", TokenType::TableSize, Opcode::TableSize}, + {""}, +#line 329 "src/lexer-keywords.txt" + {"i64.ctz", TokenType::Unary, Opcode::I64Ctz}, +#line 216 "src/lexer-keywords.txt" + {"i32.ctz", TokenType::Unary, Opcode::I32Ctz}, +#line 29 "src/lexer-keywords.txt" + {"block", TokenType::Block, Opcode::Block}, + {""}, +#line 101 "src/lexer-keywords.txt" + {"f64.const", TokenType::Const, Opcode::F64Const}, +#line 50 "src/lexer-keywords.txt" + {"f32.const", TokenType::Const, Opcode::F32Const}, + {""}, +#line 328 "src/lexer-keywords.txt" + {"i64.const", TokenType::Const, Opcode::I64Const}, +#line 215 "src/lexer-keywords.txt" + {"i32.const", TokenType::Const, Opcode::I32Const}, + {""}, +#line 113 "src/lexer-keywords.txt" + {"f64.load", TokenType::Load, Opcode::F64Load}, +#line 63 "src/lexer-keywords.txt" + {"f32.load", TokenType::Load, Opcode::F32Load}, + {""}, +#line 351 "src/lexer-keywords.txt" + {"i64.load", TokenType::Load, Opcode::I64Load}, +#line 233 "src/lexer-keywords.txt" + {"i32.load", TokenType::Load, Opcode::I32Load}, + {""}, {""}, +#line 117 "src/lexer-keywords.txt" + {"f64.mul", TokenType::Binary, Opcode::F64Mul}, +#line 67 "src/lexer-keywords.txt" + {"f32.mul", TokenType::Binary, Opcode::F32Mul}, + {""}, +#line 354 "src/lexer-keywords.txt" + {"i64.mul", TokenType::Binary, Opcode::I64Mul}, +#line 236 "src/lexer-keywords.txt" + {"i32.mul", TokenType::Binary, Opcode::I32Mul}, +#line 100 "src/lexer-keywords.txt" + {"f64.ceil", TokenType::Unary, Opcode::F64Ceil}, +#line 49 "src/lexer-keywords.txt" + {"f32.ceil", TokenType::Unary, Opcode::F32Ceil}, + {""}, +#line 124 "src/lexer-keywords.txt" + {"f64.store", TokenType::Store, Opcode::F64Store}, +#line 73 "src/lexer-keywords.txt" + {"f32.store", TokenType::Store, Opcode::F32Store}, +#line 32 "src/lexer-keywords.txt" + {"br_table", TokenType::BrTable, Opcode::BrTable}, +#line 369 "src/lexer-keywords.txt" + {"i64.store", TokenType::Store, Opcode::I64Store}, +#line 250 "src/lexer-keywords.txt" + {"i32.store", TokenType::Store, Opcode::I32Store}, + {""}, {""}, {""}, +#line 367 "src/lexer-keywords.txt" + {"i64.store32", TokenType::Store, Opcode::I64Store32}, + {""}, {""}, {""}, {""}, {""}, +#line 35 "src/lexer-keywords.txt" + {"call", TokenType::Call, Opcode::Call}, + {""}, +#line 327 "src/lexer-keywords.txt" + {"i64.clz", TokenType::Unary, Opcode::I64Clz}, +#line 214 "src/lexer-keywords.txt" + {"i32.clz", TokenType::Unary, Opcode::I32Clz}, + {""}, {""}, +#line 362 "src/lexer-keywords.txt" + {"i64.rotr", TokenType::Binary, Opcode::I64Rotr}, +#line 244 "src/lexer-keywords.txt" + {"i32.rotr", TokenType::Binary, Opcode::I32Rotr}, + {""}, +#line 429 "src/lexer-keywords.txt" + {"local", TokenType::Local}, +#line 427 "src/lexer-keywords.txt" + {"local.set", TokenType::LocalSet, Opcode::LocalSet}, +#line 143 "src/lexer-keywords.txt" + {"f64x2.ne", TokenType::Compare, Opcode::F64X2Ne}, +#line 330 "src/lexer-keywords.txt" + {"i64.div_s", TokenType::Binary, Opcode::I64DivS}, +#line 217 "src/lexer-keywords.txt" + {"i32.div_s", TokenType::Binary, Opcode::I32DivS}, +#line 361 "src/lexer-keywords.txt" + {"i64.rotl", TokenType::Binary, Opcode::I64Rotl}, +#line 243 "src/lexer-keywords.txt" + {"i32.rotl", TokenType::Binary, Opcode::I32Rotl}, +#line 331 "src/lexer-keywords.txt" + {"i64.div_u", TokenType::Binary, Opcode::I64DivU}, +#line 218 "src/lexer-keywords.txt" + {"i32.div_u", TokenType::Binary, Opcode::I32DivU}, +#line 118 "src/lexer-keywords.txt" + {"f64.nearest", TokenType::Unary, Opcode::F64Nearest}, +#line 68 "src/lexer-keywords.txt" + {"f32.nearest", TokenType::Unary, Opcode::F32Nearest}, + {""}, +#line 138 "src/lexer-keywords.txt" + {"f64x2.lt", TokenType::Compare, Opcode::F64X2Lt}, +#line 428 "src/lexer-keywords.txt" + {"local.tee", TokenType::LocalTee, Opcode::LocalTee}, + {""}, +#line 147 "src/lexer-keywords.txt" + {"f64x2.sub", TokenType::Binary, Opcode::F64X2Sub}, +#line 326 "src/lexer-keywords.txt" + {"i64.atomic.wait", TokenType::AtomicWait, Opcode::I64AtomicWait}, +#line 213 "src/lexer-keywords.txt" + {"i32.atomic.wait", TokenType::AtomicWait, Opcode::I32AtomicWait}, +#line 390 "src/lexer-keywords.txt" + {"i64x2.sub", TokenType::Binary, Opcode::I64X2Sub}, +#line 128 "src/lexer-keywords.txt" + {"f64x2.abs", TokenType::Unary, Opcode::F64X2Abs}, + {""}, +#line 140 "src/lexer-keywords.txt" + {"f64x2.min", TokenType::Binary, Opcode::F64X2Min}, +#line 425 "src/lexer-keywords.txt" + {"invoke", TokenType::Invoke}, + {""}, +#line 137 "src/lexer-keywords.txt" + {"f64x2.le", TokenType::Compare, Opcode::F64X2Le}, + {""}, {""}, {""}, {""}, +#line 129 "src/lexer-keywords.txt" + {"f64x2.add", TokenType::Binary, Opcode::F64X2Add}, + {""}, {""}, +#line 380 "src/lexer-keywords.txt" + {"i64x2.add", TokenType::Binary, Opcode::I64X2Add}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 20 "src/lexer-keywords.txt" + {"assert_invalid", TokenType::AssertInvalid}, +#line 444 "src/lexer-keywords.txt" + {"ref.is_null", TokenType::RefIsNull, Opcode::RefIsNull}, + {""}, {""}, {""}, +#line 24 "src/lexer-keywords.txt" + {"assert_return", TokenType::AssertReturn}, + {""}, {""}, {""}, {""}, +#line 325 "src/lexer-keywords.txt" + {"i64.atomic.store", TokenType::AtomicStore, Opcode::I64AtomicStore}, +#line 212 "src/lexer-keywords.txt" + {"i32.atomic.store", TokenType::AtomicStore, Opcode::I32AtomicStore}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 141 "src/lexer-keywords.txt" + {"f64x2.mul", TokenType::Binary, Opcode::F64X2Mul}, + {""}, {""}, {""}, +#line 323 "src/lexer-keywords.txt" + {"i64.atomic.store32", TokenType::AtomicStore, Opcode::I64AtomicStore32}, +#line 26 "src/lexer-keywords.txt" + {"assert_unlinkable", TokenType::AssertUnlinkable}, +#line 151 "src/lexer-keywords.txt" + {"get", TokenType::Get}, + {""}, {""}, {""}, +#line 21 "src/lexer-keywords.txt" + {"assert_malformed", TokenType::AssertMalformed}, +#line 347 "src/lexer-keywords.txt" + {"i64.load32_s", TokenType::Load, Opcode::I64Load32S}, +#line 126 "src/lexer-keywords.txt" + {"f64.trunc", TokenType::Unary, Opcode::F64Trunc}, +#line 75 "src/lexer-keywords.txt" + {"f32.trunc", TokenType::Unary, Opcode::F32Trunc}, + {""}, +#line 348 "src/lexer-keywords.txt" + {"i64.load32_u", TokenType::Load, Opcode::I64Load32U}, + {""}, +#line 467 "src/lexer-keywords.txt" + {"v128.and", TokenType::Binary, Opcode::V128And}, +#line 445 "src/lexer-keywords.txt" + {"ref.null", TokenType::RefNull, Opcode::RefNull}, + {""}, {""}, {""}, +#line 471 "src/lexer-keywords.txt" + {"v128.not", TokenType::Unary, Opcode::V128Not}, +#line 312 "src/lexer-keywords.txt" + {"i64.atomic.rmw8.sub_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw8SubU}, +#line 200 "src/lexer-keywords.txt" + {"i32.atomic.rmw8.sub_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw8SubU}, + {""}, {""}, +#line 107 "src/lexer-keywords.txt" + {"f64.div", TokenType::Binary, Opcode::F64Div}, +#line 57 "src/lexer-keywords.txt" + {"f32.div", TokenType::Binary, Opcode::F32Div}, + {""}, {""}, {""}, {""}, +#line 30 "src/lexer-keywords.txt" + {"br_if", TokenType::BrIf, Opcode::BrIf}, + {""}, +#line 315 "src/lexer-keywords.txt" + {"i64.atomic.rmw.add", TokenType::AtomicRmw, Opcode::I64AtomicRmwAdd}, +#line 203 "src/lexer-keywords.txt" + {"i32.atomic.rmw.add", TokenType::AtomicRmw, Opcode::I32AtomicRmwAdd}, +#line 515 "src/lexer-keywords.txt" + {"set_local", TokenType::LocalSet, Opcode::LocalSet}, + {""}, +#line 308 "src/lexer-keywords.txt" + {"i64.atomic.rmw8.add_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw8AddU}, +#line 196 "src/lexer-keywords.txt" + {"i32.atomic.rmw8.add_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw8AddU}, + {""}, +#line 305 "src/lexer-keywords.txt" + {"i64.atomic.rmw32.sub_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw32SubU}, +#line 516 "src/lexer-keywords.txt" + {"tee_local", TokenType::LocalTee, Opcode::LocalTee}, + {""}, +#line 293 "src/lexer-keywords.txt" + {"i64.atomic.load", TokenType::AtomicLoad, Opcode::I64AtomicLoad}, +#line 188 "src/lexer-keywords.txt" + {"i32.atomic.load", TokenType::AtomicLoad, Opcode::I32AtomicLoad}, + {""}, {""}, +#line 309 "src/lexer-keywords.txt" + {"i64.atomic.rmw8.and_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw8AndU}, +#line 197 "src/lexer-keywords.txt" + {"i32.atomic.rmw8.and_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw8AndU}, + {""}, {""}, {""}, {""}, +#line 473 "src/lexer-keywords.txt" + {"v128.store", TokenType::Store, Opcode::V128Store}, +#line 450 "src/lexer-keywords.txt" + {"return_call", TokenType::ReturnCall, Opcode::ReturnCall}, + {""}, {""}, {""}, {""}, +#line 345 "src/lexer-keywords.txt" + {"i64.load16_s", TokenType::Load, Opcode::I64Load16S}, +#line 229 "src/lexer-keywords.txt" + {"i32.load16_s", TokenType::Load, Opcode::I32Load16S}, +#line 318 "src/lexer-keywords.txt" + {"i64.atomic.rmw.or", TokenType::AtomicRmw, Opcode::I64AtomicRmwOr}, +#line 206 "src/lexer-keywords.txt" + {"i32.atomic.rmw.or", TokenType::AtomicRmw, Opcode::I32AtomicRmwOr}, +#line 346 "src/lexer-keywords.txt" + {"i64.load16_u", TokenType::Load, Opcode::I64Load16U}, +#line 230 "src/lexer-keywords.txt" + {"i32.load16_u", TokenType::Load, Opcode::I32Load16U}, + {""}, +#line 56 "src/lexer-keywords.txt" + {"f32.demote_f64", TokenType::Convert, Opcode::F32DemoteF64}, +#line 472 "src/lexer-keywords.txt" + {"v128.or", TokenType::Binary, Opcode::V128Or}, + {""}, {""}, +#line 301 "src/lexer-keywords.txt" + {"i64.atomic.rmw32.add_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw32AddU}, + {""}, +#line 456 "src/lexer-keywords.txt" + {"table.get", TokenType::TableGet, Opcode::TableGet}, +#line 316 "src/lexer-keywords.txt" + {"i64.atomic.rmw.and", TokenType::AtomicRmw, Opcode::I64AtomicRmwAnd}, +#line 204 "src/lexer-keywords.txt" + {"i32.atomic.rmw.and", TokenType::AtomicRmw, Opcode::I32AtomicRmwAnd}, +#line 371 "src/lexer-keywords.txt" + {"i64.trunc_f32_s", TokenType::Convert, Opcode::I64TruncF32S}, +#line 252 "src/lexer-keywords.txt" + {"i32.trunc_f32_s", TokenType::Convert, Opcode::I32TruncF32S}, +#line 372 "src/lexer-keywords.txt" + {"i64.trunc_f32_u", TokenType::Convert, Opcode::I64TruncF32U}, +#line 253 "src/lexer-keywords.txt" + {"i32.trunc_f32_u", TokenType::Convert, Opcode::I32TruncF32U}, + {""}, +#line 302 "src/lexer-keywords.txt" + {"i64.atomic.rmw32.and_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw32AndU}, + {""}, {""}, {""}, {""}, +#line 34 "src/lexer-keywords.txt" + {"call_indirect", TokenType::CallIndirect, Opcode::CallIndirect}, + {""}, {""}, {""}, {""}, {""}, +#line 470 "src/lexer-keywords.txt" + {"v128.load", TokenType::Load, Opcode::V128Load}, + {""}, {""}, {""}, {""}, +#line 469 "src/lexer-keywords.txt" + {"v128.const", TokenType::Const, Opcode::V128Const}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 483 "src/lexer-keywords.txt" + {"f32.demote/f64", TokenType::Convert, Opcode::F32DemoteF64}, + {""}, +#line 381 "src/lexer-keywords.txt" + {"i64x2.all_true", TokenType::Unary, Opcode::I64X2AllTrue}, + {""}, {""}, {""}, {""}, +#line 303 "src/lexer-keywords.txt" + {"i64.atomic.rmw32.cmpxchg_u", TokenType::AtomicRmwCmpxchg, Opcode::I64AtomicRmw32CmpxchgU}, + {""}, +#line 506 "src/lexer-keywords.txt" + {"i64.trunc_s/f32", TokenType::Convert, Opcode::I64TruncF32S}, +#line 494 "src/lexer-keywords.txt" + {"i32.trunc_s/f32", TokenType::Convert, Opcode::I32TruncF32S}, +#line 510 "src/lexer-keywords.txt" + {"i64.trunc_u/f32", TokenType::Convert, Opcode::I64TruncF32U}, +#line 498 "src/lexer-keywords.txt" + {"i32.trunc_u/f32", TokenType::Convert, Opcode::I32TruncF32U}, + {""}, {""}, {""}, {""}, +#line 304 "src/lexer-keywords.txt" + {"i64.atomic.rmw32.or_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw32OrU}, + {""}, +#line 97 "src/lexer-keywords.txt" + {"f32x4", TokenType::F32X4}, + {""}, {""}, +#line 284 "src/lexer-keywords.txt" + {"i32x4", TokenType::I32X4}, + {""}, {""}, +#line 319 "src/lexer-keywords.txt" + {"i64.atomic.rmw.sub", TokenType::AtomicRmw, Opcode::I64AtomicRmwSub}, +#line 207 "src/lexer-keywords.txt" + {"i32.atomic.rmw.sub", TokenType::AtomicRmw, Opcode::I32AtomicRmwSub}, +#line 468 "src/lexer-keywords.txt" + {"v128.bitselect", TokenType::Ternary, Opcode::V128BitSelect}, + {""}, {""}, {""}, +#line 136 "src/lexer-keywords.txt" + {"f64x2.gt", TokenType::Compare, Opcode::F64X2Gt}, + {""}, {""}, +#line 373 "src/lexer-keywords.txt" + {"i64.trunc_f64_s", TokenType::Convert, Opcode::I64TruncF64S}, +#line 254 "src/lexer-keywords.txt" + {"i32.trunc_f64_s", TokenType::Convert, Opcode::I32TruncF64S}, +#line 374 "src/lexer-keywords.txt" + {"i64.trunc_f64_u", TokenType::Convert, Opcode::I64TruncF64U}, +#line 255 "src/lexer-keywords.txt" + {"i32.trunc_f64_u", TokenType::Convert, Opcode::I32TruncF64U}, +#line 132 "src/lexer-keywords.txt" + {"f64x2.div", TokenType::Binary, Opcode::F64X2Div}, + {""}, {""}, {""}, {""}, +#line 135 "src/lexer-keywords.txt" + {"f64x2.ge", TokenType::Compare, Opcode::F64X2Ge}, + {""}, {""}, {""}, +#line 457 "src/lexer-keywords.txt" + {"table.grow", TokenType::TableGrow, Opcode::TableGrow}, + {""}, +#line 102 "src/lexer-keywords.txt" + {"f64.convert_i32_s", TokenType::Convert, Opcode::F64ConvertI32S}, +#line 51 "src/lexer-keywords.txt" + {"f32.convert_i32_s", TokenType::Convert, Opcode::F32ConvertI32S}, +#line 446 "src/lexer-keywords.txt" + {"register", TokenType::Register}, + {""}, {""}, {""}, {""}, {""}, +#line 153 "src/lexer-keywords.txt" + {"global.set", TokenType::GlobalSet, Opcode::GlobalSet}, + {""}, {""}, {""}, +#line 426 "src/lexer-keywords.txt" + {"local.get", TokenType::LocalGet, Opcode::LocalGet}, + {""}, +#line 154 "src/lexer-keywords.txt" + {"global", TokenType::Global}, + {""}, {""}, +#line 23 "src/lexer-keywords.txt" + {"assert_return_canonical_nan", TokenType::AssertReturnCanonicalNan}, +#line 449 "src/lexer-keywords.txt" + {"return_call_indirect", TokenType::ReturnCallIndirect, Opcode::ReturnCallIndirect}, + {""}, {""}, {""}, +#line 507 "src/lexer-keywords.txt" + {"i64.trunc_s/f64", TokenType::Convert, Opcode::I64TruncF64S}, +#line 495 "src/lexer-keywords.txt" + {"i32.trunc_s/f64", TokenType::Convert, Opcode::I32TruncF64S}, +#line 511 "src/lexer-keywords.txt" + {"i64.trunc_u/f64", TokenType::Convert, Opcode::I64TruncF64U}, +#line 499 "src/lexer-keywords.txt" + {"i32.trunc_u/f64", TokenType::Convert, Opcode::I32TruncF64U}, + {""}, {""}, {""}, +#line 92 "src/lexer-keywords.txt" + {"f32x4.ne", TokenType::Compare, Opcode::F32X4Ne}, + {""}, {""}, +#line 277 "src/lexer-keywords.txt" + {"i32x4.ne", TokenType::Compare, Opcode::I32X4Ne}, + {""}, +#line 463 "src/lexer-keywords.txt" + {"throw", TokenType::Throw, Opcode::Throw}, + {""}, {""}, {""}, {""}, +#line 87 "src/lexer-keywords.txt" + {"f32x4.lt", TokenType::Compare, Opcode::F32X4Lt}, + {""}, {""}, +#line 96 "src/lexer-keywords.txt" + {"f32x4.sub", TokenType::Binary, Opcode::F32X4Sub}, +#line 298 "src/lexer-keywords.txt" + {"i64.atomic.rmw16.sub_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw16SubU}, +#line 193 "src/lexer-keywords.txt" + {"i32.atomic.rmw16.sub_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw16SubU}, +#line 283 "src/lexer-keywords.txt" + {"i32x4.sub", TokenType::Binary, Opcode::I32X4Sub}, +#line 77 "src/lexer-keywords.txt" + {"f32x4.abs", TokenType::Unary, Opcode::F32X4Abs}, + {""}, +#line 89 "src/lexer-keywords.txt" + {"f32x4.min", TokenType::Binary, Opcode::F32X4Min}, + {""}, {""}, +#line 86 "src/lexer-keywords.txt" + {"f32x4.le", TokenType::Compare, Opcode::F32X4Le}, +#line 273 "src/lexer-keywords.txt" + {"i32x4.lt_s", TokenType::Compare, Opcode::I32X4LtS}, + {""}, +#line 274 "src/lexer-keywords.txt" + {"i32x4.lt_u", TokenType::Compare, Opcode::I32X4LtU}, + {""}, +#line 78 "src/lexer-keywords.txt" + {"f32x4.add", TokenType::Binary, Opcode::F32X4Add}, + {""}, +#line 271 "src/lexer-keywords.txt" + {"i32x4.le_s", TokenType::Compare, Opcode::I32X4LeS}, +#line 262 "src/lexer-keywords.txt" + {"i32x4.add", TokenType::Binary, Opcode::I32X4Add}, +#line 272 "src/lexer-keywords.txt" + {"i32x4.le_u", TokenType::Compare, Opcode::I32X4LeU}, + {""}, {""}, +#line 104 "src/lexer-keywords.txt" + {"f64.convert_i64_s", TokenType::Convert, Opcode::F64ConvertI64S}, +#line 53 "src/lexer-keywords.txt" + {"f32.convert_i64_s", TokenType::Convert, Opcode::F32ConvertI64S}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 375 "src/lexer-keywords.txt" + {"i64.trunc_sat_f32_s", TokenType::Convert, Opcode::I64TruncSatF32S}, +#line 256 "src/lexer-keywords.txt" + {"i32.trunc_sat_f32_s", TokenType::Convert, Opcode::I32TruncSatF32S}, +#line 294 "src/lexer-keywords.txt" + {"i64.atomic.rmw16.add_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw16AddU}, +#line 189 "src/lexer-keywords.txt" + {"i32.atomic.rmw16.add_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw16AddU}, +#line 376 "src/lexer-keywords.txt" + {"i64.trunc_sat_f32_u", TokenType::Convert, Opcode::I64TruncSatF32U}, +#line 257 "src/lexer-keywords.txt" + {"i32.trunc_sat_f32_u", TokenType::Convert, Opcode::I32TruncSatF32U}, +#line 366 "src/lexer-keywords.txt" + {"i64.store16", TokenType::Store, Opcode::I64Store16}, +#line 248 "src/lexer-keywords.txt" + {"i32.store16", TokenType::Store, Opcode::I32Store16}, + {""}, {""}, {""}, {""}, +#line 295 "src/lexer-keywords.txt" + {"i64.atomic.rmw16.and_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw16AndU}, +#line 190 "src/lexer-keywords.txt" + {"i32.atomic.rmw16.and_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw16AndU}, + {""}, {""}, {""}, {""}, {""}, +#line 465 "src/lexer-keywords.txt" + {"type", TokenType::Type}, +#line 90 "src/lexer-keywords.txt" + {"f32x4.mul", TokenType::Binary, Opcode::F32X4Mul}, + {""}, {""}, +#line 275 "src/lexer-keywords.txt" + {"i32x4.mul", TokenType::Binary, Opcode::I32X4Mul}, +#line 474 "src/lexer-keywords.txt" + {"v128", Type::V128}, + {""}, {""}, {""}, {""}, +#line 109 "src/lexer-keywords.txt" + {"f64.floor", TokenType::Unary, Opcode::F64Floor}, +#line 59 "src/lexer-keywords.txt" + {"f32.floor", TokenType::Unary, Opcode::F32Floor}, + {""}, +#line 424 "src/lexer-keywords.txt" + {"import", TokenType::Import}, + {""}, +#line 291 "src/lexer-keywords.txt" + {"i64.atomic.load32_u", TokenType::AtomicLoad, Opcode::I64AtomicLoad32U}, +#line 46 "src/lexer-keywords.txt" + {"export", TokenType::Export}, + {""}, {""}, {""}, +#line 103 "src/lexer-keywords.txt" + {"f64.convert_i32_u", TokenType::Convert, Opcode::F64ConvertI32U}, +#line 52 "src/lexer-keywords.txt" + {"f32.convert_i32_u", TokenType::Convert, Opcode::F32ConvertI32U}, +#line 492 "src/lexer-keywords.txt" + {"get_local", TokenType::LocalGet, Opcode::LocalGet}, +#line 296 "src/lexer-keywords.txt" + {"i64.atomic.rmw16.cmpxchg_u", TokenType::AtomicRmwCmpxchg, Opcode::I64AtomicRmw16CmpxchgU}, +#line 191 "src/lexer-keywords.txt" + {"i32.atomic.rmw16.cmpxchg_u", TokenType::AtomicRmwCmpxchg, Opcode::I32AtomicRmw16CmpxchgU}, +#line 18 "src/lexer-keywords.txt" + {"anyref", Type::Anyref}, + {""}, +#line 349 "src/lexer-keywords.txt" + {"i64.load8_s", TokenType::Load, Opcode::I64Load8S}, +#line 231 "src/lexer-keywords.txt" + {"i32.load8_s", TokenType::Load, Opcode::I32Load8S}, +#line 368 "src/lexer-keywords.txt" + {"i64.store8", TokenType::Store, Opcode::I64Store8}, +#line 249 "src/lexer-keywords.txt" + {"i32.store8", TokenType::Store, Opcode::I32Store8}, +#line 350 "src/lexer-keywords.txt" + {"i64.load8_u", TokenType::Load, Opcode::I64Load8U}, +#line 232 "src/lexer-keywords.txt" + {"i32.load8_u", TokenType::Load, Opcode::I32Load8U}, +#line 297 "src/lexer-keywords.txt" + {"i64.atomic.rmw16.or_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw16OrU}, +#line 192 "src/lexer-keywords.txt" + {"i32.atomic.rmw16.or_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw16OrU}, + {""}, {""}, {""}, +#line 485 "src/lexer-keywords.txt" + {"f64.convert_s/i32", TokenType::Convert, Opcode::F64ConvertI32S}, +#line 479 "src/lexer-keywords.txt" + {"f32.convert_s/i32", TokenType::Convert, Opcode::F32ConvertI32S}, +#line 487 "src/lexer-keywords.txt" + {"f64.convert_u/i32", TokenType::Convert, Opcode::F64ConvertI32U}, +#line 481 "src/lexer-keywords.txt" + {"f32.convert_u/i32", TokenType::Convert, Opcode::F32ConvertI32U}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 31 "src/lexer-keywords.txt" + {"br_on_exn", TokenType::BrOnExn, Opcode::BrOnExn}, +#line 40 "src/lexer-keywords.txt" + {"drop", TokenType::Drop, Opcode::Drop}, + {""}, {""}, {""}, +#line 503 "src/lexer-keywords.txt" + {"i64.extend_s/i32", TokenType::Convert, Opcode::I64ExtendI32S}, + {""}, +#line 504 "src/lexer-keywords.txt" + {"i64.extend_u/i32", TokenType::Convert, Opcode::I64ExtendI32U}, +#line 435 "src/lexer-keywords.txt" + {"memory.size", TokenType::MemorySize, Opcode::MemorySize}, + {""}, {""}, +#line 441 "src/lexer-keywords.txt" + {"param", TokenType::Param}, + {""}, {""}, {""}, +#line 434 "src/lexer-keywords.txt" + {"memory.init", TokenType::MemoryInit, Opcode::MemoryInit}, + {""}, {""}, {""}, {""}, +#line 119 "src/lexer-keywords.txt" + {"f64.neg", TokenType::Unary, Opcode::F64Neg}, +#line 69 "src/lexer-keywords.txt" + {"f32.neg", TokenType::Unary, Opcode::F32Neg}, + {""}, +#line 322 "src/lexer-keywords.txt" + {"i64.atomic.store16", TokenType::AtomicStore, Opcode::I64AtomicStore16}, +#line 210 "src/lexer-keywords.txt" + {"i32.atomic.store16", TokenType::AtomicStore, Opcode::I32AtomicStore16}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 430 "src/lexer-keywords.txt" + {"loop", TokenType::Loop, Opcode::Loop}, + {""}, +#line 105 "src/lexer-keywords.txt" + {"f64.convert_i64_u", TokenType::Convert, Opcode::F64ConvertI64U}, +#line 54 "src/lexer-keywords.txt" + {"f32.convert_i64_u", TokenType::Convert, Opcode::F32ConvertI64U}, + {""}, {""}, +#line 356 "src/lexer-keywords.txt" + {"i64.or", TokenType::Binary, Opcode::I64Or}, +#line 238 "src/lexer-keywords.txt" + {"i32.or", TokenType::Binary, Opcode::I32Or}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 335 "src/lexer-keywords.txt" + {"i64.extend32_s", TokenType::Unary, Opcode::I64Extend32S}, + {""}, +#line 111 "src/lexer-keywords.txt" + {"f64.gt", TokenType::Compare, Opcode::F64Gt}, +#line 61 "src/lexer-keywords.txt" + {"f32.gt", TokenType::Compare, Opcode::F32Gt}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 337 "src/lexer-keywords.txt" + {"i64.extend_i32_s", TokenType::Convert, Opcode::I64ExtendI32S}, +#line 263 "src/lexer-keywords.txt" + {"i32x4.all_true", TokenType::Unary, Opcode::I32X4AllTrue}, +#line 110 "src/lexer-keywords.txt" + {"f64.ge", TokenType::Compare, Opcode::F64Ge}, +#line 60 "src/lexer-keywords.txt" + {"f32.ge", TokenType::Compare, Opcode::F32Ge}, +#line 338 "src/lexer-keywords.txt" + {"i64.extend_i32_u", TokenType::Convert, Opcode::I64ExtendI32U}, + {""}, {""}, {""}, {""}, {""}, +#line 341 "src/lexer-keywords.txt" + {"i64.gt_s", TokenType::Compare, Opcode::I64GtS}, +#line 225 "src/lexer-keywords.txt" + {"i32.gt_s", TokenType::Compare, Opcode::I32GtS}, + {""}, {""}, +#line 342 "src/lexer-keywords.txt" + {"i64.gt_u", TokenType::Compare, Opcode::I64GtU}, +#line 226 "src/lexer-keywords.txt" + {"i32.gt_u", TokenType::Compare, Opcode::I32GtU}, +#line 339 "src/lexer-keywords.txt" + {"i64.ge_s", TokenType::Compare, Opcode::I64GeS}, +#line 223 "src/lexer-keywords.txt" + {"i32.ge_s", TokenType::Compare, Opcode::I32GeS}, + {""}, +#line 432 "src/lexer-keywords.txt" + {"memory.fill", TokenType::MemoryFill, Opcode::MemoryFill}, +#line 340 "src/lexer-keywords.txt" + {"i64.ge_u", TokenType::Compare, Opcode::I64GeU}, +#line 224 "src/lexer-keywords.txt" + {"i32.ge_u", TokenType::Compare, Opcode::I32GeU}, + {""}, {""}, {""}, +#line 443 "src/lexer-keywords.txt" + {"quote", TokenType::Quote}, +#line 394 "src/lexer-keywords.txt" + {"i64.xor", TokenType::Binary, Opcode::I64Xor}, +#line 287 "src/lexer-keywords.txt" + {"i32.xor", TokenType::Binary, Opcode::I32Xor}, + {""}, {""}, +#line 85 "src/lexer-keywords.txt" + {"f32x4.gt", TokenType::Compare, Opcode::F32X4Gt}, + {""}, {""}, {""}, +#line 123 "src/lexer-keywords.txt" + {"f64.sqrt", TokenType::Unary, Opcode::F64Sqrt}, +#line 72 "src/lexer-keywords.txt" + {"f32.sqrt", TokenType::Unary, Opcode::F32Sqrt}, + {""}, +#line 81 "src/lexer-keywords.txt" + {"f32x4.div", TokenType::Binary, Opcode::F32X4Div}, + {""}, {""}, +#line 152 "src/lexer-keywords.txt" + {"global.get", TokenType::GlobalGet, Opcode::GlobalGet}, + {""}, +#line 84 "src/lexer-keywords.txt" + {"f32x4.ge", TokenType::Compare, Opcode::F32X4Ge}, +#line 269 "src/lexer-keywords.txt" + {"i32x4.gt_s", TokenType::Compare, Opcode::I32X4GtS}, + {""}, +#line 270 "src/lexer-keywords.txt" + {"i32x4.gt_u", TokenType::Compare, Opcode::I32X4GtU}, +#line 442 "src/lexer-keywords.txt" + {"passive", TokenType::Passive}, +#line 142 "src/lexer-keywords.txt" + {"f64x2.neg", TokenType::Unary, Opcode::F64X2Neg}, +#line 19 "src/lexer-keywords.txt" + {"assert_exhaustion", TokenType::AssertExhaustion}, +#line 267 "src/lexer-keywords.txt" + {"i32x4.ge_s", TokenType::Compare, Opcode::I32X4GeS}, +#line 384 "src/lexer-keywords.txt" + {"i64x2.neg", TokenType::Unary, Opcode::I64X2Neg}, +#line 268 "src/lexer-keywords.txt" + {"i32x4.ge_u", TokenType::Compare, Opcode::I32X4GeU}, +#line 36 "src/lexer-keywords.txt" + {"catch", TokenType::Catch, Opcode::Catch}, + {""}, {""}, +#line 364 "src/lexer-keywords.txt" + {"i64.shr_s", TokenType::Binary, Opcode::I64ShrS}, +#line 246 "src/lexer-keywords.txt" + {"i32.shr_s", TokenType::Binary, Opcode::I32ShrS}, + {""}, {""}, +#line 365 "src/lexer-keywords.txt" + {"i64.shr_u", TokenType::Binary, Opcode::I64ShrU}, +#line 247 "src/lexer-keywords.txt" + {"i32.shr_u", TokenType::Binary, Opcode::I32ShrU}, + {""}, +#line 508 "src/lexer-keywords.txt" + {"i64.trunc_s:sat/f32", TokenType::Convert, Opcode::I64TruncSatF32S}, +#line 496 "src/lexer-keywords.txt" + {"i32.trunc_s:sat/f32", TokenType::Convert, Opcode::I32TruncSatF32S}, +#line 512 "src/lexer-keywords.txt" + {"i64.trunc_u:sat/f32", TokenType::Convert, Opcode::I64TruncSatF32U}, +#line 500 "src/lexer-keywords.txt" + {"i32.trunc_u:sat/f32", TokenType::Convert, Opcode::I32TruncSatF32U}, +#line 333 "src/lexer-keywords.txt" + {"i64.eqz", TokenType::Convert, Opcode::I64Eqz}, +#line 220 "src/lexer-keywords.txt" + {"i32.eqz", TokenType::Convert, Opcode::I32Eqz}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 145 "src/lexer-keywords.txt" + {"f64x2.splat", TokenType::Unary, Opcode::F64X2Splat}, +#line 413 "src/lexer-keywords.txt" + {"i8x16.ne", TokenType::Compare, Opcode::I8X16Ne}, + {""}, +#line 389 "src/lexer-keywords.txt" + {"i64x2.splat", TokenType::Unary, Opcode::I64X2Splat}, +#line 290 "src/lexer-keywords.txt" + {"i64.atomic.load16_u", TokenType::AtomicLoad, Opcode::I64AtomicLoad16U}, +#line 186 "src/lexer-keywords.txt" + {"i32.atomic.load16_u", TokenType::AtomicLoad, Opcode::I32AtomicLoad16U}, + {""}, {""}, {""}, +#line 363 "src/lexer-keywords.txt" + {"i64.shl", TokenType::Binary, Opcode::I64Shl}, +#line 245 "src/lexer-keywords.txt" + {"i32.shl", TokenType::Binary, Opcode::I32Shl}, + {""}, +#line 174 "src/lexer-keywords.txt" + {"i16x8.ne", TokenType::Compare, Opcode::I16X8Ne}, + {""}, +#line 421 "src/lexer-keywords.txt" + {"i8x16.sub", TokenType::Binary, Opcode::I8X16Sub}, + {""}, {""}, +#line 475 "src/lexer-keywords.txt" + {"v128.xor", TokenType::Binary, Opcode::V128Xor}, + {""}, {""}, {""}, +#line 409 "src/lexer-keywords.txt" + {"i8x16.lt_s", TokenType::Compare, Opcode::I8X16LtS}, + {""}, +#line 410 "src/lexer-keywords.txt" + {"i8x16.lt_u", TokenType::Compare, Opcode::I8X16LtU}, + {""}, +#line 182 "src/lexer-keywords.txt" + {"i16x8.sub", TokenType::Binary, Opcode::I16X8Sub}, +#line 307 "src/lexer-keywords.txt" + {"i64.atomic.rmw32.xor_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw32XorU}, +#line 407 "src/lexer-keywords.txt" + {"i8x16.le_s", TokenType::Compare, Opcode::I8X16LeS}, +#line 397 "src/lexer-keywords.txt" + {"i8x16.add", TokenType::Binary, Opcode::I8X16Add}, +#line 408 "src/lexer-keywords.txt" + {"i8x16.le_u", TokenType::Compare, Opcode::I8X16LeU}, +#line 292 "src/lexer-keywords.txt" + {"i64.atomic.load8_u", TokenType::AtomicLoad, Opcode::I64AtomicLoad8U}, +#line 187 "src/lexer-keywords.txt" + {"i32.atomic.load8_u", TokenType::AtomicLoad, Opcode::I32AtomicLoad8U}, +#line 170 "src/lexer-keywords.txt" + {"i16x8.lt_s", TokenType::Compare, Opcode::I16X8LtS}, + {""}, +#line 171 "src/lexer-keywords.txt" + {"i16x8.lt_u", TokenType::Compare, Opcode::I16X8LtU}, + {""}, {""}, {""}, +#line 168 "src/lexer-keywords.txt" + {"i16x8.le_s", TokenType::Compare, Opcode::I16X8LeS}, +#line 158 "src/lexer-keywords.txt" + {"i16x8.add", TokenType::Binary, Opcode::I16X8Add}, +#line 169 "src/lexer-keywords.txt" + {"i16x8.le_u", TokenType::Compare, Opcode::I16X8LeU}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 306 "src/lexer-keywords.txt" + {"i64.atomic.rmw32.xchg_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw32XchgU}, +#line 509 "src/lexer-keywords.txt" + {"i64.trunc_s:sat/f64", TokenType::Convert, Opcode::I64TruncSatF64S}, +#line 497 "src/lexer-keywords.txt" + {"i32.trunc_s:sat/f64", TokenType::Convert, Opcode::I32TruncSatF64S}, +#line 513 "src/lexer-keywords.txt" + {"i64.trunc_u:sat/f64", TokenType::Convert, Opcode::I64TruncSatF64U}, +#line 501 "src/lexer-keywords.txt" + {"i32.trunc_u:sat/f64", TokenType::Convert, Opcode::I32TruncSatF64U}, +#line 310 "src/lexer-keywords.txt" + {"i64.atomic.rmw8.cmpxchg_u", TokenType::AtomicRmwCmpxchg, Opcode::I64AtomicRmw8CmpxchgU}, +#line 198 "src/lexer-keywords.txt" + {"i32.atomic.rmw8.cmpxchg_u", TokenType::AtomicRmwCmpxchg, Opcode::I32AtomicRmw8CmpxchgU}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 411 "src/lexer-keywords.txt" + {"i8x16.mul", TokenType::Binary, Opcode::I8X16Mul}, + {""}, {""}, +#line 146 "src/lexer-keywords.txt" + {"f64x2.sqrt", TokenType::Unary, Opcode::F64X2Sqrt}, + {""}, {""}, {""}, {""}, +#line 382 "src/lexer-keywords.txt" + {"i64x2.any_true", TokenType::Unary, Opcode::I64X2AnyTrue}, + {""}, {""}, +#line 172 "src/lexer-keywords.txt" + {"i16x8.mul", TokenType::Binary, Opcode::I16X8Mul}, + {""}, +#line 311 "src/lexer-keywords.txt" + {"i64.atomic.rmw8.or_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw8OrU}, +#line 199 "src/lexer-keywords.txt" + {"i32.atomic.rmw8.or_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw8OrU}, + {""}, +#line 392 "src/lexer-keywords.txt" + {"i64x2.trunc_sat_f64x2_s", TokenType::Unary, Opcode::I64X2TruncSatF64X2S}, + {""}, +#line 393 "src/lexer-keywords.txt" + {"i64x2.trunc_sat_f64x2_u", TokenType::Unary, Opcode::I64X2TruncSatF64X2U}, + {""}, {""}, {""}, {""}, +#line 387 "src/lexer-keywords.txt" + {"i64x2.shr_s", TokenType::Binary, Opcode::I64X2ShrS}, + {""}, {""}, {""}, +#line 388 "src/lexer-keywords.txt" + {"i64x2.shr_u", TokenType::Binary, Opcode::I64X2ShrU}, +#line 134 "src/lexer-keywords.txt" + {"f64x2.extract_lane", TokenType::SimdLaneOp, Opcode::F64X2ExtractLane}, + {""}, {""}, +#line 383 "src/lexer-keywords.txt" + {"i64x2.extract_lane", TokenType::SimdLaneOp, Opcode::I64X2ExtractLane}, + {""}, {""}, {""}, +#line 422 "src/lexer-keywords.txt" + {"i8x16", TokenType::I8X16}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 377 "src/lexer-keywords.txt" + {"i64.trunc_sat_f64_s", TokenType::Convert, Opcode::I64TruncSatF64S}, +#line 258 "src/lexer-keywords.txt" + {"i32.trunc_sat_f64_s", TokenType::Convert, Opcode::I32TruncSatF64S}, +#line 514 "src/lexer-keywords.txt" + {"set_global", TokenType::GlobalSet, Opcode::GlobalSet}, + {""}, +#line 378 "src/lexer-keywords.txt" + {"i64.trunc_sat_f64_u", TokenType::Convert, Opcode::I64TruncSatF64U}, +#line 259 "src/lexer-keywords.txt" + {"i32.trunc_sat_f64_u", TokenType::Convert, Opcode::I32TruncSatF64U}, +#line 478 "src/lexer-keywords.txt" + {"anyfunc", Type::Funcref}, +#line 314 "src/lexer-keywords.txt" + {"i64.atomic.rmw8.xor_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw8XorU}, +#line 202 "src/lexer-keywords.txt" + {"i32.atomic.rmw8.xor_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw8XorU}, + {""}, {""}, {""}, +#line 334 "src/lexer-keywords.txt" + {"i64.extend16_s", TokenType::Unary, Opcode::I64Extend16S}, +#line 221 "src/lexer-keywords.txt" + {"i32.extend16_s", TokenType::Unary, Opcode::I32Extend16S}, +#line 419 "src/lexer-keywords.txt" + {"i8x16.sub_saturate_s", TokenType::Binary, Opcode::I8X16SubSaturateS}, +#line 386 "src/lexer-keywords.txt" + {"i64x2.shl", TokenType::Binary, Opcode::I64X2Shl}, +#line 420 "src/lexer-keywords.txt" + {"i8x16.sub_saturate_u", TokenType::Binary, Opcode::I8X16SubSaturateU}, +#line 466 "src/lexer-keywords.txt" + {"unreachable", TokenType::Unreachable, Opcode::Unreachable}, + {""}, +#line 433 "src/lexer-keywords.txt" + {"memory.grow", TokenType::MemoryGrow, Opcode::MemoryGrow}, + {""}, {""}, {""}, {""}, {""}, +#line 180 "src/lexer-keywords.txt" + {"i16x8.sub_saturate_s", TokenType::Binary, Opcode::I16X8SubSaturateS}, + {""}, +#line 181 "src/lexer-keywords.txt" + {"i16x8.sub_saturate_u", TokenType::Binary, Opcode::I16X8SubSaturateU}, + {""}, {""}, {""}, {""}, +#line 71 "src/lexer-keywords.txt" + {"f32.reinterpret_i32", TokenType::Convert, Opcode::F32ReinterpretI32}, + {""}, {""}, {""}, +#line 395 "src/lexer-keywords.txt" + {"i8x16.add_saturate_s", TokenType::Binary, Opcode::I8X16AddSaturateS}, + {""}, +#line 396 "src/lexer-keywords.txt" + {"i8x16.add_saturate_u", TokenType::Binary, Opcode::I8X16AddSaturateU}, + {""}, {""}, {""}, +#line 115 "src/lexer-keywords.txt" + {"f64.max", TokenType::Binary, Opcode::F64Max}, +#line 65 "src/lexer-keywords.txt" + {"f32.max", TokenType::Binary, Opcode::F32Max}, + {""}, {""}, {""}, +#line 156 "src/lexer-keywords.txt" + {"i16x8.add_saturate_s", TokenType::Binary, Opcode::I16X8AddSaturateS}, + {""}, +#line 157 "src/lexer-keywords.txt" + {"i16x8.add_saturate_u", TokenType::Binary, Opcode::I16X8AddSaturateU}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 486 "src/lexer-keywords.txt" + {"f64.convert_s/i64", TokenType::Convert, Opcode::F64ConvertI64S}, +#line 480 "src/lexer-keywords.txt" + {"f32.convert_s/i64", TokenType::Convert, Opcode::F32ConvertI64S}, +#line 488 "src/lexer-keywords.txt" + {"f64.convert_u/i64", TokenType::Convert, Opcode::F64ConvertI64U}, +#line 482 "src/lexer-keywords.txt" + {"f32.convert_u/i64", TokenType::Convert, Opcode::F32ConvertI64U}, +#line 398 "src/lexer-keywords.txt" + {"i8x16.all_true", TokenType::Unary, Opcode::I8X16AllTrue}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 336 "src/lexer-keywords.txt" + {"i64.extend8_s", TokenType::Unary, Opcode::I64Extend8S}, +#line 222 "src/lexer-keywords.txt" + {"i32.extend8_s", TokenType::Unary, Opcode::I32Extend8S}, +#line 484 "src/lexer-keywords.txt" + {"f32.reinterpret/i32", TokenType::Convert, Opcode::F32ReinterpretI32}, + {""}, +#line 159 "src/lexer-keywords.txt" + {"i16x8.all_true", TokenType::Unary, Opcode::I16X8AllTrue}, + {""}, {""}, +#line 300 "src/lexer-keywords.txt" + {"i64.atomic.rmw16.xor_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw16XorU}, +#line 195 "src/lexer-keywords.txt" + {"i32.atomic.rmw16.xor_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw16XorU}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 121 "src/lexer-keywords.txt" + {"f64.promote_f32", TokenType::Convert, Opcode::F64PromoteF32}, + {""}, {""}, +#line 122 "src/lexer-keywords.txt" + {"f64.reinterpret_i64", TokenType::Convert, Opcode::F64ReinterpretI64}, + {""}, {""}, {""}, +#line 299 "src/lexer-keywords.txt" + {"i64.atomic.rmw16.xchg_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw16XchgU}, +#line 194 "src/lexer-keywords.txt" + {"i32.atomic.rmw16.xchg_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw16XchgU}, + {""}, {""}, {""}, {""}, +#line 405 "src/lexer-keywords.txt" + {"i8x16.gt_s", TokenType::Compare, Opcode::I8X16GtS}, + {""}, +#line 406 "src/lexer-keywords.txt" + {"i8x16.gt_u", TokenType::Compare, Opcode::I8X16GtU}, +#line 22 "src/lexer-keywords.txt" + {"assert_return_arithmetic_nan", TokenType::AssertReturnArithmeticNan}, + {""}, {""}, +#line 403 "src/lexer-keywords.txt" + {"i8x16.ge_s", TokenType::Compare, Opcode::I8X16GeS}, + {""}, +#line 404 "src/lexer-keywords.txt" + {"i8x16.ge_u", TokenType::Compare, Opcode::I8X16GeU}, +#line 91 "src/lexer-keywords.txt" + {"f32x4.neg", TokenType::Unary, Opcode::F32X4Neg}, + {""}, +#line 166 "src/lexer-keywords.txt" + {"i16x8.gt_s", TokenType::Compare, Opcode::I16X8GtS}, +#line 276 "src/lexer-keywords.txt" + {"i32x4.neg", TokenType::Unary, Opcode::I32X4Neg}, +#line 167 "src/lexer-keywords.txt" + {"i16x8.gt_u", TokenType::Compare, Opcode::I16X8GtU}, + {""}, {""}, {""}, +#line 164 "src/lexer-keywords.txt" + {"i16x8.ge_s", TokenType::Compare, Opcode::I16X8GeS}, + {""}, +#line 165 "src/lexer-keywords.txt" + {"i16x8.ge_u", TokenType::Compare, Opcode::I16X8GeU}, +#line 144 "src/lexer-keywords.txt" + {"f64x2.replace_lane", TokenType::SimdLaneOp, Opcode::F64X2ReplaceLane}, + {""}, {""}, +#line 385 "src/lexer-keywords.txt" + {"i64x2.replace_lane", TokenType::SimdLaneOp, Opcode::I64X2ReplaceLane}, +#line 489 "src/lexer-keywords.txt" + {"f64.promote/f32", TokenType::Convert, Opcode::F64PromoteF32}, + {""}, {""}, +#line 490 "src/lexer-keywords.txt" + {"f64.reinterpret/i64", TokenType::Convert, Opcode::F64ReinterpretI64}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 139 "src/lexer-keywords.txt" + {"f64x2.max", TokenType::Binary, Opcode::F64X2Max}, +#line 94 "src/lexer-keywords.txt" + {"f32x4.splat", TokenType::Unary, Opcode::F32X4Splat}, + {""}, {""}, +#line 282 "src/lexer-keywords.txt" + {"i32x4.splat", TokenType::Unary, Opcode::I32X4Splat}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 464 "src/lexer-keywords.txt" + {"try", TokenType::Try, Opcode::Try}, + {""}, {""}, {""}, {""}, {""}, +#line 285 "src/lexer-keywords.txt" + {"i32x4.trunc_sat_f32x4_s", TokenType::Unary, Opcode::I32X4TruncSatF32X4S}, + {""}, +#line 286 "src/lexer-keywords.txt" + {"i32x4.trunc_sat_f32x4_u", TokenType::Unary, Opcode::I32X4TruncSatF32X4U}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 436 "src/lexer-keywords.txt" + {"memory", TokenType::Memory}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 439 "src/lexer-keywords.txt" + {"nop", TokenType::Nop, Opcode::Nop}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 28 "src/lexer-keywords.txt" + {"binary", TokenType::Bin}, + {""}, +#line 95 "src/lexer-keywords.txt" + {"f32x4.sqrt", TokenType::Unary, Opcode::F32X4Sqrt}, + {""}, {""}, {""}, +#line 183 "src/lexer-keywords.txt" + {"i16x8", TokenType::I16X8}, +#line 264 "src/lexer-keywords.txt" + {"i32x4.any_true", TokenType::Unary, Opcode::I32X4AnyTrue}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 280 "src/lexer-keywords.txt" + {"i32x4.shr_s", TokenType::Binary, Opcode::I32X4ShrS}, + {""}, {""}, {""}, +#line 281 "src/lexer-keywords.txt" + {"i32x4.shr_u", TokenType::Binary, Opcode::I32X4ShrU}, +#line 83 "src/lexer-keywords.txt" + {"f32x4.extract_lane", TokenType::SimdLaneOp, Opcode::F32X4ExtractLane}, + {""}, +#line 491 "src/lexer-keywords.txt" + {"get_global", TokenType::GlobalGet, Opcode::GlobalGet}, +#line 266 "src/lexer-keywords.txt" + {"i32x4.extract_lane", TokenType::SimdLaneOp, Opcode::I32X4ExtractLane}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 240 "src/lexer-keywords.txt" + {"i32.reinterpret_f32", TokenType::Convert, Opcode::I32ReinterpretF32}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 324 "src/lexer-keywords.txt" + {"i64.atomic.store8", TokenType::AtomicStore, Opcode::I64AtomicStore8}, +#line 211 "src/lexer-keywords.txt" + {"i32.atomic.store8", TokenType::AtomicStore, Opcode::I32AtomicStore8}, + {""}, +#line 279 "src/lexer-keywords.txt" + {"i32x4.shl", TokenType::Binary, Opcode::I32X4Shl}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 25 "src/lexer-keywords.txt" + {"assert_trap", TokenType::AssertTrap}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 493 "src/lexer-keywords.txt" + {"i32.reinterpret/f32", TokenType::Convert, Opcode::I32ReinterpretF32}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 358 "src/lexer-keywords.txt" + {"i64.reinterpret_f64", TokenType::Convert, Opcode::I64ReinterpretF64}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 455 "src/lexer-keywords.txt" + {"table.copy", TokenType::TableCopy, Opcode::TableCopy}, + {""}, {""}, {""}, {""}, +#line 108 "src/lexer-keywords.txt" + {"f64.eq", TokenType::Compare, Opcode::F64Eq}, +#line 58 "src/lexer-keywords.txt" + {"f32.eq", TokenType::Compare, Opcode::F32Eq}, + {""}, +#line 332 "src/lexer-keywords.txt" + {"i64.eq", TokenType::Compare, Opcode::I64Eq}, +#line 219 "src/lexer-keywords.txt" + {"i32.eq", TokenType::Compare, Opcode::I32Eq}, + {""}, {""}, +#line 38 "src/lexer-keywords.txt" + {"data.drop", TokenType::DataDrop, Opcode::DataDrop}, +#line 505 "src/lexer-keywords.txt" + {"i64.reinterpret/f64", TokenType::Convert, Opcode::I64ReinterpretF64}, + {""}, +#line 41 "src/lexer-keywords.txt" + {"elem.drop", TokenType::ElemDrop, Opcode::ElemDrop}, +#line 261 "src/lexer-keywords.txt" + {"i32.wrap_i64", TokenType::Convert, Opcode::I32WrapI64}, + {""}, {""}, {""}, {""}, +#line 412 "src/lexer-keywords.txt" + {"i8x16.neg", TokenType::Unary, Opcode::I8X16Neg}, +#line 321 "src/lexer-keywords.txt" + {"i64.atomic.rmw.xor", TokenType::AtomicRmw, Opcode::I64AtomicRmwXor}, +#line 209 "src/lexer-keywords.txt" + {"i32.atomic.rmw.xor", TokenType::AtomicRmw, Opcode::I32AtomicRmwXor}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 173 "src/lexer-keywords.txt" + {"i16x8.neg", TokenType::Unary, Opcode::I16X8Neg}, + {""}, +#line 93 "src/lexer-keywords.txt" + {"f32x4.replace_lane", TokenType::SimdLaneOp, Opcode::F32X4ReplaceLane}, + {""}, {""}, +#line 278 "src/lexer-keywords.txt" + {"i32x4.replace_lane", TokenType::SimdLaneOp, Opcode::I32X4ReplaceLane}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 418 "src/lexer-keywords.txt" + {"i8x16.splat", TokenType::Unary, Opcode::I8X16Splat}, +#line 88 "src/lexer-keywords.txt" + {"f32x4.max", TokenType::Binary, Opcode::F32X4Max}, + {""}, {""}, {""}, +#line 502 "src/lexer-keywords.txt" + {"i32.wrap/i64", TokenType::Convert, Opcode::I32WrapI64}, + {""}, {""}, {""}, {""}, {""}, +#line 179 "src/lexer-keywords.txt" + {"i16x8.splat", TokenType::Unary, Opcode::I16X8Splat}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 357 "src/lexer-keywords.txt" + {"i64.popcnt", TokenType::Unary, Opcode::I64Popcnt}, +#line 239 "src/lexer-keywords.txt" + {"i32.popcnt", TokenType::Unary, Opcode::I32Popcnt}, + {""}, +#line 79 "src/lexer-keywords.txt" + {"f32x4.convert_i32x4_s", TokenType::Unary, Opcode::F32X4ConvertI32X4S}, + {""}, +#line 80 "src/lexer-keywords.txt" + {"f32x4.convert_i32x4_u", TokenType::Unary, Opcode::F32X4ConvertI32X4U}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 37 "src/lexer-keywords.txt" + {"current_memory", TokenType::MemorySize, Opcode::MemorySize}, + {""}, {""}, {""}, {""}, {""}, +#line 27 "src/lexer-keywords.txt" + {"atomic.notify", TokenType::AtomicNotify, Opcode::AtomicNotify}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 399 "src/lexer-keywords.txt" + {"i8x16.any_true", TokenType::Unary, Opcode::I8X16AnyTrue}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 133 "src/lexer-keywords.txt" + {"f64x2.eq", TokenType::Compare, Opcode::F64X2Eq}, + {""}, {""}, +#line 160 "src/lexer-keywords.txt" + {"i16x8.any_true", TokenType::Unary, Opcode::I16X8AnyTrue}, + {""}, {""}, {""}, +#line 416 "src/lexer-keywords.txt" + {"i8x16.shr_s", TokenType::Binary, Opcode::I8X16ShrS}, + {""}, {""}, {""}, +#line 417 "src/lexer-keywords.txt" + {"i8x16.shr_u", TokenType::Binary, Opcode::I8X16ShrU}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 177 "src/lexer-keywords.txt" + {"i16x8.shr_s", TokenType::Binary, Opcode::I16X8ShrS}, +#line 401 "src/lexer-keywords.txt" + {"i8x16.extract_lane_s", TokenType::SimdLaneOp, Opcode::I8X16ExtractLaneS}, + {""}, +#line 402 "src/lexer-keywords.txt" + {"i8x16.extract_lane_u", TokenType::SimdLaneOp, Opcode::I8X16ExtractLaneU}, +#line 178 "src/lexer-keywords.txt" + {"i16x8.shr_u", TokenType::Binary, Opcode::I16X8ShrU}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 130 "src/lexer-keywords.txt" + {"f64x2.convert_i64x2_s", TokenType::Unary, Opcode::F64X2ConvertI64X2S}, +#line 162 "src/lexer-keywords.txt" + {"i16x8.extract_lane_s", TokenType::SimdLaneOp, Opcode::I16X8ExtractLaneS}, +#line 131 "src/lexer-keywords.txt" + {"f64x2.convert_i64x2_u", TokenType::Unary, Opcode::F64X2ConvertI64X2U}, +#line 163 "src/lexer-keywords.txt" + {"i16x8.extract_lane_u", TokenType::SimdLaneOp, Opcode::I16X8ExtractLaneU}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 415 "src/lexer-keywords.txt" + {"i8x16.shl", TokenType::Binary, Opcode::I8X16Shl}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 176 "src/lexer-keywords.txt" + {"i16x8.shl", TokenType::Binary, Opcode::I16X8Shl}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 106 "src/lexer-keywords.txt" + {"f64.copysign", TokenType::Binary, Opcode::F64Copysign}, +#line 55 "src/lexer-keywords.txt" + {"f32.copysign", TokenType::Binary, Opcode::F32Copysign}, +#line 313 "src/lexer-keywords.txt" + {"i64.atomic.rmw8.xchg_u", TokenType::AtomicRmw, Opcode::I64AtomicRmw8XchgU}, +#line 201 "src/lexer-keywords.txt" + {"i32.atomic.rmw8.xchg_u", TokenType::AtomicRmw, Opcode::I32AtomicRmw8XchgU}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 155 "src/lexer-keywords.txt" + {"grow_memory", TokenType::MemoryGrow, Opcode::MemoryGrow}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 476 "src/lexer-keywords.txt" + {"v8x16.shuffle", TokenType::SimdShuffleOp, Opcode::V8X16Shuffle}, + {""}, {""}, {""}, +#line 317 "src/lexer-keywords.txt" + {"i64.atomic.rmw.cmpxchg", TokenType::AtomicRmwCmpxchg, Opcode::I64AtomicRmwCmpxchg}, +#line 205 "src/lexer-keywords.txt" + {"i32.atomic.rmw.cmpxchg", TokenType::AtomicRmwCmpxchg, Opcode::I32AtomicRmwCmpxchg}, + {""}, +#line 414 "src/lexer-keywords.txt" + {"i8x16.replace_lane", TokenType::SimdLaneOp, Opcode::I8X16ReplaceLane}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 175 "src/lexer-keywords.txt" + {"i16x8.replace_lane", TokenType::SimdLaneOp, Opcode::I16X8ReplaceLane}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 82 "src/lexer-keywords.txt" + {"f32x4.eq", TokenType::Compare, Opcode::F32X4Eq}, + {""}, {""}, +#line 265 "src/lexer-keywords.txt" + {"i32x4.eq", TokenType::Compare, Opcode::I32X4Eq}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 431 "src/lexer-keywords.txt" + {"memory.copy", TokenType::MemoryCopy, Opcode::MemoryCopy}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 320 "src/lexer-keywords.txt" + {"i64.atomic.rmw.xchg", TokenType::AtomicRmw, Opcode::I64AtomicRmwXchg}, +#line 208 "src/lexer-keywords.txt" + {"i32.atomic.rmw.xchg", TokenType::AtomicRmw, Opcode::I32AtomicRmwXchg}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 400 "src/lexer-keywords.txt" + {"i8x16.eq", TokenType::Compare, Opcode::I8X16Eq}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 161 "src/lexer-keywords.txt" + {"i16x8.eq", TokenType::Compare, Opcode::I16X8Eq} + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE) + { + const char *s = wordlist[key].name; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0') + return &wordlist[key]; + } + } + return 0; +} diff --git a/src/prebuilt/wast-lexer-gen.cc b/src/prebuilt/wast-lexer-gen.cc deleted file mode 100644 index 22a36921..00000000 --- a/src/prebuilt/wast-lexer-gen.cc +++ /dev/null @@ -1,13742 +0,0 @@ -/* Generated by re2c 0.16 */ -#line 1 "src/wast-lexer.cc" -/* - * Copyright 2016 WebAssembly Community Group participants - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "src/wast-lexer.h" - -#include <cassert> -#include <cstdio> - -#include "config.h" - -#include "src/lexer-source.h" -#include "src/wast-parser.h" - -#define YYMAXFILL 29 - -#define INITIAL_LEXER_BUFFER_SIZE (64 * 1024) - -#define ERROR(...) parser->Error(GetLocation(), __VA_ARGS__) - -#define BEGIN(c) cond = (c) -#define FILL(n) \ - do { \ - if (Failed(Fill((n)))) { \ - RETURN(Eof); \ - } \ - } while (0) - -#define MAYBE_MALFORMED_UTF8(desc) \ - if (!(eof_ && limit_ - cursor_ <= YYMAXFILL)) { \ - ERROR("malformed utf-8%s", desc); \ - } \ - continue - -#define yytext (next_pos_) -#define yyleng (cursor_ - next_pos_) - -/* p must be a pointer somewhere in the lexer buffer */ -#define FILE_OFFSET(p) ((p) - (buffer_) + buffer_file_offset_) -#define COLUMN(p) (FILE_OFFSET(p) - line_file_offset_ + 1) - -#define COMMENT_NESTING (comment_nesting_) -#define NEWLINE \ - do { \ - line_++; \ - line_file_offset_ = FILE_OFFSET(cursor_); \ - } while (0) - -#define RETURN(token) return Token(GetLocation(), TokenType::token); - -#define RETURN_LITERAL(token, literal) \ - return Token(GetLocation(), TokenType::token, \ - MakeLiteral(LiteralType::literal)) - -#define RETURN_TYPE(token, type) \ - return Token(GetLocation(), TokenType::token, Type::type) - -#define RETURN_OPCODE0(token) \ - return Token(GetLocation(), TokenType::token, Opcode::token) - -#define RETURN_OPCODE(token, opcode) \ - return Token(GetLocation(), TokenType::token, Opcode::opcode) - -#define RETURN_TEXT(token) \ - return Token(GetLocation(), TokenType::token, GetText()) - -#define RETURN_TEXT_AT(token, at) \ - return Token(GetLocation(), TokenType::token, GetText(at)) - -namespace wabt { - -WastLexer::WastLexer(std::unique_ptr<LexerSource> source, string_view filename) - : source_(std::move(source)), - filename_(filename), - line_(1), - comment_nesting_(0), - buffer_file_offset_(0), - line_file_offset_(0), - eof_(false), - buffer_(nullptr), - buffer_size_(0), - marker_(nullptr), - next_pos_(nullptr), - cursor_(nullptr), - limit_(nullptr) {} - -WastLexer::~WastLexer() { - delete[] buffer_; -} - -// static -std::unique_ptr<WastLexer> WastLexer::CreateBufferLexer(string_view filename, - const void* data, - size_t size) { - return MakeUnique<WastLexer>(MakeUnique<LexerSource>(data, size), filename); -} - -Location WastLexer::GetLocation() { - return Location(filename_, line_, COLUMN(next_pos_), COLUMN(cursor_)); -} - -Literal WastLexer::MakeLiteral(LiteralType type) { - return Literal(type, GetText()); -} - -std::string WastLexer::GetText(size_t offset) { - return std::string(yytext + offset, yyleng - offset); -} - -Result WastLexer::Fill(size_t need) { - if (eof_) { - return Result::Error; - } - size_t free = next_pos_ - buffer_; - assert(static_cast<size_t>(cursor_ - buffer_) >= free); - // Our buffer is too small, need to realloc. - if (free < need) { - char* old_buffer = buffer_; - size_t old_buffer_size = buffer_size_; - size_t new_buffer_size = - old_buffer_size ? old_buffer_size * 2 : INITIAL_LEXER_BUFFER_SIZE; - // Make sure there is enough space for the bytes requested (need) and an - // additional YYMAXFILL bytes which is needed for the re2c lexer - // implementation when the eof is reached. - while ((new_buffer_size - old_buffer_size) + free < need + YYMAXFILL) - new_buffer_size *= 2; - - char* new_buffer = new char[new_buffer_size]; - if (limit_ > next_pos_) { - memmove(new_buffer, next_pos_, limit_ - next_pos_); - } - buffer_ = new_buffer; - buffer_size_ = new_buffer_size; - next_pos_ = new_buffer + (next_pos_ - old_buffer) - free; - marker_ = new_buffer + (marker_ - old_buffer) - free; - cursor_ = new_buffer + (cursor_ - old_buffer) - free; - limit_ = new_buffer + (limit_ - old_buffer) - free; - buffer_file_offset_ += free; - free += new_buffer_size - old_buffer_size; - delete[] old_buffer; - } else { - // Shift everything down to make more room in the buffer. - if (limit_ > next_pos_) { - memmove(buffer_, next_pos_, limit_ - next_pos_); - } - next_pos_ -= free; - marker_ -= free; - cursor_ -= free; - limit_ -= free; - buffer_file_offset_ += free; - } - // Read the new data into the buffer. - limit_ += source_->Fill(limit_, free); - - // If at the end of file, need to fill YYMAXFILL more characters with "fake - // characters", that are not a lexeme nor a lexeme suffix. see - // http://re2c.org/examples/example_03.html. - if (limit_ < buffer_ + buffer_size_ - YYMAXFILL) { - eof_ = true; - // Fill with 0xff, since that is an invalid utf-8 byte. - memset(limit_, 0xff, YYMAXFILL); - limit_ += YYMAXFILL; - } - return Result::Ok; -} - -Token WastLexer::GetToken(WastParser* parser) { -#line 183 "src/prebuilt/wast-lexer-gen.cc" - -enum YYCONDTYPE { - YYCOND_i, - YYCOND_BAD_TEXT, - YYCOND_LINE_COMMENT, - YYCOND_BLOCK_COMMENT, -}; - -#line 180 "src/wast-lexer.cc" - YYCONDTYPE cond = YYCOND_i; // i is the initial state. - - for (;;) { - next_pos_ = cursor_; - -#line 198 "src/prebuilt/wast-lexer-gen.cc" -{ - unsigned char yych; - unsigned int yyaccept = 0; - if (cond < 2) { - if (cond < 1) { - goto YYCOND_i; - } else { - goto YYCOND_BAD_TEXT; - } - } else { - if (cond < 3) { - goto YYCOND_LINE_COMMENT; - } else { - goto YYCOND_BLOCK_COMMENT; - } - } -/* *********************************** */ -YYCOND_BAD_TEXT: - if ((limit_ - cursor_) < 5) FILL(5); - yych = *cursor_; - if (yych <= 0x7F) { - if (yych <= '!') { - if (yych == '\n') goto yy5; - if (yych >= ' ') goto yy7; - } else { - if (yych <= '"') goto yy9; - if (yych == '\\') goto yy11; - goto yy7; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xC1) goto yy12; - if (yych <= 0xDF) goto yy14; - if (yych <= 0xE0) goto yy15; - goto yy16; - } else { - if (yych <= 0xF0) goto yy17; - if (yych <= 0xF3) goto yy18; - if (yych <= 0xF4) goto yy19; - goto yy12; - } - } - ++cursor_; -yy4: -#line 242 "src/wast-lexer.cc" - { ERROR("illegal character in string"); - continue; } -#line 246 "src/prebuilt/wast-lexer-gen.cc" -yy5: - ++cursor_; - BEGIN(YYCOND_i); -#line 235 "src/wast-lexer.cc" - { ERROR("newline in string"); - NEWLINE; - continue; } -#line 254 "src/prebuilt/wast-lexer-gen.cc" -yy7: - ++cursor_; -#line 234 "src/wast-lexer.cc" - { continue; } -#line 259 "src/prebuilt/wast-lexer-gen.cc" -yy9: - ++cursor_; - BEGIN(YYCOND_i); -#line 241 "src/wast-lexer.cc" - { RETURN_TEXT(Text); } -#line 265 "src/prebuilt/wast-lexer-gen.cc" -yy11: - yyaccept = 0; - yych = *(marker_ = ++cursor_); - if (yych <= 'f') { - if (yych <= '/') { - if (yych <= '!') { - if (yych == '\n') goto yy4; - goto yy20; - } else { - if (yych <= '"') goto yy7; - if (yych == '\'') goto yy7; - goto yy20; - } - } else { - if (yych <= 'F') { - if (yych <= '9') goto yy22; - if (yych <= '@') goto yy20; - goto yy22; - } else { - if (yych == '\\') goto yy7; - if (yych <= '`') goto yy20; - goto yy22; - } - } - } else { - if (yych <= 0x7F) { - if (yych <= 'q') { - if (yych == 'n') goto yy7; - goto yy20; - } else { - if (yych == 's') goto yy20; - if (yych <= 't') goto yy7; - goto yy20; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xC1) goto yy4; - if (yych <= 0xDF) goto yy23; - if (yych <= 0xE0) goto yy25; - goto yy26; - } else { - if (yych <= 0xF0) goto yy27; - if (yych <= 0xF3) goto yy28; - if (yych <= 0xF4) goto yy29; - goto yy4; - } - } - } -yy12: - ++cursor_; -yy13: -#line 244 "src/wast-lexer.cc" - { MAYBE_MALFORMED_UTF8(" in string"); } -#line 319 "src/prebuilt/wast-lexer-gen.cc" -yy14: - yych = *++cursor_; - if (yych <= 0x7F) goto yy13; - if (yych <= 0xBF) goto yy7; - goto yy13; -yy15: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x9F) goto yy13; - if (yych <= 0xBF) goto yy30; - goto yy13; -yy16: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy13; - if (yych <= 0xBF) goto yy30; - goto yy13; -yy17: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x8F) goto yy13; - if (yych <= 0xBF) goto yy31; - goto yy13; -yy18: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy13; - if (yych <= 0xBF) goto yy31; - goto yy13; -yy19: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy13; - if (yych <= 0x8F) goto yy31; - goto yy13; -yy20: - ++cursor_; -yy21: -#line 238 "src/wast-lexer.cc" - { ERROR("bad escape \"%.*s\"", - static_cast<int>(yyleng), yytext); - continue; } -#line 362 "src/prebuilt/wast-lexer-gen.cc" -yy22: - yych = *++cursor_; - if (yych <= '@') { - if (yych <= '/') goto yy21; - if (yych <= '9') goto yy7; - goto yy21; - } else { - if (yych <= 'F') goto yy7; - if (yych <= '`') goto yy21; - if (yych <= 'f') goto yy7; - goto yy21; - } -yy23: - yych = *++cursor_; - if (yych <= 0x7F) goto yy24; - if (yych <= 0xBF) goto yy20; -yy24: - cursor_ = marker_; - if (yyaccept == 0) { - goto yy4; - } else { - goto yy13; - } -yy25: - yych = *++cursor_; - if (yych <= 0x9F) goto yy24; - if (yych <= 0xBF) goto yy23; - goto yy24; -yy26: - yych = *++cursor_; - if (yych <= 0x7F) goto yy24; - if (yych <= 0xBF) goto yy23; - goto yy24; -yy27: - yych = *++cursor_; - if (yych <= 0x8F) goto yy24; - if (yych <= 0xBF) goto yy26; - goto yy24; -yy28: - yych = *++cursor_; - if (yych <= 0x7F) goto yy24; - if (yych <= 0xBF) goto yy26; - goto yy24; -yy29: - yych = *++cursor_; - if (yych <= 0x7F) goto yy24; - if (yych <= 0x8F) goto yy26; - goto yy24; -yy30: - yych = *++cursor_; - if (yych <= 0x7F) goto yy24; - if (yych <= 0xBF) goto yy7; - goto yy24; -yy31: - ++cursor_; - if ((yych = *cursor_) <= 0x7F) goto yy24; - if (yych <= 0xBF) goto yy30; - goto yy24; -/* *********************************** */ -YYCOND_BLOCK_COMMENT: - if ((limit_ - cursor_) < 4) FILL(4); - yych = *cursor_; - if (yych <= 0x7F) { - if (yych <= '\'') { - if (yych == '\n') goto yy36; - } else { - if (yych <= '(') goto yy38; - if (yych == ';') goto yy39; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xC1) goto yy40; - if (yych <= 0xDF) goto yy42; - if (yych <= 0xE0) goto yy43; - goto yy44; - } else { - if (yych <= 0xF0) goto yy45; - if (yych <= 0xF3) goto yy46; - if (yych <= 0xF4) goto yy47; - goto yy40; - } - } -yy34: - ++cursor_; -yy35: -#line 761 "src/wast-lexer.cc" - { continue; } -#line 450 "src/prebuilt/wast-lexer-gen.cc" -yy36: - ++cursor_; -#line 760 "src/wast-lexer.cc" - { NEWLINE; continue; } -#line 455 "src/prebuilt/wast-lexer-gen.cc" -yy38: - yych = *++cursor_; - if (yych == ';') goto yy48; - goto yy35; -yy39: - yych = *++cursor_; - if (yych == ')') goto yy50; - goto yy35; -yy40: - ++cursor_; -yy41: -#line 762 "src/wast-lexer.cc" - { MAYBE_MALFORMED_UTF8(" in block comment"); } -#line 469 "src/prebuilt/wast-lexer-gen.cc" -yy42: - yych = *++cursor_; - if (yych <= 0x7F) goto yy41; - if (yych <= 0xBF) goto yy34; - goto yy41; -yy43: - yych = *(marker_ = ++cursor_); - if (yych <= 0x9F) goto yy41; - if (yych <= 0xBF) goto yy52; - goto yy41; -yy44: - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy41; - if (yych <= 0xBF) goto yy52; - goto yy41; -yy45: - yych = *(marker_ = ++cursor_); - if (yych <= 0x8F) goto yy41; - if (yych <= 0xBF) goto yy54; - goto yy41; -yy46: - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy41; - if (yych <= 0xBF) goto yy54; - goto yy41; -yy47: - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy41; - if (yych <= 0x8F) goto yy54; - goto yy41; -yy48: - ++cursor_; -#line 755 "src/wast-lexer.cc" - { COMMENT_NESTING++; continue; } -#line 504 "src/prebuilt/wast-lexer-gen.cc" -yy50: - ++cursor_; -#line 756 "src/wast-lexer.cc" - { if (--COMMENT_NESTING == 0) { - BEGIN(YYCOND_i); - } - continue; } -#line 512 "src/prebuilt/wast-lexer-gen.cc" -yy52: - yych = *++cursor_; - if (yych <= 0x7F) goto yy53; - if (yych <= 0xBF) goto yy34; -yy53: - cursor_ = marker_; - goto yy41; -yy54: - ++cursor_; - if ((yych = *cursor_) <= 0x7F) goto yy53; - if (yych <= 0xBF) goto yy52; - goto yy53; -/* *********************************** */ -YYCOND_LINE_COMMENT: - { - static const unsigned char yybm[] = { - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - if ((limit_ - cursor_) < 2) FILL(2); - yych = *cursor_; - if (yybm[0+yych] & 128) { - goto yy57; - } - if (yych <= 0xE0) { - if (yych <= '\n') goto yy60; - if (yych <= 0xC1) goto yy62; - if (yych <= 0xDF) goto yy64; - goto yy65; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy66; - goto yy67; - } else { - if (yych <= 0xF3) goto yy68; - if (yych <= 0xF4) goto yy69; - goto yy62; - } - } -yy57: - yyaccept = 0; - marker_ = ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yybm[0+yych] & 128) { - goto yy57; - } - if (yych <= 0xEF) { - if (yych <= 0xC1) goto yy59; - if (yych <= 0xDF) goto yy70; - if (yych <= 0xE0) goto yy72; - goto yy73; - } else { - if (yych <= 0xF0) goto yy74; - if (yych <= 0xF3) goto yy75; - if (yych <= 0xF4) goto yy76; - } -yy59: -#line 753 "src/wast-lexer.cc" - { continue; } -#line 603 "src/prebuilt/wast-lexer-gen.cc" -yy60: - ++cursor_; - BEGIN(YYCOND_i); -#line 752 "src/wast-lexer.cc" - { NEWLINE; continue; } -#line 609 "src/prebuilt/wast-lexer-gen.cc" -yy62: - ++cursor_; -yy63: -#line 767 "src/wast-lexer.cc" - { MAYBE_MALFORMED_UTF8(""); } -#line 615 "src/prebuilt/wast-lexer-gen.cc" -yy64: - yych = *++cursor_; - if (yych <= 0x7F) goto yy63; - if (yych <= 0xBF) goto yy57; - goto yy63; -yy65: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x9F) goto yy63; - if (yych <= 0xBF) goto yy70; - goto yy63; -yy66: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy63; - if (yych <= 0xBF) goto yy70; - goto yy63; -yy67: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x8F) goto yy63; - if (yych <= 0xBF) goto yy73; - goto yy63; -yy68: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy63; - if (yych <= 0xBF) goto yy73; - goto yy63; -yy69: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy63; - if (yych <= 0x8F) goto yy73; - goto yy63; -yy70: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x7F) goto yy71; - if (yych <= 0xBF) goto yy57; -yy71: - cursor_ = marker_; - if (yyaccept == 0) { - goto yy59; - } else { - goto yy63; - } -yy72: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x9F) goto yy71; - if (yych <= 0xBF) goto yy70; - goto yy71; -yy73: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x7F) goto yy71; - if (yych <= 0xBF) goto yy70; - goto yy71; -yy74: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x8F) goto yy71; - if (yych <= 0xBF) goto yy73; - goto yy71; -yy75: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x7F) goto yy71; - if (yych <= 0xBF) goto yy73; - goto yy71; -yy76: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x7F) goto yy71; - if (yych <= 0x8F) goto yy73; - goto yy71; - } -/* *********************************** */ -YYCOND_i: - { - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 36, 104, 0, 104, 104, 104, 104, 104, - 32, 32, 104, 104, 40, 104, 104, 104, - 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 104, 32, 104, 104, 104, 104, - 104, 232, 232, 232, 232, 232, 232, 104, - 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 40, 72, 40, 104, 104, - 104, 232, 232, 232, 232, 232, 232, 104, - 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 40, 104, 40, 104, 32, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - if ((limit_ - cursor_) < 29) FILL(29); - yych = *cursor_; - if (yybm[0+yych] & 4) { - goto yy81; - } - if (yych <= 'e') { - if (yych <= '+') { - if (yych <= '#') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy79; - if (yych <= '\n') goto yy84; - } else { - if (yych == '"') goto yy89; - goto yy86; - } - } else { - if (yych <= '(') { - if (yych <= '$') goto yy91; - if (yych <= '\'') goto yy86; - goto yy92; - } else { - if (yych <= ')') goto yy94; - if (yych <= '*') goto yy86; - goto yy96; - } - } - } else { - if (yych <= ':') { - if (yych <= '/') { - if (yych == '-') goto yy96; - goto yy86; - } else { - if (yych <= '0') goto yy97; - if (yych <= '9') goto yy99; - goto yy86; - } - } else { - if (yych <= 'a') { - if (yych <= ';') goto yy101; - if (yych <= '`') goto yy86; - goto yy102; - } else { - if (yych <= 'b') goto yy103; - if (yych <= 'c') goto yy104; - if (yych <= 'd') goto yy105; - goto yy106; - } - } - } - } else { - if (yych <= 's') { - if (yych <= 'l') { - if (yych <= 'h') { - if (yych <= 'f') goto yy107; - if (yych <= 'g') goto yy108; - goto yy86; - } else { - if (yych <= 'i') goto yy109; - if (yych <= 'k') goto yy86; - goto yy110; - } - } else { - if (yych <= 'o') { - if (yych <= 'm') goto yy111; - if (yych <= 'n') goto yy112; - goto yy113; - } else { - if (yych <= 'p') goto yy114; - if (yych <= 'q') goto yy115; - if (yych <= 'r') goto yy116; - goto yy117; - } - } - } else { - if (yych <= 0xC1) { - if (yych <= 'v') { - if (yych <= 't') goto yy118; - if (yych <= 'u') goto yy119; - goto yy120; - } else { - if (yych <= '~') goto yy86; - if (yych >= 0x80) goto yy121; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xDF) goto yy123; - if (yych <= 0xE0) goto yy124; - goto yy125; - } else { - if (yych <= 0xF0) goto yy126; - if (yych <= 0xF3) goto yy127; - if (yych <= 0xF4) goto yy128; - goto yy121; - } - } - } - } -yy79: - ++cursor_; -yy80: -#line 766 "src/wast-lexer.cc" - { ERROR("unexpected char"); continue; } -#line 839 "src/prebuilt/wast-lexer-gen.cc" -yy81: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yybm[0+yych] & 4) { - goto yy81; - } -#line 764 "src/wast-lexer.cc" - { continue; } -#line 849 "src/prebuilt/wast-lexer-gen.cc" -yy84: - ++cursor_; -#line 763 "src/wast-lexer.cc" - { NEWLINE; continue; } -#line 854 "src/prebuilt/wast-lexer-gen.cc" -yy86: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; -yy87: - if (yybm[0+yych] & 8) { - goto yy86; - } -yy88: -#line 765 "src/wast-lexer.cc" - { RETURN_TEXT(Reserved); } -#line 866 "src/prebuilt/wast-lexer-gen.cc" -yy89: - yyaccept = 0; - yych = *(marker_ = ++cursor_); - if (yych <= 0x1F) goto yy90; - if (yych <= 0x7F) goto yy130; - if (yych <= 0xC1) goto yy90; - if (yych <= 0xF4) goto yy130; -yy90: - BEGIN(YYCOND_BAD_TEXT); -#line 233 "src/wast-lexer.cc" - { continue; } -#line 878 "src/prebuilt/wast-lexer-gen.cc" -yy91: - yych = *++cursor_; - if (yych <= '\'') { - if (yych == '!') goto yy142; - if (yych <= '"') goto yy88; - goto yy142; - } else { - if (yych <= ':') { - if (yych <= ')') goto yy88; - goto yy142; - } else { - if (yych <= ';') goto yy88; - if (yych <= '~') goto yy142; - goto yy88; - } - } -yy92: - ++cursor_; - if ((yych = *cursor_) == ';') goto yy144; -#line 224 "src/wast-lexer.cc" - { RETURN(Lpar); } -#line 900 "src/prebuilt/wast-lexer-gen.cc" -yy94: - ++cursor_; -#line 225 "src/wast-lexer.cc" - { RETURN(Rpar); } -#line 905 "src/prebuilt/wast-lexer-gen.cc" -yy96: - yych = *++cursor_; - if (yych <= 'h') { - if (yych <= '/') goto yy87; - if (yych <= '0') goto yy146; - if (yych <= '9') goto yy148; - goto yy87; - } else { - if (yych <= 'i') goto yy150; - if (yych == 'n') goto yy151; - goto yy87; - } -yy97: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 16) { - goto yy99; - } - if (yych <= ';') { - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych >= '#') goto yy86; - } else { - if (yych <= '-') { - if (yych >= '*') goto yy86; - } else { - if (yych <= '.') goto yy152; - if (yych <= ':') goto yy86; - } - } - } else { - if (yych <= 'd') { - if (yych <= 'E') { - if (yych <= 'D') goto yy86; - goto yy154; - } else { - if (yych == '_') goto yy155; - goto yy86; - } - } else { - if (yych <= 'w') { - if (yych <= 'e') goto yy154; - goto yy86; - } else { - if (yych <= 'x') goto yy156; - if (yych <= '~') goto yy86; - } - } - } -yy98: -#line 226 "src/wast-lexer.cc" - { RETURN_LITERAL(Nat, Int); } -#line 957 "src/prebuilt/wast-lexer-gen.cc" -yy99: - ++cursor_; - if ((limit_ - cursor_) < 3) FILL(3); - yych = *cursor_; - if (yybm[0+yych] & 16) { - goto yy99; - } - if (yych <= ':') { - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych <= '"') goto yy98; - goto yy86; - } else { - if (yych <= ')') goto yy98; - if (yych == '.') goto yy152; - goto yy86; - } - } else { - if (yych <= '^') { - if (yych <= ';') goto yy98; - if (yych == 'E') goto yy154; - goto yy86; - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy155; - goto yy86; - } else { - if (yych <= 'e') goto yy154; - if (yych <= '~') goto yy86; - goto yy98; - } - } - } -yy101: - yych = *++cursor_; - if (yych == ';') goto yy157; - goto yy80; -yy102: - yych = *++cursor_; - if (yych <= 'n') { - if (yych == 'l') goto yy159; - if (yych <= 'm') goto yy87; - goto yy160; - } else { - if (yych <= 'r') goto yy87; - if (yych <= 's') goto yy161; - if (yych <= 't') goto yy162; - goto yy87; - } -yy103: - yych = *++cursor_; - if (yych <= 'k') { - if (yych == 'i') goto yy163; - goto yy87; - } else { - if (yych <= 'l') goto yy164; - if (yych == 'r') goto yy165; - goto yy87; - } -yy104: - yych = *++cursor_; - if (yych == 'a') goto yy167; - if (yych == 'u') goto yy168; - goto yy87; -yy105: - yych = *++cursor_; - if (yych == 'a') goto yy169; - if (yych == 'r') goto yy170; - goto yy87; -yy106: - yych = *++cursor_; - switch (yych) { - case 'l': goto yy171; - case 'n': goto yy172; - case 'v': goto yy173; - case 'x': goto yy174; - default: goto yy87; - } -yy107: - yych = *++cursor_; - if (yych <= '5') { - if (yych == '3') goto yy175; - goto yy87; - } else { - if (yych <= '6') goto yy176; - if (yych == 'u') goto yy177; - goto yy87; - } -yy108: - yych = *++cursor_; - if (yych <= 'k') { - if (yych == 'e') goto yy178; - goto yy87; - } else { - if (yych <= 'l') goto yy179; - if (yych == 'r') goto yy180; - goto yy87; - } -yy109: - yych = *++cursor_; - if (yych <= '7') { - if (yych <= '2') { - if (yych == '1') goto yy181; - goto yy87; - } else { - if (yych <= '3') goto yy182; - if (yych == '6') goto yy183; - goto yy87; - } - } else { - if (yych <= 'f') { - if (yych <= '8') goto yy184; - if (yych <= 'e') goto yy87; - goto yy185; - } else { - if (yych <= 'l') goto yy87; - if (yych <= 'm') goto yy187; - if (yych <= 'n') goto yy188; - goto yy87; - } - } -yy110: - yych = *++cursor_; - if (yych == 'o') goto yy189; - goto yy87; -yy111: - yych = *++cursor_; - if (yych <= 'n') { - if (yych == 'e') goto yy190; - goto yy87; - } else { - if (yych <= 'o') goto yy191; - if (yych == 'u') goto yy192; - goto yy87; - } -yy112: - yych = *++cursor_; - if (yych == 'a') goto yy193; - if (yych == 'o') goto yy194; - goto yy87; -yy113: - yych = *++cursor_; - if (yych == 'f') goto yy195; - goto yy87; -yy114: - yych = *++cursor_; - if (yych == 'a') goto yy196; - goto yy87; -yy115: - yych = *++cursor_; - if (yych == 'u') goto yy197; - goto yy87; -yy116: - yych = *++cursor_; - if (yych == 'e') goto yy198; - goto yy87; -yy117: - yych = *++cursor_; - if (yych <= 'g') { - if (yych == 'e') goto yy199; - goto yy87; - } else { - if (yych <= 'h') goto yy200; - if (yych == 't') goto yy201; - goto yy87; - } -yy118: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy202; - case 'e': goto yy203; - case 'h': goto yy204; - case 'r': goto yy205; - case 'y': goto yy206; - default: goto yy87; - } -yy119: - yych = *++cursor_; - if (yych == 'n') goto yy207; - goto yy87; -yy120: - yych = *++cursor_; - if (yych == '1') goto yy208; - if (yych == '8') goto yy209; - goto yy87; -yy121: - ++cursor_; -yy122: -#line 767 "src/wast-lexer.cc" - { MAYBE_MALFORMED_UTF8(""); } -#line 1148 "src/prebuilt/wast-lexer-gen.cc" -yy123: - yych = *++cursor_; - if (yych <= 0x7F) goto yy122; - if (yych <= 0xBF) goto yy79; - goto yy122; -yy124: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x9F) goto yy122; - if (yych <= 0xBF) goto yy210; - goto yy122; -yy125: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy122; - if (yych <= 0xBF) goto yy210; - goto yy122; -yy126: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x8F) goto yy122; - if (yych <= 0xBF) goto yy211; - goto yy122; -yy127: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy122; - if (yych <= 0xBF) goto yy211; - goto yy122; -yy128: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy122; - if (yych <= 0x8F) goto yy211; - goto yy122; -yy129: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; -yy130: - if (yybm[0+yych] & 32) { - goto yy129; - } - if (yych <= 0xDF) { - if (yych <= '"') { - if (yych >= ' ') goto yy132; - } else { - if (yych <= '\\') goto yy134; - if (yych >= 0xC2) goto yy135; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xE0) goto yy136; - if (yych <= 0xEF) goto yy137; - goto yy138; - } else { - if (yych <= 0xF3) goto yy139; - if (yych <= 0xF4) goto yy140; - } - } -yy131: - cursor_ = marker_; - if (yyaccept == 0) { - goto yy90; - } else { - goto yy122; - } -yy132: - ++cursor_; -#line 232 "src/wast-lexer.cc" - { RETURN_TEXT(Text); } -#line 1220 "src/prebuilt/wast-lexer-gen.cc" -yy134: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '[') { - if (yych <= '\'') { - if (yych == '"') goto yy129; - if (yych <= '&') goto yy131; - goto yy129; - } else { - if (yych <= '9') { - if (yych <= '/') goto yy131; - goto yy212; - } else { - if (yych <= '@') goto yy131; - if (yych <= 'F') goto yy212; - goto yy131; - } - } - } else { - if (yych <= 'n') { - if (yych <= '`') { - if (yych <= '\\') goto yy129; - goto yy131; - } else { - if (yych <= 'f') goto yy212; - if (yych <= 'm') goto yy131; - goto yy129; - } - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy131; - goto yy129; - } else { - if (yych == 't') goto yy129; - goto yy131; - } - } - } -yy135: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x7F) goto yy131; - if (yych <= 0xBF) goto yy129; - goto yy131; -yy136: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x9F) goto yy131; - if (yych <= 0xBF) goto yy135; - goto yy131; -yy137: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x7F) goto yy131; - if (yych <= 0xBF) goto yy135; - goto yy131; -yy138: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x8F) goto yy131; - if (yych <= 0xBF) goto yy137; - goto yy131; -yy139: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x7F) goto yy131; - if (yych <= 0xBF) goto yy137; - goto yy131; -yy140: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x7F) goto yy131; - if (yych <= 0x8F) goto yy137; - goto yy131; -yy141: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; -yy142: - if (yybm[0+yych] & 64) { - goto yy141; - } - if (yych <= ')') goto yy143; - if (yych <= ',') goto yy86; - if (yych <= ';') goto yy143; - if (yych <= '}') goto yy86; -yy143: -#line 748 "src/wast-lexer.cc" - { RETURN_TEXT(Var); } -#line 1317 "src/prebuilt/wast-lexer-gen.cc" -yy144: - ++cursor_; - BEGIN(YYCOND_BLOCK_COMMENT); -#line 754 "src/wast-lexer.cc" - { COMMENT_NESTING = 1; continue; } -#line 1323 "src/prebuilt/wast-lexer-gen.cc" -yy146: - ++cursor_; - if ((yych = *cursor_) <= ':') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy147; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '.') { - if (yych <= '-') goto yy86; - goto yy152; - } else { - if (yych <= '/') goto yy86; - if (yych <= '9') goto yy148; - goto yy86; - } - } - } else { - if (yych <= '_') { - if (yych <= 'D') { - if (yych >= '<') goto yy86; - } else { - if (yych <= 'E') goto yy154; - if (yych <= '^') goto yy86; - goto yy213; - } - } else { - if (yych <= 'w') { - if (yych == 'e') goto yy154; - goto yy86; - } else { - if (yych <= 'x') goto yy214; - if (yych <= '~') goto yy86; - } - } - } -yy147: -#line 227 "src/wast-lexer.cc" - { RETURN_LITERAL(Int, Int); } -#line 1366 "src/prebuilt/wast-lexer-gen.cc" -yy148: - ++cursor_; - if ((limit_ - cursor_) < 3) FILL(3); - yych = *cursor_; - if (yych <= '9') { - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych <= '"') goto yy147; - goto yy86; - } else { - if (yych <= '-') { - if (yych <= ')') goto yy147; - goto yy86; - } else { - if (yych <= '.') goto yy152; - if (yych <= '/') goto yy86; - goto yy148; - } - } - } else { - if (yych <= '^') { - if (yych <= ';') { - if (yych <= ':') goto yy86; - goto yy147; - } else { - if (yych == 'E') goto yy154; - goto yy86; - } - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy213; - goto yy86; - } else { - if (yych <= 'e') goto yy154; - if (yych <= '~') goto yy86; - goto yy147; - } - } - } -yy150: - yych = *++cursor_; - if (yych == 'n') goto yy215; - goto yy87; -yy151: - yych = *++cursor_; - if (yych == 'a') goto yy193; - goto yy87; -yy152: - ++cursor_; - if ((yych = *cursor_) <= '9') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy153; - if (yych <= '/') goto yy86; - goto yy216; - } - } else { - if (yych <= 'E') { - if (yych == ';') goto yy153; - if (yych <= 'D') goto yy86; - goto yy154; - } else { - if (yych == 'e') goto yy154; - if (yych <= '~') goto yy86; - } - } -yy153: -#line 228 "src/wast-lexer.cc" - { RETURN_LITERAL(Float, Float); } -#line 1438 "src/prebuilt/wast-lexer-gen.cc" -yy154: - yych = *++cursor_; - if (yych <= ',') { - if (yych == '+') goto yy218; - goto yy87; - } else { - if (yych <= '-') goto yy218; - if (yych <= '/') goto yy87; - if (yych <= '9') goto yy219; - goto yy87; - } -yy155: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yybm[0+yych] & 16) { - goto yy99; - } - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych <= '"') goto yy88; - goto yy86; - } else { - if (yych <= ':') { - if (yych <= ')') goto yy88; - goto yy86; - } else { - if (yych <= ';') goto yy88; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy156: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yybm[0+yych] & 128) { - goto yy221; - } - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych <= '"') goto yy88; - goto yy86; - } else { - if (yych <= ':') { - if (yych <= ')') goto yy88; - goto yy86; - } else { - if (yych <= ';') goto yy88; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy157: - ++cursor_; - BEGIN(YYCOND_LINE_COMMENT); -#line 751 "src/wast-lexer.cc" - { continue; } -#line 1497 "src/prebuilt/wast-lexer-gen.cc" -yy159: - yych = *++cursor_; - if (yych == 'i') goto yy223; - goto yy87; -yy160: - yych = *++cursor_; - if (yych == 'y') goto yy224; - goto yy87; -yy161: - yych = *++cursor_; - if (yych == 's') goto yy225; - goto yy87; -yy162: - yych = *++cursor_; - if (yych == 'o') goto yy226; - goto yy87; -yy163: - yych = *++cursor_; - if (yych == 'n') goto yy227; - goto yy87; -yy164: - yych = *++cursor_; - if (yych == 'o') goto yy228; - goto yy87; -yy165: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy166; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy229; - if (yych <= '~') goto yy86; - } - } -yy166: -#line 259 "src/wast-lexer.cc" - { RETURN_OPCODE0(Br); } -#line 1542 "src/prebuilt/wast-lexer-gen.cc" -yy167: - yych = *++cursor_; - if (yych == 'l') goto yy230; - if (yych == 't') goto yy231; - goto yy87; -yy168: - yych = *++cursor_; - if (yych == 'r') goto yy232; - goto yy87; -yy169: - yych = *++cursor_; - if (yych == 't') goto yy233; - goto yy87; -yy170: - yych = *++cursor_; - if (yych == 'o') goto yy234; - goto yy87; -yy171: - yych = *++cursor_; - if (yych == 'e') goto yy235; - if (yych == 's') goto yy236; - goto yy87; -yy172: - yych = *++cursor_; - if (yych == 'd') goto yy237; - goto yy87; -yy173: - yych = *++cursor_; - if (yych == 'e') goto yy239; - goto yy87; -yy174: - yych = *++cursor_; - if (yych == 'p') goto yy240; - goto yy87; -yy175: - yych = *++cursor_; - if (yych == '2') goto yy241; - goto yy87; -yy176: - yych = *++cursor_; - if (yych == '4') goto yy243; - goto yy87; -yy177: - yych = *++cursor_; - if (yych == 'n') goto yy245; - goto yy87; -yy178: - yych = *++cursor_; - if (yych == 't') goto yy246; - goto yy87; -yy179: - yych = *++cursor_; - if (yych == 'o') goto yy248; - goto yy87; -yy180: - yych = *++cursor_; - if (yych == 'o') goto yy249; - goto yy87; -yy181: - yych = *++cursor_; - if (yych == '6') goto yy250; - goto yy87; -yy182: - yych = *++cursor_; - if (yych == '2') goto yy251; - goto yy87; -yy183: - yych = *++cursor_; - if (yych == '4') goto yy253; - goto yy87; -yy184: - yych = *++cursor_; - if (yych == 'x') goto yy255; - goto yy87; -yy185: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 255 "src/wast-lexer.cc" - { RETURN_OPCODE0(If); } -#line 1624 "src/prebuilt/wast-lexer-gen.cc" -yy187: - yych = *++cursor_; - if (yych == 'p') goto yy256; - goto yy87; -yy188: - yych = *++cursor_; - if (yych == 'f') goto yy257; - if (yych == 'v') goto yy259; - goto yy87; -yy189: - yych = *++cursor_; - if (yych == 'c') goto yy260; - if (yych == 'o') goto yy261; - goto yy87; -yy190: - yych = *++cursor_; - if (yych == 'm') goto yy262; - goto yy87; -yy191: - yych = *++cursor_; - if (yych == 'd') goto yy263; - goto yy87; -yy192: - yych = *++cursor_; - if (yych == 't') goto yy264; - goto yy87; -yy193: - yych = *++cursor_; - if (yych == 'n') goto yy266; - goto yy87; -yy194: - yych = *++cursor_; - if (yych == 'p') goto yy268; - goto yy87; -yy195: - yych = *++cursor_; - if (yych == 'f') goto yy270; - goto yy87; -yy196: - yych = *++cursor_; - if (yych <= 'q') goto yy87; - if (yych <= 'r') goto yy271; - if (yych <= 's') goto yy272; - goto yy87; -yy197: - yych = *++cursor_; - if (yych == 'o') goto yy273; - goto yy87; -yy198: - yych = *++cursor_; - if (yych <= 'g') { - if (yych <= 'e') goto yy87; - if (yych <= 'f') goto yy274; - goto yy275; - } else { - if (yych <= 'r') goto yy87; - if (yych <= 's') goto yy276; - if (yych <= 't') goto yy277; - goto yy87; - } -yy199: - yych = *++cursor_; - if (yych == 'l') goto yy278; - if (yych == 't') goto yy279; - goto yy87; -yy200: - yych = *++cursor_; - if (yych == 'a') goto yy280; - goto yy87; -yy201: - yych = *++cursor_; - if (yych == 'a') goto yy281; - goto yy87; -yy202: - yych = *++cursor_; - if (yych == 'b') goto yy282; - goto yy87; -yy203: - yych = *++cursor_; - if (yych == 'e') goto yy283; - goto yy87; -yy204: - yych = *++cursor_; - if (yych == 'e') goto yy284; - if (yych == 'r') goto yy285; - goto yy87; -yy205: - yych = *++cursor_; - if (yych == 'y') goto yy286; - goto yy87; -yy206: - yych = *++cursor_; - if (yych == 'p') goto yy288; - goto yy87; -yy207: - yych = *++cursor_; - if (yych == 'r') goto yy289; - goto yy87; -yy208: - yych = *++cursor_; - if (yych == '2') goto yy290; - goto yy87; -yy209: - yych = *++cursor_; - if (yych == 'x') goto yy291; - goto yy87; -yy210: - yych = *++cursor_; - if (yych <= 0x7F) goto yy131; - if (yych <= 0xBF) goto yy79; - goto yy131; -yy211: - yych = *++cursor_; - if (yych <= 0x7F) goto yy131; - if (yych <= 0xBF) goto yy210; - goto yy131; -yy212: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '@') { - if (yych <= '/') goto yy131; - if (yych <= '9') goto yy129; - goto yy131; - } else { - if (yych <= 'F') goto yy129; - if (yych <= '`') goto yy131; - if (yych <= 'f') goto yy129; - goto yy131; - } -yy213: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= ')') { - if (yych <= '!') { - if (yych <= ' ') goto yy88; - goto yy86; - } else { - if (yych <= '"') goto yy88; - if (yych <= '\'') goto yy86; - goto yy88; - } - } else { - if (yych <= ':') { - if (yych <= '/') goto yy86; - if (yych <= '9') goto yy148; - goto yy86; - } else { - if (yych <= ';') goto yy88; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy214: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '9') { - if (yych <= '"') { - if (yych == '!') goto yy86; - goto yy88; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy88; - if (yych <= '/') goto yy86; - goto yy292; - } - } else { - if (yych <= 'F') { - if (yych == ';') goto yy88; - if (yych <= '@') goto yy86; - goto yy292; - } else { - if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy292; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy215: - yych = *++cursor_; - if (yych == 'f') goto yy257; - goto yy87; -yy216: - ++cursor_; - if ((limit_ - cursor_) < 2) FILL(2); - yych = *cursor_; - if (yych <= ':') { - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych <= '"') goto yy153; - goto yy86; - } else { - if (yych <= ')') goto yy153; - if (yych <= '/') goto yy86; - if (yych <= '9') goto yy216; - goto yy86; - } - } else { - if (yych <= '^') { - if (yych <= ';') goto yy153; - if (yych == 'E') goto yy154; - goto yy86; - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy294; - goto yy86; - } else { - if (yych <= 'e') goto yy154; - if (yych <= '~') goto yy86; - goto yy153; - } - } - } -yy218: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= ')') { - if (yych <= '!') { - if (yych <= ' ') goto yy88; - goto yy86; - } else { - if (yych <= '"') goto yy88; - if (yych <= '\'') goto yy86; - goto yy88; - } - } else { - if (yych <= ':') { - if (yych <= '/') goto yy86; - if (yych >= ':') goto yy86; - } else { - if (yych <= ';') goto yy88; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy219: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '/') { - if (yych <= '"') { - if (yych == '!') goto yy86; - goto yy153; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy153; - goto yy86; - } - } else { - if (yych <= ';') { - if (yych <= '9') goto yy219; - if (yych <= ':') goto yy86; - goto yy153; - } else { - if (yych == '_') goto yy218; - if (yych <= '~') goto yy86; - goto yy153; - } - } -yy221: - ++cursor_; - if ((limit_ - cursor_) < 3) FILL(3); - yych = *cursor_; - if (yybm[0+yych] & 128) { - goto yy221; - } - if (yych <= ':') { - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych <= '"') goto yy98; - goto yy86; - } else { - if (yych <= ')') goto yy98; - if (yych == '.') goto yy295; - goto yy86; - } - } else { - if (yych <= '^') { - if (yych <= ';') goto yy98; - if (yych == 'P') goto yy297; - goto yy86; - } else { - if (yych <= 'o') { - if (yych <= '_') goto yy156; - goto yy86; - } else { - if (yych <= 'p') goto yy297; - if (yych <= '~') goto yy86; - goto yy98; - } - } - } -yy223: - yych = *++cursor_; - if (yych == 'g') goto yy298; - goto yy87; -yy224: - yych = *++cursor_; - if (yych == 'f') goto yy299; - if (yych == 'r') goto yy300; - goto yy87; -yy225: - yych = *++cursor_; - if (yych == 'e') goto yy301; - goto yy87; -yy226: - yych = *++cursor_; - if (yych == 'm') goto yy302; - goto yy87; -yy227: - yych = *++cursor_; - if (yych == 'a') goto yy303; - goto yy87; -yy228: - yych = *++cursor_; - if (yych == 'c') goto yy304; - goto yy87; -yy229: - yych = *++cursor_; - if (yych <= 'n') { - if (yych == 'i') goto yy305; - goto yy87; - } else { - if (yych <= 'o') goto yy306; - if (yych == 't') goto yy307; - goto yy87; - } -yy230: - yych = *++cursor_; - if (yych == 'l') goto yy308; - goto yy87; -yy231: - yych = *++cursor_; - if (yych == 'c') goto yy310; - goto yy87; -yy232: - yych = *++cursor_; - if (yych == 'r') goto yy311; - goto yy87; -yy233: - yych = *++cursor_; - if (yych == 'a') goto yy312; - goto yy87; -yy234: - yych = *++cursor_; - if (yych == 'p') goto yy314; - goto yy87; -yy235: - yych = *++cursor_; - if (yych == 'm') goto yy316; - goto yy87; -yy236: - yych = *++cursor_; - if (yych == 'e') goto yy318; - goto yy87; -yy237: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 265 "src/wast-lexer.cc" - { RETURN_OPCODE0(End); } -#line 1990 "src/prebuilt/wast-lexer-gen.cc" -yy239: - yych = *++cursor_; - if (yych == 'n') goto yy320; - goto yy87; -yy240: - yych = *++cursor_; - if (yych == 'o') goto yy321; - goto yy87; -yy241: - ++cursor_; - if ((yych = *cursor_) <= '-') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= ';') { - if (yych <= '.') goto yy322; - if (yych <= ':') goto yy86; - } else { - if (yych == 'x') goto yy323; - if (yych <= '~') goto yy86; - } - } -#line 247 "src/wast-lexer.cc" - { RETURN_TYPE(ValueType, F32); } -#line 2019 "src/prebuilt/wast-lexer-gen.cc" -yy243: - ++cursor_; - if ((yych = *cursor_) <= '-') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= ';') { - if (yych <= '.') goto yy324; - if (yych <= ':') goto yy86; - } else { - if (yych == 'x') goto yy325; - if (yych <= '~') goto yy86; - } - } -#line 248 "src/wast-lexer.cc" - { RETURN_TYPE(ValueType, F64); } -#line 2040 "src/prebuilt/wast-lexer-gen.cc" -yy245: - yych = *++cursor_; - if (yych == 'c') goto yy326; - goto yy87; -yy246: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy247; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy328; - if (yych <= '~') goto yy86; - } - } -yy247: -#line 728 "src/wast-lexer.cc" - { RETURN(Get); } -#line 2065 "src/prebuilt/wast-lexer-gen.cc" -yy248: - yych = *++cursor_; - if (yych == 'b') goto yy329; - goto yy87; -yy249: - yych = *++cursor_; - if (yych == 'w') goto yy330; - goto yy87; -yy250: - yych = *++cursor_; - if (yych == 'x') goto yy331; - goto yy87; -yy251: - ++cursor_; - if ((yych = *cursor_) <= '-') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= ';') { - if (yych <= '.') goto yy332; - if (yych <= ':') goto yy86; - } else { - if (yych == 'x') goto yy333; - if (yych <= '~') goto yy86; - } - } -#line 245 "src/wast-lexer.cc" - { RETURN_TYPE(ValueType, I32); } -#line 2098 "src/prebuilt/wast-lexer-gen.cc" -yy253: - ++cursor_; - if ((yych = *cursor_) <= '-') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= ';') { - if (yych <= '.') goto yy334; - if (yych <= ':') goto yy86; - } else { - if (yych == 'x') goto yy335; - if (yych <= '~') goto yy86; - } - } -#line 246 "src/wast-lexer.cc" - { RETURN_TYPE(ValueType, I64); } -#line 2119 "src/prebuilt/wast-lexer-gen.cc" -yy255: - yych = *++cursor_; - if (yych == '1') goto yy336; - goto yy87; -yy256: - yych = *++cursor_; - if (yych == 'o') goto yy337; - goto yy87; -yy257: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 230 "src/wast-lexer.cc" - { RETURN_LITERAL(Float, Infinity); } -#line 2135 "src/prebuilt/wast-lexer-gen.cc" -yy259: - yych = *++cursor_; - if (yych == 'o') goto yy338; - goto yy87; -yy260: - yych = *++cursor_; - if (yych == 'a') goto yy339; - goto yy87; -yy261: - yych = *++cursor_; - if (yych == 'p') goto yy340; - goto yy87; -yy262: - yych = *++cursor_; - if (yych == 'o') goto yy342; - goto yy87; -yy263: - yych = *++cursor_; - if (yych == 'u') goto yy343; - goto yy87; -yy264: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 252 "src/wast-lexer.cc" - { RETURN(Mut); } -#line 2163 "src/prebuilt/wast-lexer-gen.cc" -yy266: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy267; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych <= '9') goto yy86; - goto yy344; - } else { - if (yych <= ';') goto yy267; - if (yych <= '~') goto yy86; - } - } -yy267: -#line 231 "src/wast-lexer.cc" - { RETURN_LITERAL(Float, Nan); } -#line 2185 "src/prebuilt/wast-lexer-gen.cc" -yy268: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 253 "src/wast-lexer.cc" - { RETURN_OPCODE0(Nop); } -#line 2193 "src/prebuilt/wast-lexer-gen.cc" -yy270: - yych = *++cursor_; - if (yych == 's') goto yy345; - goto yy87; -yy271: - yych = *++cursor_; - if (yych == 'a') goto yy346; - goto yy87; -yy272: - yych = *++cursor_; - if (yych == 's') goto yy347; - goto yy87; -yy273: - yych = *++cursor_; - if (yych == 't') goto yy348; - goto yy87; -yy274: - yych = *++cursor_; - if (yych == '.') goto yy349; - goto yy87; -yy275: - yych = *++cursor_; - if (yych == 'i') goto yy350; - goto yy87; -yy276: - yych = *++cursor_; - if (yych == 'u') goto yy351; - goto yy87; -yy277: - yych = *++cursor_; - if (yych == 'h') goto yy352; - if (yych == 'u') goto yy353; - goto yy87; -yy278: - yych = *++cursor_; - if (yych == 'e') goto yy354; - goto yy87; -yy279: - yych = *++cursor_; - if (yych == '_') goto yy355; - goto yy87; -yy280: - yych = *++cursor_; - if (yych == 'r') goto yy356; - goto yy87; -yy281: - yych = *++cursor_; - if (yych == 'r') goto yy357; - goto yy87; -yy282: - yych = *++cursor_; - if (yych == 'l') goto yy358; - goto yy87; -yy283: - yych = *++cursor_; - if (yych == '_') goto yy359; - goto yy87; -yy284: - yych = *++cursor_; - if (yych == 'n') goto yy360; - goto yy87; -yy285: - yych = *++cursor_; - if (yych == 'o') goto yy362; - goto yy87; -yy286: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 743 "src/wast-lexer.cc" - { RETURN_OPCODE0(Try); } -#line 2266 "src/prebuilt/wast-lexer-gen.cc" -yy288: - yych = *++cursor_; - if (yych == 'e') goto yy363; - goto yy87; -yy289: - yych = *++cursor_; - if (yych == 'e') goto yy365; - goto yy87; -yy290: - yych = *++cursor_; - if (yych == '8') goto yy366; - goto yy87; -yy291: - yych = *++cursor_; - if (yych == '1') goto yy368; - goto yy87; -yy292: - ++cursor_; - if ((limit_ - cursor_) < 3) FILL(3); - yych = *cursor_; - if (yych <= ';') { - if (yych <= ')') { - if (yych <= '!') { - if (yych <= ' ') goto yy147; - goto yy86; - } else { - if (yych <= '"') goto yy147; - if (yych <= '\'') goto yy86; - goto yy147; - } - } else { - if (yych <= '/') { - if (yych == '.') goto yy295; - goto yy86; - } else { - if (yych <= '9') goto yy292; - if (yych <= ':') goto yy86; - goto yy147; - } - } - } else { - if (yych <= '_') { - if (yych <= 'O') { - if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy292; - goto yy86; - } else { - if (yych <= 'P') goto yy297; - if (yych <= '^') goto yy86; - goto yy214; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy292; - goto yy86; - } else { - if (yych <= 'p') goto yy297; - if (yych <= '~') goto yy86; - goto yy147; - } - } - } -yy294: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= ')') { - if (yych <= '!') { - if (yych <= ' ') goto yy88; - goto yy86; - } else { - if (yych <= '"') goto yy88; - if (yych <= '\'') goto yy86; - goto yy88; - } - } else { - if (yych <= ':') { - if (yych <= '/') goto yy86; - if (yych <= '9') goto yy216; - goto yy86; - } else { - if (yych <= ';') goto yy88; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy295: - ++cursor_; - if ((yych = *cursor_) <= ';') { - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych >= '#') goto yy86; - } else { - if (yych <= '/') { - if (yych >= '*') goto yy86; - } else { - if (yych <= '9') goto yy369; - if (yych <= ':') goto yy86; - } - } - } else { - if (yych <= '`') { - if (yych <= 'F') { - if (yych <= '@') goto yy86; - goto yy369; - } else { - if (yych == 'P') goto yy297; - goto yy86; - } - } else { - if (yych <= 'o') { - if (yych <= 'f') goto yy369; - goto yy86; - } else { - if (yych <= 'p') goto yy297; - if (yych <= '~') goto yy86; - } - } - } -yy296: -#line 229 "src/wast-lexer.cc" - { RETURN_LITERAL(Float, Hexfloat); } -#line 2390 "src/prebuilt/wast-lexer-gen.cc" -yy297: - yych = *++cursor_; - if (yych <= ',') { - if (yych == '+') goto yy371; - goto yy87; - } else { - if (yych <= '-') goto yy371; - if (yych <= '/') goto yy87; - if (yych <= '9') goto yy372; - goto yy87; - } -yy298: - yych = *++cursor_; - if (yych == 'n') goto yy374; - goto yy87; -yy299: - yych = *++cursor_; - if (yych == 'u') goto yy375; - goto yy87; -yy300: - yych = *++cursor_; - if (yych == 'e') goto yy376; - goto yy87; -yy301: - yych = *++cursor_; - if (yych == 'r') goto yy377; - goto yy87; -yy302: - yych = *++cursor_; - if (yych == 'i') goto yy378; - goto yy87; -yy303: - yych = *++cursor_; - if (yych == 'r') goto yy379; - goto yy87; -yy304: - yych = *++cursor_; - if (yych == 'k') goto yy380; - goto yy87; -yy305: - yych = *++cursor_; - if (yych == 'f') goto yy382; - goto yy87; -yy306: - yych = *++cursor_; - if (yych == 'n') goto yy384; - goto yy87; -yy307: - yych = *++cursor_; - if (yych == 'a') goto yy385; - goto yy87; -yy308: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy309; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy386; - if (yych <= '~') goto yy86; - } - } -yy309: -#line 262 "src/wast-lexer.cc" - { RETURN_OPCODE0(Call); } -#line 2462 "src/prebuilt/wast-lexer-gen.cc" -yy310: - yych = *++cursor_; - if (yych == 'h') goto yy387; - goto yy87; -yy311: - yych = *++cursor_; - if (yych == 'e') goto yy389; - goto yy87; -yy312: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy313; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy390; - goto yy86; - } else { - if (yych <= ';') goto yy313; - if (yych <= '~') goto yy86; - } - } -yy313: -#line 720 "src/wast-lexer.cc" - { RETURN(Data); } -#line 2492 "src/prebuilt/wast-lexer-gen.cc" -yy314: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 264 "src/wast-lexer.cc" - { RETURN_OPCODE0(Drop); } -#line 2500 "src/prebuilt/wast-lexer-gen.cc" -yy316: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy317; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy391; - goto yy86; - } else { - if (yych <= ';') goto yy317; - if (yych <= '~') goto yy86; - } - } -yy317: -#line 719 "src/wast-lexer.cc" - { RETURN(Elem); } -#line 2522 "src/prebuilt/wast-lexer-gen.cc" -yy318: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 257 "src/wast-lexer.cc" - { RETURN_OPCODE0(Else); } -#line 2530 "src/prebuilt/wast-lexer-gen.cc" -yy320: - yych = *++cursor_; - if (yych == 't') goto yy392; - goto yy87; -yy321: - yych = *++cursor_; - if (yych == 'r') goto yy394; - goto yy87; -yy322: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy395; - case 'c': goto yy396; - case 'd': goto yy397; - case 'e': goto yy398; - case 'f': goto yy399; - case 'g': goto yy400; - case 'l': goto yy401; - case 'm': goto yy402; - case 'n': goto yy403; - case 'r': goto yy404; - case 's': goto yy405; - case 't': goto yy406; - default: goto yy87; - } -yy323: - yych = *++cursor_; - if (yych == '4') goto yy407; - goto yy87; -yy324: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy409; - case 'c': goto yy410; - case 'd': goto yy411; - case 'e': goto yy412; - case 'f': goto yy413; - case 'g': goto yy414; - case 'l': goto yy415; - case 'm': goto yy416; - case 'n': goto yy417; - case 'p': goto yy418; - case 'r': goto yy419; - case 's': goto yy420; - case 't': goto yy421; - default: goto yy87; - } -yy325: - yych = *++cursor_; - if (yych == '2') goto yy422; - goto yy87; -yy326: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy327; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= 'q') { - if (yych != ';') goto yy86; - } else { - if (yych <= 'r') goto yy424; - if (yych <= '~') goto yy86; - } - } -yy327: -#line 708 "src/wast-lexer.cc" - { RETURN(Func); } -#line 2602 "src/prebuilt/wast-lexer-gen.cc" -yy328: - yych = *++cursor_; - if (yych == 'g') goto yy425; - if (yych == 'l') goto yy426; - goto yy87; -yy329: - yych = *++cursor_; - if (yych == 'a') goto yy427; - goto yy87; -yy330: - yych = *++cursor_; - if (yych == '_') goto yy428; - goto yy87; -yy331: - yych = *++cursor_; - if (yych == '8') goto yy429; - goto yy87; -yy332: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy431; - case 'c': goto yy432; - case 'd': goto yy433; - case 'e': goto yy434; - case 'g': goto yy435; - case 'l': goto yy436; - case 'm': goto yy437; - case 'n': goto yy438; - case 'o': goto yy439; - case 'p': goto yy440; - case 'r': goto yy441; - case 's': goto yy442; - case 't': goto yy443; - case 'w': goto yy444; - case 'x': goto yy445; - default: goto yy87; - } -yy333: - yych = *++cursor_; - if (yych == '4') goto yy446; - goto yy87; -yy334: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy448; - case 'c': goto yy449; - case 'd': goto yy450; - case 'e': goto yy451; - case 'g': goto yy452; - case 'l': goto yy453; - case 'm': goto yy454; - case 'n': goto yy455; - case 'o': goto yy456; - case 'p': goto yy457; - case 'r': goto yy458; - case 's': goto yy459; - case 't': goto yy460; - case 'x': goto yy461; - default: goto yy87; - } -yy335: - yych = *++cursor_; - if (yych == '2') goto yy462; - goto yy87; -yy336: - yych = *++cursor_; - if (yych == '6') goto yy464; - goto yy87; -yy337: - yych = *++cursor_; - if (yych == 'r') goto yy466; - goto yy87; -yy338: - yych = *++cursor_; - if (yych == 'k') goto yy467; - goto yy87; -yy339: - yych = *++cursor_; - if (yych == 'l') goto yy468; - goto yy87; -yy340: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 258 "src/wast-lexer.cc" - { RETURN_OPCODE0(Loop); } -#line 2690 "src/prebuilt/wast-lexer-gen.cc" -yy342: - yych = *++cursor_; - if (yych == 'r') goto yy470; - goto yy87; -yy343: - yych = *++cursor_; - if (yych == 'l') goto yy471; - goto yy87; -yy344: - yych = *++cursor_; - if (yych == '0') goto yy472; - goto yy87; -yy345: - yych = *++cursor_; - if (yych == 'e') goto yy473; - goto yy87; -yy346: - yych = *++cursor_; - if (yych == 'm') goto yy474; - goto yy87; -yy347: - yych = *++cursor_; - if (yych == 'i') goto yy476; - goto yy87; -yy348: - yych = *++cursor_; - if (yych == 'e') goto yy477; - goto yy87; -yy349: - yych = *++cursor_; - if (yych == 'i') goto yy479; - if (yych == 'n') goto yy480; - goto yy87; -yy350: - yych = *++cursor_; - if (yych == 's') goto yy481; - goto yy87; -yy351: - yych = *++cursor_; - if (yych == 'l') goto yy482; - goto yy87; -yy352: - yych = *++cursor_; - if (yych == 'r') goto yy483; - goto yy87; -yy353: - yych = *++cursor_; - if (yych == 'r') goto yy484; - goto yy87; -yy354: - yych = *++cursor_; - if (yych == 'c') goto yy485; - goto yy87; -yy355: - yych = *++cursor_; - if (yych == 'g') goto yy486; - if (yych == 'l') goto yy487; - goto yy87; -yy356: - yych = *++cursor_; - if (yych == 'e') goto yy488; - goto yy87; -yy357: - yych = *++cursor_; - if (yych == 't') goto yy489; - goto yy87; -yy358: - yych = *++cursor_; - if (yych == 'e') goto yy491; - goto yy87; -yy359: - yych = *++cursor_; - if (yych == 'l') goto yy493; - goto yy87; -yy360: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 256 "src/wast-lexer.cc" - { RETURN(Then); } -#line 2772 "src/prebuilt/wast-lexer-gen.cc" -yy362: - yych = *++cursor_; - if (yych == 'w') goto yy494; - goto yy87; -yy363: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 707 "src/wast-lexer.cc" - { RETURN(Type); } -#line 2784 "src/prebuilt/wast-lexer-gen.cc" -yy365: - yych = *++cursor_; - if (yych == 'a') goto yy496; - goto yy87; -yy366: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy367; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy497; - goto yy86; - } else { - if (yych <= ';') goto yy367; - if (yych <= '~') goto yy86; - } - } -yy367: -#line 249 "src/wast-lexer.cc" - { RETURN_TYPE(ValueType, V128); } -#line 2810 "src/prebuilt/wast-lexer-gen.cc" -yy368: - yych = *++cursor_; - if (yych == '6') goto yy498; - goto yy87; -yy369: - ++cursor_; - if ((limit_ - cursor_) < 2) FILL(2); - yych = *cursor_; - if (yych <= '@') { - if (yych <= ')') { - if (yych <= '!') { - if (yych <= ' ') goto yy296; - goto yy86; - } else { - if (yych <= '"') goto yy296; - if (yych <= '\'') goto yy86; - goto yy296; - } - } else { - if (yych <= '9') { - if (yych <= '/') goto yy86; - goto yy369; - } else { - if (yych == ';') goto yy296; - goto yy86; - } - } - } else { - if (yych <= '_') { - if (yych <= 'O') { - if (yych <= 'F') goto yy369; - goto yy86; - } else { - if (yych <= 'P') goto yy297; - if (yych <= '^') goto yy86; - goto yy499; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy369; - goto yy86; - } else { - if (yych <= 'p') goto yy297; - if (yych <= '~') goto yy86; - goto yy296; - } - } - } -yy371: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= ')') { - if (yych <= '!') { - if (yych <= ' ') goto yy88; - goto yy86; - } else { - if (yych <= '"') goto yy88; - if (yych <= '\'') goto yy86; - goto yy88; - } - } else { - if (yych <= ':') { - if (yych <= '/') goto yy86; - if (yych >= ':') goto yy86; - } else { - if (yych <= ';') goto yy88; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy372: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '/') { - if (yych <= '"') { - if (yych == '!') goto yy86; - goto yy296; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy296; - goto yy86; - } - } else { - if (yych <= ';') { - if (yych <= '9') goto yy372; - if (yych <= ':') goto yy86; - goto yy296; - } else { - if (yych == '_') goto yy371; - if (yych <= '~') goto yy86; - goto yy296; - } - } -yy374: - yych = *++cursor_; - if (yych == '=') goto yy500; - goto yy87; -yy375: - yych = *++cursor_; - if (yych == 'n') goto yy501; - goto yy87; -yy376: - yych = *++cursor_; - if (yych == 'f') goto yy502; - goto yy87; -yy377: - yych = *++cursor_; - if (yych == 't') goto yy504; - goto yy87; -yy378: - yych = *++cursor_; - if (yych == 'c') goto yy505; - goto yy87; -yy379: - yych = *++cursor_; - if (yych == 'y') goto yy506; - goto yy87; -yy380: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 254 "src/wast-lexer.cc" - { RETURN_OPCODE0(Block); } -#line 2938 "src/prebuilt/wast-lexer-gen.cc" -yy382: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 260 "src/wast-lexer.cc" - { RETURN_OPCODE0(BrIf); } -#line 2946 "src/prebuilt/wast-lexer-gen.cc" -yy384: - yych = *++cursor_; - if (yych == '_') goto yy508; - goto yy87; -yy385: - yych = *++cursor_; - if (yych == 'b') goto yy509; - goto yy87; -yy386: - yych = *++cursor_; - if (yych == 'i') goto yy510; - goto yy87; -yy387: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 744 "src/wast-lexer.cc" - { RETURN_OPCODE0(Catch); } -#line 2966 "src/prebuilt/wast-lexer-gen.cc" -yy389: - yych = *++cursor_; - if (yych == 'n') goto yy511; - goto yy87; -yy390: - yych = *++cursor_; - if (yych == 'd') goto yy512; - goto yy87; -yy391: - yych = *++cursor_; - if (yych == 'd') goto yy513; - goto yy87; -yy392: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 724 "src/wast-lexer.cc" - { RETURN(Event); } -#line 2986 "src/prebuilt/wast-lexer-gen.cc" -yy394: - yych = *++cursor_; - if (yych == 't') goto yy514; - goto yy87; -yy395: - yych = *++cursor_; - if (yych == 'b') goto yy516; - if (yych == 'd') goto yy517; - goto yy87; -yy396: - yych = *++cursor_; - if (yych == 'e') goto yy518; - if (yych == 'o') goto yy519; - goto yy87; -yy397: - yych = *++cursor_; - if (yych == 'e') goto yy520; - if (yych == 'i') goto yy521; - goto yy87; -yy398: - yych = *++cursor_; - if (yych == 'q') goto yy522; - goto yy87; -yy399: - yych = *++cursor_; - if (yych == 'l') goto yy524; - goto yy87; -yy400: - yych = *++cursor_; - if (yych == 'e') goto yy525; - if (yych == 't') goto yy527; - goto yy87; -yy401: - yych = *++cursor_; - if (yych <= 'n') { - if (yych == 'e') goto yy529; - goto yy87; - } else { - if (yych <= 'o') goto yy531; - if (yych == 't') goto yy532; - goto yy87; - } -yy402: - yych = *++cursor_; - if (yych <= 'h') { - if (yych == 'a') goto yy534; - goto yy87; - } else { - if (yych <= 'i') goto yy535; - if (yych == 'u') goto yy536; - goto yy87; - } -yy403: - yych = *++cursor_; - if (yych == 'e') goto yy537; - goto yy87; -yy404: - yych = *++cursor_; - if (yych == 'e') goto yy539; - goto yy87; -yy405: - yych = *++cursor_; - if (yych <= 's') { - if (yych == 'q') goto yy540; - goto yy87; - } else { - if (yych <= 't') goto yy541; - if (yych <= 'u') goto yy542; - goto yy87; - } -yy406: - yych = *++cursor_; - if (yych == 'r') goto yy543; - goto yy87; -yy407: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy408; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy544; - goto yy86; - } else { - if (yych <= ';') goto yy408; - if (yych <= '~') goto yy86; - } - } -yy408: -#line 741 "src/wast-lexer.cc" - { RETURN(F32X4); } -#line 3082 "src/prebuilt/wast-lexer-gen.cc" -yy409: - yych = *++cursor_; - if (yych == 'b') goto yy545; - if (yych == 'd') goto yy546; - goto yy87; -yy410: - yych = *++cursor_; - if (yych == 'e') goto yy547; - if (yych == 'o') goto yy548; - goto yy87; -yy411: - yych = *++cursor_; - if (yych == 'i') goto yy549; - goto yy87; -yy412: - yych = *++cursor_; - if (yych == 'q') goto yy550; - goto yy87; -yy413: - yych = *++cursor_; - if (yych == 'l') goto yy552; - goto yy87; -yy414: - yych = *++cursor_; - if (yych == 'e') goto yy553; - if (yych == 't') goto yy555; - goto yy87; -yy415: - yych = *++cursor_; - if (yych <= 'n') { - if (yych == 'e') goto yy557; - goto yy87; - } else { - if (yych <= 'o') goto yy559; - if (yych == 't') goto yy560; - goto yy87; - } -yy416: - yych = *++cursor_; - if (yych <= 'h') { - if (yych == 'a') goto yy562; - goto yy87; - } else { - if (yych <= 'i') goto yy563; - if (yych == 'u') goto yy564; - goto yy87; - } -yy417: - yych = *++cursor_; - if (yych == 'e') goto yy565; - goto yy87; -yy418: - yych = *++cursor_; - if (yych == 'r') goto yy567; - goto yy87; -yy419: - yych = *++cursor_; - if (yych == 'e') goto yy568; - goto yy87; -yy420: - yych = *++cursor_; - if (yych <= 's') { - if (yych == 'q') goto yy569; - goto yy87; - } else { - if (yych <= 't') goto yy570; - if (yych <= 'u') goto yy571; - goto yy87; - } -yy421: - yych = *++cursor_; - if (yych == 'r') goto yy572; - goto yy87; -yy422: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy423; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy573; - goto yy86; - } else { - if (yych <= ';') goto yy423; - if (yych <= '~') goto yy86; - } - } -yy423: -#line 742 "src/wast-lexer.cc" - { RETURN(F64X2); } -#line 3177 "src/prebuilt/wast-lexer-gen.cc" -yy424: - yych = *++cursor_; - if (yych == 'e') goto yy574; - goto yy87; -yy425: - yych = *++cursor_; - if (yych == 'l') goto yy575; - goto yy87; -yy426: - yych = *++cursor_; - if (yych == 'o') goto yy576; - goto yy87; -yy427: - yych = *++cursor_; - if (yych == 'l') goto yy577; - goto yy87; -yy428: - yych = *++cursor_; - if (yych == 'm') goto yy579; - goto yy87; -yy429: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy430; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy580; - goto yy86; - } else { - if (yych <= ';') goto yy430; - if (yych <= '~') goto yy86; - } - } -yy430: -#line 738 "src/wast-lexer.cc" - { RETURN(I16X8); } -#line 3219 "src/prebuilt/wast-lexer-gen.cc" -yy431: - yych = *++cursor_; - if (yych <= 'm') { - if (yych == 'd') goto yy581; - goto yy87; - } else { - if (yych <= 'n') goto yy582; - if (yych == 't') goto yy583; - goto yy87; - } -yy432: - yych = *++cursor_; - if (yych <= 'n') { - if (yych == 'l') goto yy584; - goto yy87; - } else { - if (yych <= 'o') goto yy585; - if (yych == 't') goto yy586; - goto yy87; - } -yy433: - yych = *++cursor_; - if (yych == 'i') goto yy587; - goto yy87; -yy434: - yych = *++cursor_; - if (yych == 'q') goto yy588; - if (yych == 'x') goto yy590; - goto yy87; -yy435: - yych = *++cursor_; - if (yych == 'e') goto yy591; - if (yych == 't') goto yy592; - goto yy87; -yy436: - yych = *++cursor_; - if (yych <= 'n') { - if (yych == 'e') goto yy593; - goto yy87; - } else { - if (yych <= 'o') goto yy594; - if (yych == 't') goto yy595; - goto yy87; - } -yy437: - yych = *++cursor_; - if (yych == 'u') goto yy596; - goto yy87; -yy438: - yych = *++cursor_; - if (yych == 'e') goto yy597; - goto yy87; -yy439: - yych = *++cursor_; - if (yych == 'r') goto yy599; - goto yy87; -yy440: - yych = *++cursor_; - if (yych == 'o') goto yy601; - goto yy87; -yy441: - yych = *++cursor_; - if (yych == 'e') goto yy602; - if (yych == 'o') goto yy603; - goto yy87; -yy442: - yych = *++cursor_; - if (yych <= 's') { - if (yych == 'h') goto yy604; - goto yy87; - } else { - if (yych <= 't') goto yy605; - if (yych <= 'u') goto yy606; - goto yy87; - } -yy443: - yych = *++cursor_; - if (yych == 'r') goto yy607; - goto yy87; -yy444: - yych = *++cursor_; - if (yych == 'r') goto yy608; - goto yy87; -yy445: - yych = *++cursor_; - if (yych == 'o') goto yy609; - goto yy87; -yy446: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy447; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy610; - goto yy86; - } else { - if (yych <= ';') goto yy447; - if (yych <= '~') goto yy86; - } - } -yy447: -#line 739 "src/wast-lexer.cc" - { RETURN(I32X4); } -#line 3328 "src/prebuilt/wast-lexer-gen.cc" -yy448: - yych = *++cursor_; - if (yych <= 'm') { - if (yych == 'd') goto yy611; - goto yy87; - } else { - if (yych <= 'n') goto yy612; - if (yych == 't') goto yy613; - goto yy87; - } -yy449: - yych = *++cursor_; - if (yych <= 'n') { - if (yych == 'l') goto yy614; - goto yy87; - } else { - if (yych <= 'o') goto yy615; - if (yych == 't') goto yy616; - goto yy87; - } -yy450: - yych = *++cursor_; - if (yych == 'i') goto yy617; - goto yy87; -yy451: - yych = *++cursor_; - if (yych == 'q') goto yy618; - if (yych == 'x') goto yy620; - goto yy87; -yy452: - yych = *++cursor_; - if (yych == 'e') goto yy621; - if (yych == 't') goto yy622; - goto yy87; -yy453: - yych = *++cursor_; - if (yych <= 'n') { - if (yych == 'e') goto yy623; - goto yy87; - } else { - if (yych <= 'o') goto yy624; - if (yych == 't') goto yy625; - goto yy87; - } -yy454: - yych = *++cursor_; - if (yych == 'u') goto yy626; - goto yy87; -yy455: - yych = *++cursor_; - if (yych == 'e') goto yy627; - goto yy87; -yy456: - yych = *++cursor_; - if (yych == 'r') goto yy629; - goto yy87; -yy457: - yych = *++cursor_; - if (yych == 'o') goto yy631; - goto yy87; -yy458: - yych = *++cursor_; - if (yych == 'e') goto yy632; - if (yych == 'o') goto yy633; - goto yy87; -yy459: - yych = *++cursor_; - if (yych <= 's') { - if (yych == 'h') goto yy634; - goto yy87; - } else { - if (yych <= 't') goto yy635; - if (yych <= 'u') goto yy636; - goto yy87; - } -yy460: - yych = *++cursor_; - if (yych == 'r') goto yy637; - goto yy87; -yy461: - yych = *++cursor_; - if (yych == 'o') goto yy638; - goto yy87; -yy462: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy463; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy639; - goto yy86; - } else { - if (yych <= ';') goto yy463; - if (yych <= '~') goto yy86; - } - } -yy463: -#line 740 "src/wast-lexer.cc" - { RETURN(I64X2); } -#line 3433 "src/prebuilt/wast-lexer-gen.cc" -yy464: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy465; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy640; - goto yy86; - } else { - if (yych <= ';') goto yy465; - if (yych <= '~') goto yy86; - } - } -yy465: -#line 737 "src/wast-lexer.cc" - { RETURN(I8X16); } -#line 3455 "src/prebuilt/wast-lexer-gen.cc" -yy466: - yych = *++cursor_; - if (yych == 't') goto yy641; - goto yy87; -yy467: - yych = *++cursor_; - if (yych == 'e') goto yy643; - goto yy87; -yy468: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy469; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy645; - goto yy86; - } else { - if (yych <= ';') goto yy469; - if (yych <= '~') goto yy86; - } - } -yy469: -#line 711 "src/wast-lexer.cc" - { RETURN(Local); } -#line 3485 "src/prebuilt/wast-lexer-gen.cc" -yy470: - yych = *++cursor_; - if (yych == 'y') goto yy646; - goto yy87; -yy471: - yych = *++cursor_; - if (yych == 'e') goto yy648; - goto yy87; -yy472: - yych = *++cursor_; - if (yych == 'x') goto yy650; - goto yy87; -yy473: - yych = *++cursor_; - if (yych == 't') goto yy651; - goto yy87; -yy474: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 709 "src/wast-lexer.cc" - { RETURN(Param); } -#line 3509 "src/prebuilt/wast-lexer-gen.cc" -yy476: - yych = *++cursor_; - if (yych == 'v') goto yy653; - goto yy87; -yy477: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 715 "src/wast-lexer.cc" - { RETURN(Quote); } -#line 3521 "src/prebuilt/wast-lexer-gen.cc" -yy479: - yych = *++cursor_; - if (yych == 's') goto yy654; - goto yy87; -yy480: - yych = *++cursor_; - if (yych == 'u') goto yy655; - goto yy87; -yy481: - yych = *++cursor_; - if (yych == 't') goto yy656; - goto yy87; -yy482: - yych = *++cursor_; - if (yych == 't') goto yy657; - goto yy87; -yy483: - yych = *++cursor_; - if (yych == 'o') goto yy659; - goto yy87; -yy484: - yych = *++cursor_; - if (yych == 'n') goto yy660; - goto yy87; -yy485: - yych = *++cursor_; - if (yych == 't') goto yy662; - goto yy87; -yy486: - yych = *++cursor_; - if (yych == 'l') goto yy664; - goto yy87; -yy487: - yych = *++cursor_; - if (yych == 'o') goto yy665; - goto yy87; -yy488: - yych = *++cursor_; - if (yych == 'd') goto yy666; - goto yy87; -yy489: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 718 "src/wast-lexer.cc" - { RETURN(Start); } -#line 3569 "src/prebuilt/wast-lexer-gen.cc" -yy491: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy492; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy668; - goto yy86; - } else { - if (yych <= ';') goto yy492; - if (yych <= '~') goto yy86; - } - } -yy492: -#line 716 "src/wast-lexer.cc" - { RETURN(Table); } -#line 3591 "src/prebuilt/wast-lexer-gen.cc" -yy493: - yych = *++cursor_; - if (yych == 'o') goto yy669; - goto yy87; -yy494: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 745 "src/wast-lexer.cc" - { RETURN_OPCODE0(Throw); } -#line 3603 "src/prebuilt/wast-lexer-gen.cc" -yy496: - yych = *++cursor_; - if (yych == 'c') goto yy670; - goto yy87; -yy497: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy671; - case 'b': goto yy672; - case 'c': goto yy673; - case 'l': goto yy674; - case 'n': goto yy675; - case 'o': goto yy676; - case 's': goto yy677; - case 'x': goto yy678; - default: goto yy87; - } -yy498: - yych = *++cursor_; - if (yych == '.') goto yy679; - goto yy87; -yy499: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '9') { - if (yych <= '"') { - if (yych == '!') goto yy86; - goto yy88; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy88; - if (yych <= '/') goto yy86; - goto yy369; - } - } else { - if (yych <= 'F') { - if (yych == ';') goto yy88; - if (yych <= '@') goto yy86; - goto yy369; - } else { - if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy369; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy500: - yych = *++cursor_; - if (yych <= '/') goto yy87; - if (yych <= '0') goto yy680; - if (yych <= '9') goto yy682; - goto yy87; -yy501: - yych = *++cursor_; - if (yych == 'c') goto yy684; - goto yy87; -yy502: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 251 "src/wast-lexer.cc" - { RETURN_TYPE(ValueType, Anyref); } -#line 3668 "src/prebuilt/wast-lexer-gen.cc" -yy504: - yych = *++cursor_; - if (yych == '_') goto yy686; - goto yy87; -yy505: - yych = *++cursor_; - if (yych == '.') goto yy687; - goto yy87; -yy506: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 714 "src/wast-lexer.cc" - { RETURN(Bin); } -#line 3684 "src/prebuilt/wast-lexer-gen.cc" -yy508: - yych = *++cursor_; - if (yych == 'e') goto yy688; - goto yy87; -yy509: - yych = *++cursor_; - if (yych == 'l') goto yy689; - goto yy87; -yy510: - yych = *++cursor_; - if (yych == 'n') goto yy690; - goto yy87; -yy511: - yych = *++cursor_; - if (yych == 't') goto yy691; - goto yy87; -yy512: - yych = *++cursor_; - if (yych == 'r') goto yy692; - goto yy87; -yy513: - yych = *++cursor_; - if (yych == 'r') goto yy693; - goto yy87; -yy514: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 723 "src/wast-lexer.cc" - { RETURN(Export); } -#line 3716 "src/prebuilt/wast-lexer-gen.cc" -yy516: - yych = *++cursor_; - if (yych == 's') goto yy694; - goto yy87; -yy517: - yych = *++cursor_; - if (yych == 'd') goto yy696; - goto yy87; -yy518: - yych = *++cursor_; - if (yych == 'i') goto yy698; - goto yy87; -yy519: - yych = *++cursor_; - if (yych == 'n') goto yy699; - if (yych == 'p') goto yy700; - goto yy87; -yy520: - yych = *++cursor_; - if (yych == 'm') goto yy701; - goto yy87; -yy521: - yych = *++cursor_; - if (yych == 'v') goto yy702; - goto yy87; -yy522: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 392 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32Eq); } -#line 3749 "src/prebuilt/wast-lexer-gen.cc" -yy524: - yych = *++cursor_; - if (yych == 'o') goto yy704; - goto yy87; -yy525: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 402 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32Ge); } -#line 3761 "src/prebuilt/wast-lexer-gen.cc" -yy527: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 400 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32Gt); } -#line 3769 "src/prebuilt/wast-lexer-gen.cc" -yy529: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 398 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32Le); } -#line 3777 "src/prebuilt/wast-lexer-gen.cc" -yy531: - yych = *++cursor_; - if (yych == 'a') goto yy705; - goto yy87; -yy532: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 396 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32Lt); } -#line 3789 "src/prebuilt/wast-lexer-gen.cc" -yy534: - yych = *++cursor_; - if (yych == 'x') goto yy706; - goto yy87; -yy535: - yych = *++cursor_; - if (yych == 'n') goto yy708; - goto yy87; -yy536: - yych = *++cursor_; - if (yych == 'l') goto yy710; - goto yy87; -yy537: - ++cursor_; - if ((yych = *cursor_) <= ':') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= 'a') { - if (yych <= ';') goto yy538; - if (yych <= '`') goto yy86; - goto yy712; - } else { - if (yych == 'g') goto yy713; - if (yych <= '~') goto yy86; - } - } -yy538: -#line 394 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32Ne); } -#line 3824 "src/prebuilt/wast-lexer-gen.cc" -yy539: - yych = *++cursor_; - if (yych == 'i') goto yy715; - goto yy87; -yy540: - yych = *++cursor_; - if (yych == 'r') goto yy716; - goto yy87; -yy541: - yych = *++cursor_; - if (yych == 'o') goto yy717; - goto yy87; -yy542: - yych = *++cursor_; - if (yych == 'b') goto yy718; - goto yy87; -yy543: - yych = *++cursor_; - if (yych == 'u') goto yy720; - goto yy87; -yy544: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy721; - case 'c': goto yy722; - case 'd': goto yy723; - case 'e': goto yy724; - case 'g': goto yy725; - case 'l': goto yy726; - case 'm': goto yy727; - case 'n': goto yy728; - case 'r': goto yy729; - case 's': goto yy730; - default: goto yy87; - } -yy545: - yych = *++cursor_; - if (yych == 's') goto yy731; - goto yy87; -yy546: - yych = *++cursor_; - if (yych == 'd') goto yy733; - goto yy87; -yy547: - yych = *++cursor_; - if (yych == 'i') goto yy735; - goto yy87; -yy548: - yych = *++cursor_; - if (yych == 'n') goto yy736; - if (yych == 'p') goto yy737; - goto yy87; -yy549: - yych = *++cursor_; - if (yych == 'v') goto yy738; - goto yy87; -yy550: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 393 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64Eq); } -#line 3888 "src/prebuilt/wast-lexer-gen.cc" -yy552: - yych = *++cursor_; - if (yych == 'o') goto yy740; - goto yy87; -yy553: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 403 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64Ge); } -#line 3900 "src/prebuilt/wast-lexer-gen.cc" -yy555: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 401 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64Gt); } -#line 3908 "src/prebuilt/wast-lexer-gen.cc" -yy557: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 399 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64Le); } -#line 3916 "src/prebuilt/wast-lexer-gen.cc" -yy559: - yych = *++cursor_; - if (yych == 'a') goto yy741; - goto yy87; -yy560: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 397 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64Lt); } -#line 3928 "src/prebuilt/wast-lexer-gen.cc" -yy562: - yych = *++cursor_; - if (yych == 'x') goto yy742; - goto yy87; -yy563: - yych = *++cursor_; - if (yych == 'n') goto yy744; - goto yy87; -yy564: - yych = *++cursor_; - if (yych == 'l') goto yy746; - goto yy87; -yy565: - ++cursor_; - if ((yych = *cursor_) <= ':') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= 'a') { - if (yych <= ';') goto yy566; - if (yych <= '`') goto yy86; - goto yy748; - } else { - if (yych == 'g') goto yy749; - if (yych <= '~') goto yy86; - } - } -yy566: -#line 395 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64Ne); } -#line 3963 "src/prebuilt/wast-lexer-gen.cc" -yy567: - yych = *++cursor_; - if (yych == 'o') goto yy751; - goto yy87; -yy568: - yych = *++cursor_; - if (yych == 'i') goto yy752; - goto yy87; -yy569: - yych = *++cursor_; - if (yych == 'r') goto yy753; - goto yy87; -yy570: - yych = *++cursor_; - if (yych == 'o') goto yy754; - goto yy87; -yy571: - yych = *++cursor_; - if (yych == 'b') goto yy755; - goto yy87; -yy572: - yych = *++cursor_; - if (yych == 'u') goto yy757; - goto yy87; -yy573: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy758; - case 'c': goto yy759; - case 'd': goto yy760; - case 'e': goto yy761; - case 'g': goto yy762; - case 'l': goto yy763; - case 'm': goto yy764; - case 'n': goto yy765; - case 'r': goto yy766; - case 's': goto yy767; - default: goto yy87; - } -yy574: - yych = *++cursor_; - if (yych == 'f') goto yy768; - goto yy87; -yy575: - yych = *++cursor_; - if (yych == 'o') goto yy770; - goto yy87; -yy576: - yych = *++cursor_; - if (yych == 'c') goto yy771; - goto yy87; -yy577: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy578; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy772; - goto yy86; - } else { - if (yych <= ';') goto yy578; - if (yych <= '~') goto yy86; - } - } -yy578: -#line 712 "src/wast-lexer.cc" - { RETURN(Global); } -#line 4036 "src/prebuilt/wast-lexer-gen.cc" -yy579: - yych = *++cursor_; - if (yych == 'e') goto yy773; - goto yy87; -yy580: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy774; - case 'e': goto yy775; - case 'g': goto yy776; - case 'l': goto yy777; - case 'm': goto yy778; - case 'n': goto yy779; - case 'r': goto yy780; - case 's': goto yy781; - default: goto yy87; - } -yy581: - yych = *++cursor_; - if (yych == 'd') goto yy782; - goto yy87; -yy582: - yych = *++cursor_; - if (yych == 'd') goto yy784; - goto yy87; -yy583: - yych = *++cursor_; - if (yych == 'o') goto yy786; - goto yy87; -yy584: - yych = *++cursor_; - if (yych == 'z') goto yy787; - goto yy87; -yy585: - yych = *++cursor_; - if (yych == 'n') goto yy789; - goto yy87; -yy586: - yych = *++cursor_; - if (yych == 'z') goto yy790; - goto yy87; -yy587: - yych = *++cursor_; - if (yych == 'v') goto yy792; - goto yy87; -yy588: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy589; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= 'y') { - if (yych != ';') goto yy86; - } else { - if (yych <= 'z') goto yy793; - if (yych <= '~') goto yy86; - } - } -yy589: -#line 372 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32Eq); } -#line 4102 "src/prebuilt/wast-lexer-gen.cc" -yy590: - yych = *++cursor_; - if (yych == 't') goto yy795; - goto yy87; -yy591: - yych = *++cursor_; - if (yych == '_') goto yy796; - goto yy87; -yy592: - yych = *++cursor_; - if (yych == '_') goto yy797; - goto yy87; -yy593: - yych = *++cursor_; - if (yych == '_') goto yy798; - goto yy87; -yy594: - yych = *++cursor_; - if (yych == 'a') goto yy799; - goto yy87; -yy595: - yych = *++cursor_; - if (yych == '_') goto yy800; - goto yy87; -yy596: - yych = *++cursor_; - if (yych == 'l') goto yy801; - goto yy87; -yy597: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 374 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32Ne); } -#line 4138 "src/prebuilt/wast-lexer-gen.cc" -yy599: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 344 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32Or); } -#line 4146 "src/prebuilt/wast-lexer-gen.cc" -yy601: - yych = *++cursor_; - if (yych == 'p') goto yy803; - goto yy87; -yy602: - yych = *++cursor_; - if (yych == 'i') goto yy804; - if (yych == 'm') goto yy805; - goto yy87; -yy603: - yych = *++cursor_; - if (yych == 't') goto yy806; - goto yy87; -yy604: - yych = *++cursor_; - if (yych == 'l') goto yy807; - if (yych == 'r') goto yy809; - goto yy87; -yy605: - yych = *++cursor_; - if (yych == 'o') goto yy810; - goto yy87; -yy606: - yych = *++cursor_; - if (yych == 'b') goto yy811; - goto yy87; -yy607: - yych = *++cursor_; - if (yych == 'u') goto yy813; - goto yy87; -yy608: - yych = *++cursor_; - if (yych == 'a') goto yy814; - goto yy87; -yy609: - yych = *++cursor_; - if (yych == 'r') goto yy815; - goto yy87; -yy610: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy817; - case 'e': goto yy818; - case 'g': goto yy819; - case 'l': goto yy820; - case 'm': goto yy821; - case 'n': goto yy822; - case 'r': goto yy823; - case 's': goto yy824; - case 't': goto yy825; - default: goto yy87; - } -yy611: - yych = *++cursor_; - if (yych == 'd') goto yy826; - goto yy87; -yy612: - yych = *++cursor_; - if (yych == 'd') goto yy828; - goto yy87; -yy613: - yych = *++cursor_; - if (yych == 'o') goto yy830; - goto yy87; -yy614: - yych = *++cursor_; - if (yych == 'z') goto yy831; - goto yy87; -yy615: - yych = *++cursor_; - if (yych == 'n') goto yy833; - goto yy87; -yy616: - yych = *++cursor_; - if (yych == 'z') goto yy834; - goto yy87; -yy617: - yych = *++cursor_; - if (yych == 'v') goto yy836; - goto yy87; -yy618: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy619; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= 'y') { - if (yych != ';') goto yy86; - } else { - if (yych <= 'z') goto yy837; - if (yych <= '~') goto yy86; - } - } -yy619: -#line 373 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64Eq); } -#line 4247 "src/prebuilt/wast-lexer-gen.cc" -yy620: - yych = *++cursor_; - if (yych == 't') goto yy839; - goto yy87; -yy621: - yych = *++cursor_; - if (yych == '_') goto yy840; - goto yy87; -yy622: - yych = *++cursor_; - if (yych == '_') goto yy841; - goto yy87; -yy623: - yych = *++cursor_; - if (yych == '_') goto yy842; - goto yy87; -yy624: - yych = *++cursor_; - if (yych == 'a') goto yy843; - goto yy87; -yy625: - yych = *++cursor_; - if (yych == '_') goto yy844; - goto yy87; -yy626: - yych = *++cursor_; - if (yych == 'l') goto yy845; - goto yy87; -yy627: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 375 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64Ne); } -#line 4283 "src/prebuilt/wast-lexer-gen.cc" -yy629: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 345 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64Or); } -#line 4291 "src/prebuilt/wast-lexer-gen.cc" -yy631: - yych = *++cursor_; - if (yych == 'p') goto yy847; - goto yy87; -yy632: - yych = *++cursor_; - if (yych == 'i') goto yy848; - if (yych == 'm') goto yy849; - goto yy87; -yy633: - yych = *++cursor_; - if (yych == 't') goto yy850; - goto yy87; -yy634: - yych = *++cursor_; - if (yych == 'l') goto yy851; - if (yych == 'r') goto yy853; - goto yy87; -yy635: - yych = *++cursor_; - if (yych == 'o') goto yy854; - goto yy87; -yy636: - yych = *++cursor_; - if (yych == 'b') goto yy855; - goto yy87; -yy637: - yych = *++cursor_; - if (yych == 'u') goto yy857; - goto yy87; -yy638: - yych = *++cursor_; - if (yych == 'r') goto yy858; - goto yy87; -yy639: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy860; - case 'e': goto yy861; - case 'n': goto yy862; - case 'r': goto yy863; - case 's': goto yy864; - case 't': goto yy865; - default: goto yy87; - } -yy640: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy866; - case 'e': goto yy867; - case 'g': goto yy868; - case 'l': goto yy869; - case 'm': goto yy870; - case 'n': goto yy871; - case 'r': goto yy872; - case 's': goto yy873; - default: goto yy87; - } -yy641: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 722 "src/wast-lexer.cc" - { RETURN(Import); } -#line 4357 "src/prebuilt/wast-lexer-gen.cc" -yy643: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 727 "src/wast-lexer.cc" - { RETURN(Invoke); } -#line 4365 "src/prebuilt/wast-lexer-gen.cc" -yy645: - yych = *++cursor_; - if (yych <= 'r') { - if (yych == 'g') goto yy874; - goto yy87; - } else { - if (yych <= 's') goto yy875; - if (yych <= 't') goto yy876; - goto yy87; - } -yy646: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy647; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= ':') { - if (yych == '.') goto yy877; - goto yy86; - } else { - if (yych <= ';') goto yy647; - if (yych <= '~') goto yy86; - } - } -yy647: -#line 717 "src/wast-lexer.cc" - { RETURN(Memory); } -#line 4397 "src/prebuilt/wast-lexer-gen.cc" -yy648: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 713 "src/wast-lexer.cc" - { RETURN(Module); } -#line 4405 "src/prebuilt/wast-lexer-gen.cc" -yy650: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '9') { - if (yych <= '"') { - if (yych == '!') goto yy86; - goto yy88; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy88; - if (yych <= '/') goto yy86; - goto yy878; - } - } else { - if (yych <= 'F') { - if (yych == ';') goto yy88; - if (yych <= '@') goto yy86; - goto yy878; - } else { - if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy878; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy651: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy652; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '<') { - if (yych != ';') goto yy86; - } else { - if (yych <= '=') goto yy880; - if (yych <= '~') goto yy86; - } - } -yy652: -#line 721 "src/wast-lexer.cc" - { RETURN(Offset); } -#line 4452 "src/prebuilt/wast-lexer-gen.cc" -yy653: - yych = *++cursor_; - if (yych == 'e') goto yy881; - goto yy87; -yy654: - yych = *++cursor_; - if (yych == '_') goto yy883; - goto yy87; -yy655: - yych = *++cursor_; - if (yych == 'l') goto yy884; - goto yy87; -yy656: - yych = *++cursor_; - if (yych == 'e') goto yy885; - goto yy87; -yy657: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 710 "src/wast-lexer.cc" - { RETURN(Result); } -#line 4476 "src/prebuilt/wast-lexer-gen.cc" -yy659: - yych = *++cursor_; - if (yych == 'w') goto yy886; - goto yy87; -yy660: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy661; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy888; - if (yych <= '~') goto yy86; - } - } -yy661: -#line 266 "src/wast-lexer.cc" - { RETURN_OPCODE0(Return); } -#line 4501 "src/prebuilt/wast-lexer-gen.cc" -yy662: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 437 "src/wast-lexer.cc" - { RETURN_OPCODE0(Select); } -#line 4509 "src/prebuilt/wast-lexer-gen.cc" -yy664: - yych = *++cursor_; - if (yych == 'o') goto yy889; - goto yy87; -yy665: - yych = *++cursor_; - if (yych == 'c') goto yy890; - goto yy87; -yy666: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 749 "src/wast-lexer.cc" - { RETURN(Shared); } -#line 4525 "src/prebuilt/wast-lexer-gen.cc" -yy668: - yych = *++cursor_; - switch (yych) { - case 'c': goto yy891; - case 'g': goto yy892; - case 'i': goto yy893; - case 's': goto yy894; - default: goto yy87; - } -yy669: - yych = *++cursor_; - if (yych == 'c') goto yy895; - goto yy87; -yy670: - yych = *++cursor_; - if (yych == 'h') goto yy896; - goto yy87; -yy671: - yych = *++cursor_; - if (yych == 'n') goto yy897; - goto yy87; -yy672: - yych = *++cursor_; - if (yych == 'i') goto yy898; - goto yy87; -yy673: - yych = *++cursor_; - if (yych == 'o') goto yy899; - goto yy87; -yy674: - yych = *++cursor_; - if (yych == 'o') goto yy900; - goto yy87; -yy675: - yych = *++cursor_; - if (yych == 'o') goto yy901; - goto yy87; -yy676: - yych = *++cursor_; - if (yych == 'r') goto yy902; - goto yy87; -yy677: - yych = *++cursor_; - if (yych == 't') goto yy904; - goto yy87; -yy678: - yych = *++cursor_; - if (yych == 'o') goto yy905; - goto yy87; -yy679: - yych = *++cursor_; - if (yych == 's') goto yy906; - goto yy87; -yy680: - ++cursor_; - if ((yych = *cursor_) <= '9') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy681; - if (yych <= '/') goto yy86; - goto yy682; - } - } else { - if (yych <= '_') { - if (yych == ';') goto yy681; - if (yych <= '^') goto yy86; - goto yy907; - } else { - if (yych == 'x') goto yy908; - if (yych <= '~') goto yy86; - } - } -yy681: -#line 296 "src/wast-lexer.cc" - { RETURN_TEXT_AT(AlignEqNat, 6); } -#line 4603 "src/prebuilt/wast-lexer-gen.cc" -yy682: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '/') { - if (yych <= '"') { - if (yych == '!') goto yy86; - goto yy681; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy681; - goto yy86; - } - } else { - if (yych <= ';') { - if (yych <= '9') goto yy682; - if (yych <= ':') goto yy86; - goto yy681; - } else { - if (yych == '_') goto yy907; - if (yych <= '~') goto yy86; - goto yy681; - } - } -yy684: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 667 "src/wast-lexer.cc" - { RETURN_TYPE(ValueType, Funcref); } -#line 4635 "src/prebuilt/wast-lexer-gen.cc" -yy686: - yych = *++cursor_; - switch (yych) { - case 'e': goto yy909; - case 'i': goto yy910; - case 'm': goto yy911; - case 'r': goto yy912; - case 't': goto yy913; - case 'u': goto yy914; - default: goto yy87; - } -yy687: - yych = *++cursor_; - if (yych == 'n') goto yy915; - goto yy87; -yy688: - yych = *++cursor_; - if (yych == 'x') goto yy916; - goto yy87; -yy689: - yych = *++cursor_; - if (yych == 'e') goto yy917; - goto yy87; -yy690: - yych = *++cursor_; - if (yych == 'd') goto yy919; - goto yy87; -yy691: - yych = *++cursor_; - if (yych == '_') goto yy920; - goto yy87; -yy692: - yych = *++cursor_; - if (yych == 'o') goto yy921; - goto yy87; -yy693: - yych = *++cursor_; - if (yych == 'o') goto yy922; - goto yy87; -yy694: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 311 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32Abs); } -#line 4682 "src/prebuilt/wast-lexer-gen.cc" -yy696: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 358 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32Add); } -#line 4690 "src/prebuilt/wast-lexer-gen.cc" -yy698: - yych = *++cursor_; - if (yych == 'l') goto yy923; - goto yy87; -yy699: - yych = *++cursor_; - if (yych == 's') goto yy925; - if (yych == 'v') goto yy926; - goto yy87; -yy700: - yych = *++cursor_; - if (yych == 'y') goto yy927; - goto yy87; -yy701: - yych = *++cursor_; - if (yych == 'o') goto yy928; - goto yy87; -yy702: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 364 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32Div); } -#line 4715 "src/prebuilt/wast-lexer-gen.cc" -yy704: - yych = *++cursor_; - if (yych == 'o') goto yy929; - goto yy87; -yy705: - yych = *++cursor_; - if (yych == 'd') goto yy930; - goto yy87; -yy706: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 368 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32Max); } -#line 4731 "src/prebuilt/wast-lexer-gen.cc" -yy708: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 366 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32Min); } -#line 4739 "src/prebuilt/wast-lexer-gen.cc" -yy710: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 362 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32Mul); } -#line 4747 "src/prebuilt/wast-lexer-gen.cc" -yy712: - yych = *++cursor_; - if (yych == 'r') goto yy932; - goto yy87; -yy713: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 309 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32Neg); } -#line 4759 "src/prebuilt/wast-lexer-gen.cc" -yy715: - yych = *++cursor_; - if (yych == 'n') goto yy933; - goto yy87; -yy716: - yych = *++cursor_; - if (yych == 't') goto yy934; - goto yy87; -yy717: - yych = *++cursor_; - if (yych == 'r') goto yy936; - goto yy87; -yy718: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 360 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32Sub); } -#line 4779 "src/prebuilt/wast-lexer-gen.cc" -yy720: - yych = *++cursor_; - if (yych == 'n') goto yy937; - goto yy87; -yy721: - yych = *++cursor_; - if (yych == 'b') goto yy938; - if (yych == 'd') goto yy939; - goto yy87; -yy722: - yych = *++cursor_; - if (yych == 'o') goto yy940; - goto yy87; -yy723: - yych = *++cursor_; - if (yych == 'i') goto yy941; - goto yy87; -yy724: - yych = *++cursor_; - if (yych == 'q') goto yy942; - if (yych == 'x') goto yy944; - goto yy87; -yy725: - yych = *++cursor_; - if (yych == 'e') goto yy945; - if (yych == 't') goto yy947; - goto yy87; -yy726: - yych = *++cursor_; - if (yych == 'e') goto yy949; - if (yych == 't') goto yy951; - goto yy87; -yy727: - yych = *++cursor_; - if (yych <= 'h') { - if (yych == 'a') goto yy953; - goto yy87; - } else { - if (yych <= 'i') goto yy954; - if (yych == 'u') goto yy955; - goto yy87; - } -yy728: - yych = *++cursor_; - if (yych == 'e') goto yy956; - goto yy87; -yy729: - yych = *++cursor_; - if (yych == 'e') goto yy958; - goto yy87; -yy730: - yych = *++cursor_; - if (yych <= 'q') { - if (yych <= 'o') goto yy87; - if (yych <= 'p') goto yy959; - goto yy960; - } else { - if (yych == 'u') goto yy961; - goto yy87; - } -yy731: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 312 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64Abs); } -#line 4847 "src/prebuilt/wast-lexer-gen.cc" -yy733: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 359 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64Add); } -#line 4855 "src/prebuilt/wast-lexer-gen.cc" -yy735: - yych = *++cursor_; - if (yych == 'l') goto yy962; - goto yy87; -yy736: - yych = *++cursor_; - if (yych == 's') goto yy964; - if (yych == 'v') goto yy965; - goto yy87; -yy737: - yych = *++cursor_; - if (yych == 'y') goto yy966; - goto yy87; -yy738: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 365 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64Div); } -#line 4876 "src/prebuilt/wast-lexer-gen.cc" -yy740: - yych = *++cursor_; - if (yych == 'o') goto yy967; - goto yy87; -yy741: - yych = *++cursor_; - if (yych == 'd') goto yy968; - goto yy87; -yy742: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 369 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64Max); } -#line 4892 "src/prebuilt/wast-lexer-gen.cc" -yy744: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 367 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64Min); } -#line 4900 "src/prebuilt/wast-lexer-gen.cc" -yy746: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 363 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64Mul); } -#line 4908 "src/prebuilt/wast-lexer-gen.cc" -yy748: - yych = *++cursor_; - if (yych == 'r') goto yy970; - goto yy87; -yy749: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 310 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64Neg); } -#line 4920 "src/prebuilt/wast-lexer-gen.cc" -yy751: - yych = *++cursor_; - if (yych == 'm') goto yy971; - goto yy87; -yy752: - yych = *++cursor_; - if (yych == 'n') goto yy972; - goto yy87; -yy753: - yych = *++cursor_; - if (yych == 't') goto yy973; - goto yy87; -yy754: - yych = *++cursor_; - if (yych == 'r') goto yy975; - goto yy87; -yy755: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 361 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64Sub); } -#line 4944 "src/prebuilt/wast-lexer-gen.cc" -yy757: - yych = *++cursor_; - if (yych == 'n') goto yy976; - goto yy87; -yy758: - yych = *++cursor_; - if (yych == 'b') goto yy977; - if (yych == 'd') goto yy978; - goto yy87; -yy759: - yych = *++cursor_; - if (yych == 'o') goto yy979; - goto yy87; -yy760: - yych = *++cursor_; - if (yych == 'i') goto yy980; - goto yy87; -yy761: - yych = *++cursor_; - if (yych == 'q') goto yy981; - if (yych == 'x') goto yy983; - goto yy87; -yy762: - yych = *++cursor_; - if (yych == 'e') goto yy984; - if (yych == 't') goto yy986; - goto yy87; -yy763: - yych = *++cursor_; - if (yych == 'e') goto yy988; - if (yych == 't') goto yy990; - goto yy87; -yy764: - yych = *++cursor_; - if (yych <= 'h') { - if (yych == 'a') goto yy992; - goto yy87; - } else { - if (yych <= 'i') goto yy993; - if (yych == 'u') goto yy994; - goto yy87; - } -yy765: - yych = *++cursor_; - if (yych == 'e') goto yy995; - goto yy87; -yy766: - yych = *++cursor_; - if (yych == 'e') goto yy997; - goto yy87; -yy767: - yych = *++cursor_; - if (yych <= 'q') { - if (yych <= 'o') goto yy87; - if (yych <= 'p') goto yy998; - goto yy999; - } else { - if (yych == 'u') goto yy1000; - goto yy87; - } -yy768: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 250 "src/wast-lexer.cc" - { RETURN_TYPE(ValueType, Funcref); } -#line 5012 "src/prebuilt/wast-lexer-gen.cc" -yy770: - yych = *++cursor_; - if (yych == 'b') goto yy1001; - goto yy87; -yy771: - yych = *++cursor_; - if (yych == 'a') goto yy1002; - goto yy87; -yy772: - yych = *++cursor_; - if (yych == 'g') goto yy1003; - if (yych == 's') goto yy1004; - goto yy87; -yy773: - yych = *++cursor_; - if (yych == 'm') goto yy1005; - goto yy87; -yy774: - yych = *++cursor_; - if (yych <= 'k') { - if (yych == 'd') goto yy1006; - goto yy87; - } else { - if (yych <= 'l') goto yy1007; - if (yych == 'n') goto yy1008; - goto yy87; - } -yy775: - yych = *++cursor_; - if (yych == 'q') goto yy1009; - if (yych == 'x') goto yy1011; - goto yy87; -yy776: - yych = *++cursor_; - if (yych == 'e') goto yy1012; - if (yych == 't') goto yy1013; - goto yy87; -yy777: - yych = *++cursor_; - if (yych == 'e') goto yy1014; - if (yych == 't') goto yy1015; - goto yy87; -yy778: - yych = *++cursor_; - if (yych == 'u') goto yy1016; - goto yy87; -yy779: - yych = *++cursor_; - if (yych == 'e') goto yy1017; - goto yy87; -yy780: - yych = *++cursor_; - if (yych == 'e') goto yy1019; - goto yy87; -yy781: - yych = *++cursor_; - if (yych <= 'o') { - if (yych == 'h') goto yy1020; - goto yy87; - } else { - if (yych <= 'p') goto yy1021; - if (yych == 'u') goto yy1022; - goto yy87; - } -yy782: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 328 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32Add); } -#line 5084 "src/prebuilt/wast-lexer-gen.cc" -yy784: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 342 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32And); } -#line 5092 "src/prebuilt/wast-lexer-gen.cc" -yy786: - yych = *++cursor_; - if (yych == 'm') goto yy1023; - goto yy87; -yy787: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 303 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32Clz); } -#line 5104 "src/prebuilt/wast-lexer-gen.cc" -yy789: - yych = *++cursor_; - if (yych == 's') goto yy1024; - goto yy87; -yy790: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 305 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32Ctz); } -#line 5116 "src/prebuilt/wast-lexer-gen.cc" -yy792: - yych = *++cursor_; - if (yych == '_') goto yy1025; - goto yy87; -yy793: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 301 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32Eqz); } -#line 5128 "src/prebuilt/wast-lexer-gen.cc" -yy795: - yych = *++cursor_; - if (yych == 'e') goto yy1026; - goto yy87; -yy796: - yych = *++cursor_; - if (yych == 's') goto yy1027; - if (yych == 'u') goto yy1029; - goto yy87; -yy797: - yych = *++cursor_; - if (yych == 's') goto yy1031; - if (yych == 'u') goto yy1033; - goto yy87; -yy798: - yych = *++cursor_; - if (yych == 's') goto yy1035; - if (yych == 'u') goto yy1037; - goto yy87; -yy799: - yych = *++cursor_; - if (yych == 'd') goto yy1039; - goto yy87; -yy800: - yych = *++cursor_; - if (yych == 's') goto yy1041; - if (yych == 'u') goto yy1043; - goto yy87; -yy801: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 332 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32Mul); } -#line 5164 "src/prebuilt/wast-lexer-gen.cc" -yy803: - yych = *++cursor_; - if (yych == 'c') goto yy1045; - goto yy87; -yy804: - yych = *++cursor_; - if (yych == 'n') goto yy1046; - goto yy87; -yy805: - yych = *++cursor_; - if (yych == '_') goto yy1047; - goto yy87; -yy806: - yych = *++cursor_; - if (yych == 'l') goto yy1048; - if (yych == 'r') goto yy1050; - goto yy87; -yy807: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 348 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32Shl); } -#line 5189 "src/prebuilt/wast-lexer-gen.cc" -yy809: - yych = *++cursor_; - if (yych == '_') goto yy1052; - goto yy87; -yy810: - yych = *++cursor_; - if (yych == 'r') goto yy1053; - goto yy87; -yy811: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 330 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32Sub); } -#line 5205 "src/prebuilt/wast-lexer-gen.cc" -yy813: - yych = *++cursor_; - if (yych == 'n') goto yy1054; - goto yy87; -yy814: - yych = *++cursor_; - if (yych == 'p') goto yy1055; - goto yy87; -yy815: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 346 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32Xor); } -#line 5221 "src/prebuilt/wast-lexer-gen.cc" -yy817: - yych = *++cursor_; - if (yych <= 'k') { - if (yych == 'd') goto yy1056; - goto yy87; - } else { - if (yych <= 'l') goto yy1057; - if (yych == 'n') goto yy1058; - goto yy87; - } -yy818: - yych = *++cursor_; - if (yych == 'q') goto yy1059; - if (yych == 'x') goto yy1061; - goto yy87; -yy819: - yych = *++cursor_; - if (yych == 'e') goto yy1062; - if (yych == 't') goto yy1063; - goto yy87; -yy820: - yych = *++cursor_; - if (yych == 'e') goto yy1064; - if (yych == 't') goto yy1065; - goto yy87; -yy821: - yych = *++cursor_; - if (yych == 'u') goto yy1066; - goto yy87; -yy822: - yych = *++cursor_; - if (yych == 'e') goto yy1067; - goto yy87; -yy823: - yych = *++cursor_; - if (yych == 'e') goto yy1069; - goto yy87; -yy824: - yych = *++cursor_; - if (yych <= 'o') { - if (yych == 'h') goto yy1070; - goto yy87; - } else { - if (yych <= 'p') goto yy1071; - if (yych == 'u') goto yy1072; - goto yy87; - } -yy825: - yych = *++cursor_; - if (yych == 'r') goto yy1073; - goto yy87; -yy826: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 329 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64Add); } -#line 5280 "src/prebuilt/wast-lexer-gen.cc" -yy828: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 343 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64And); } -#line 5288 "src/prebuilt/wast-lexer-gen.cc" -yy830: - yych = *++cursor_; - if (yych == 'm') goto yy1074; - goto yy87; -yy831: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 304 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64Clz); } -#line 5300 "src/prebuilt/wast-lexer-gen.cc" -yy833: - yych = *++cursor_; - if (yych == 's') goto yy1075; - goto yy87; -yy834: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 306 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64Ctz); } -#line 5312 "src/prebuilt/wast-lexer-gen.cc" -yy836: - yych = *++cursor_; - if (yych == '_') goto yy1076; - goto yy87; -yy837: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 302 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64Eqz); } -#line 5324 "src/prebuilt/wast-lexer-gen.cc" -yy839: - yych = *++cursor_; - if (yych == 'e') goto yy1077; - goto yy87; -yy840: - yych = *++cursor_; - if (yych == 's') goto yy1078; - if (yych == 'u') goto yy1080; - goto yy87; -yy841: - yych = *++cursor_; - if (yych == 's') goto yy1082; - if (yych == 'u') goto yy1084; - goto yy87; -yy842: - yych = *++cursor_; - if (yych == 's') goto yy1086; - if (yych == 'u') goto yy1088; - goto yy87; -yy843: - yych = *++cursor_; - if (yych == 'd') goto yy1090; - goto yy87; -yy844: - yych = *++cursor_; - if (yych == 's') goto yy1092; - if (yych == 'u') goto yy1094; - goto yy87; -yy845: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 333 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64Mul); } -#line 5360 "src/prebuilt/wast-lexer-gen.cc" -yy847: - yych = *++cursor_; - if (yych == 'c') goto yy1096; - goto yy87; -yy848: - yych = *++cursor_; - if (yych == 'n') goto yy1097; - goto yy87; -yy849: - yych = *++cursor_; - if (yych == '_') goto yy1098; - goto yy87; -yy850: - yych = *++cursor_; - if (yych == 'l') goto yy1099; - if (yych == 'r') goto yy1101; - goto yy87; -yy851: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 349 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64Shl); } -#line 5385 "src/prebuilt/wast-lexer-gen.cc" -yy853: - yych = *++cursor_; - if (yych == '_') goto yy1103; - goto yy87; -yy854: - yych = *++cursor_; - if (yych == 'r') goto yy1104; - goto yy87; -yy855: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 331 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64Sub); } -#line 5401 "src/prebuilt/wast-lexer-gen.cc" -yy857: - yych = *++cursor_; - if (yych == 'n') goto yy1105; - goto yy87; -yy858: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 347 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64Xor); } -#line 5413 "src/prebuilt/wast-lexer-gen.cc" -yy860: - yych = *++cursor_; - if (yych <= 'k') { - if (yych == 'd') goto yy1106; - goto yy87; - } else { - if (yych <= 'l') goto yy1107; - if (yych == 'n') goto yy1108; - goto yy87; - } -yy861: - yych = *++cursor_; - if (yych == 'x') goto yy1109; - goto yy87; -yy862: - yych = *++cursor_; - if (yych == 'e') goto yy1110; - goto yy87; -yy863: - yych = *++cursor_; - if (yych == 'e') goto yy1111; - goto yy87; -yy864: - yych = *++cursor_; - if (yych <= 'o') { - if (yych == 'h') goto yy1112; - goto yy87; - } else { - if (yych <= 'p') goto yy1113; - if (yych == 'u') goto yy1114; - goto yy87; - } -yy865: - yych = *++cursor_; - if (yych == 'r') goto yy1115; - goto yy87; -yy866: - yych = *++cursor_; - if (yych <= 'k') { - if (yych == 'd') goto yy1116; - goto yy87; - } else { - if (yych <= 'l') goto yy1117; - if (yych == 'n') goto yy1118; - goto yy87; - } -yy867: - yych = *++cursor_; - if (yych == 'q') goto yy1119; - if (yych == 'x') goto yy1121; - goto yy87; -yy868: - yych = *++cursor_; - if (yych == 'e') goto yy1122; - if (yych == 't') goto yy1123; - goto yy87; -yy869: - yych = *++cursor_; - if (yych == 'e') goto yy1124; - if (yych == 't') goto yy1125; - goto yy87; -yy870: - yych = *++cursor_; - if (yych == 'u') goto yy1126; - goto yy87; -yy871: - yych = *++cursor_; - if (yych == 'e') goto yy1127; - goto yy87; -yy872: - yych = *++cursor_; - if (yych == 'e') goto yy1129; - goto yy87; -yy873: - yych = *++cursor_; - if (yych <= 'o') { - if (yych == 'h') goto yy1130; - goto yy87; - } else { - if (yych <= 'p') goto yy1131; - if (yych == 'u') goto yy1132; - goto yy87; - } -yy874: - yych = *++cursor_; - if (yych == 'e') goto yy1133; - goto yy87; -yy875: - yych = *++cursor_; - if (yych == 'e') goto yy1134; - goto yy87; -yy876: - yych = *++cursor_; - if (yych == 'e') goto yy1135; - goto yy87; -yy877: - yych = *++cursor_; - switch (yych) { - case 'c': goto yy1136; - case 'f': goto yy1137; - case 'g': goto yy1138; - case 'i': goto yy1139; - case 's': goto yy1140; - default: goto yy87; - } -yy878: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= ':') { - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych <= '"') goto yy267; - goto yy86; - } else { - if (yych <= ')') goto yy267; - if (yych <= '/') goto yy86; - if (yych <= '9') goto yy878; - goto yy86; - } - } else { - if (yych <= '^') { - if (yych <= ';') goto yy267; - if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy878; - goto yy86; - } else { - if (yych <= '`') { - if (yych <= '_') goto yy650; - goto yy86; - } else { - if (yych <= 'f') goto yy878; - if (yych <= '~') goto yy86; - goto yy267; - } - } - } -yy880: - yych = *++cursor_; - if (yych <= '/') goto yy87; - if (yych <= '0') goto yy1141; - if (yych <= '9') goto yy1143; - goto yy87; -yy881: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 725 "src/wast-lexer.cc" - { RETURN(Passive); } -#line 5564 "src/prebuilt/wast-lexer-gen.cc" -yy883: - yych = *++cursor_; - if (yych == 'n') goto yy1145; - goto yy87; -yy884: - yych = *++cursor_; - if (yych == 'l') goto yy1146; - goto yy87; -yy885: - yych = *++cursor_; - if (yych == 'r') goto yy1148; - goto yy87; -yy886: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 746 "src/wast-lexer.cc" - { RETURN_OPCODE0(Rethrow); } -#line 5584 "src/prebuilt/wast-lexer-gen.cc" -yy888: - yych = *++cursor_; - if (yych == 'c') goto yy1150; - goto yy87; -yy889: - yych = *++cursor_; - if (yych == 'b') goto yy1151; - goto yy87; -yy890: - yych = *++cursor_; - if (yych == 'a') goto yy1152; - goto yy87; -yy891: - yych = *++cursor_; - if (yych == 'o') goto yy1153; - goto yy87; -yy892: - yych = *++cursor_; - if (yych == 'e') goto yy1154; - if (yych == 'r') goto yy1155; - goto yy87; -yy893: - yych = *++cursor_; - if (yych == 'n') goto yy1156; - goto yy87; -yy894: - yych = *++cursor_; - if (yych == 'e') goto yy1157; - if (yych == 'i') goto yy1158; - goto yy87; -yy895: - yych = *++cursor_; - if (yych == 'a') goto yy1159; - goto yy87; -yy896: - yych = *++cursor_; - if (yych == 'a') goto yy1160; - goto yy87; -yy897: - yych = *++cursor_; - if (yych == 'd') goto yy1161; - goto yy87; -yy898: - yych = *++cursor_; - if (yych == 't') goto yy1163; - goto yy87; -yy899: - yych = *++cursor_; - if (yych == 'n') goto yy1164; - goto yy87; -yy900: - yych = *++cursor_; - if (yych == 'a') goto yy1165; - goto yy87; -yy901: - yych = *++cursor_; - if (yych == 't') goto yy1166; - goto yy87; -yy902: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 583 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, V128Or); } -#line 5650 "src/prebuilt/wast-lexer-gen.cc" -yy904: - yych = *++cursor_; - if (yych == 'o') goto yy1168; - goto yy87; -yy905: - yych = *++cursor_; - if (yych == 'r') goto yy1169; - goto yy87; -yy906: - yych = *++cursor_; - if (yych == 'h') goto yy1171; - goto yy87; -yy907: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= ')') { - if (yych <= '!') { - if (yych <= ' ') goto yy88; - goto yy86; - } else { - if (yych <= '"') goto yy88; - if (yych <= '\'') goto yy86; - goto yy88; - } - } else { - if (yych <= ':') { - if (yych <= '/') goto yy86; - if (yych <= '9') goto yy682; - goto yy86; - } else { - if (yych <= ';') goto yy88; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy908: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '9') { - if (yych <= '"') { - if (yych == '!') goto yy86; - goto yy88; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy88; - if (yych <= '/') goto yy86; - goto yy1172; - } - } else { - if (yych <= 'F') { - if (yych == ';') goto yy88; - if (yych <= '@') goto yy86; - goto yy1172; - } else { - if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy1172; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy909: - yych = *++cursor_; - if (yych == 'x') goto yy1174; - goto yy87; -yy910: - yych = *++cursor_; - if (yych == 'n') goto yy1175; - goto yy87; -yy911: - yych = *++cursor_; - if (yych == 'a') goto yy1176; - goto yy87; -yy912: - yych = *++cursor_; - if (yych == 'e') goto yy1177; - goto yy87; -yy913: - yych = *++cursor_; - if (yych == 'r') goto yy1178; - goto yy87; -yy914: - yych = *++cursor_; - if (yych == 'n') goto yy1179; - goto yy87; -yy915: - yych = *++cursor_; - if (yych == 'o') goto yy1180; - goto yy87; -yy916: - yych = *++cursor_; - if (yych == 'n') goto yy1181; - goto yy87; -yy917: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 261 "src/wast-lexer.cc" - { RETURN_OPCODE0(BrTable); } -#line 5752 "src/prebuilt/wast-lexer-gen.cc" -yy919: - yych = *++cursor_; - if (yych == 'i') goto yy1183; - goto yy87; -yy920: - yych = *++cursor_; - if (yych == 'm') goto yy1184; - goto yy87; -yy921: - yych = *++cursor_; - if (yych == 'p') goto yy1185; - goto yy87; -yy922: - yych = *++cursor_; - if (yych == 'p') goto yy1187; - goto yy87; -yy923: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 315 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32Ceil); } -#line 5776 "src/prebuilt/wast-lexer-gen.cc" -yy925: - yych = *++cursor_; - if (yych == 't') goto yy1189; - goto yy87; -yy926: - yych = *++cursor_; - if (yych == 'e') goto yy1191; - goto yy87; -yy927: - yych = *++cursor_; - if (yych == 's') goto yy1192; - goto yy87; -yy928: - yych = *++cursor_; - if (yych == 't') goto yy1193; - goto yy87; -yy929: - yych = *++cursor_; - if (yych == 'r') goto yy1194; - goto yy87; -yy930: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 274 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, F32Load); } -#line 5804 "src/prebuilt/wast-lexer-gen.cc" -yy932: - yych = *++cursor_; - if (yych == 'e') goto yy1196; - goto yy87; -yy933: - yych = *++cursor_; - if (yych == 't') goto yy1197; - goto yy87; -yy934: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 313 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32Sqrt); } -#line 5820 "src/prebuilt/wast-lexer-gen.cc" -yy936: - yych = *++cursor_; - if (yych == 'e') goto yy1198; - goto yy87; -yy937: - yych = *++cursor_; - if (yych == 'c') goto yy1200; - goto yy87; -yy938: - yych = *++cursor_; - if (yych == 's') goto yy1202; - goto yy87; -yy939: - yych = *++cursor_; - if (yych == 'd') goto yy1204; - goto yy87; -yy940: - yych = *++cursor_; - if (yych == 'n') goto yy1206; - goto yy87; -yy941: - yych = *++cursor_; - if (yych == 'v') goto yy1207; - goto yy87; -yy942: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 598 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32X4Eq); } -#line 5852 "src/prebuilt/wast-lexer-gen.cc" -yy944: - yych = *++cursor_; - if (yych == 't') goto yy1209; - goto yy87; -yy945: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 635 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32X4Ge); } -#line 5864 "src/prebuilt/wast-lexer-gen.cc" -yy947: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 627 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32X4Gt); } -#line 5872 "src/prebuilt/wast-lexer-gen.cc" -yy949: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 619 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32X4Le); } -#line 5880 "src/prebuilt/wast-lexer-gen.cc" -yy951: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 611 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32X4Lt); } -#line 5888 "src/prebuilt/wast-lexer-gen.cc" -yy953: - yych = *++cursor_; - if (yych == 'x') goto yy1210; - goto yy87; -yy954: - yych = *++cursor_; - if (yych == 'n') goto yy1212; - goto yy87; -yy955: - yych = *++cursor_; - if (yych == 'l') goto yy1214; - goto yy87; -yy956: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy957; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= 'f') { - if (yych != ';') goto yy86; - } else { - if (yych <= 'g') goto yy1216; - if (yych <= '~') goto yy86; - } - } -yy957: -#line 603 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F32X4Ne); } -#line 5921 "src/prebuilt/wast-lexer-gen.cc" -yy958: - yych = *++cursor_; - if (yych == 'p') goto yy1218; - goto yy87; -yy959: - yych = *++cursor_; - if (yych == 'l') goto yy1219; - goto yy87; -yy960: - yych = *++cursor_; - if (yych == 'r') goto yy1220; - goto yy87; -yy961: - yych = *++cursor_; - if (yych == 'b') goto yy1221; - goto yy87; -yy962: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 316 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64Ceil); } -#line 5945 "src/prebuilt/wast-lexer-gen.cc" -yy964: - yych = *++cursor_; - if (yych == 't') goto yy1223; - goto yy87; -yy965: - yych = *++cursor_; - if (yych == 'e') goto yy1225; - goto yy87; -yy966: - yych = *++cursor_; - if (yych == 's') goto yy1226; - goto yy87; -yy967: - yych = *++cursor_; - if (yych == 'r') goto yy1227; - goto yy87; -yy968: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 275 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, F64Load); } -#line 5969 "src/prebuilt/wast-lexer-gen.cc" -yy970: - yych = *++cursor_; - if (yych == 'e') goto yy1229; - goto yy87; -yy971: - yych = *++cursor_; - if (yych == 'o') goto yy1230; - goto yy87; -yy972: - yych = *++cursor_; - if (yych == 't') goto yy1231; - goto yy87; -yy973: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 314 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64Sqrt); } -#line 5989 "src/prebuilt/wast-lexer-gen.cc" -yy975: - yych = *++cursor_; - if (yych == 'e') goto yy1232; - goto yy87; -yy976: - yych = *++cursor_; - if (yych == 'c') goto yy1234; - goto yy87; -yy977: - yych = *++cursor_; - if (yych == 's') goto yy1236; - goto yy87; -yy978: - yych = *++cursor_; - if (yych == 'd') goto yy1238; - goto yy87; -yy979: - yych = *++cursor_; - if (yych == 'n') goto yy1240; - goto yy87; -yy980: - yych = *++cursor_; - if (yych == 'v') goto yy1241; - goto yy87; -yy981: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 599 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64X2Eq); } -#line 6021 "src/prebuilt/wast-lexer-gen.cc" -yy983: - yych = *++cursor_; - if (yych == 't') goto yy1243; - goto yy87; -yy984: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 636 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64X2Ge); } -#line 6033 "src/prebuilt/wast-lexer-gen.cc" -yy986: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 628 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64X2Gt); } -#line 6041 "src/prebuilt/wast-lexer-gen.cc" -yy988: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 620 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64X2Le); } -#line 6049 "src/prebuilt/wast-lexer-gen.cc" -yy990: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 612 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64X2Lt); } -#line 6057 "src/prebuilt/wast-lexer-gen.cc" -yy992: - yych = *++cursor_; - if (yych == 'x') goto yy1244; - goto yy87; -yy993: - yych = *++cursor_; - if (yych == 'n') goto yy1246; - goto yy87; -yy994: - yych = *++cursor_; - if (yych == 'l') goto yy1248; - goto yy87; -yy995: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy996; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= 'f') { - if (yych != ';') goto yy86; - } else { - if (yych <= 'g') goto yy1250; - if (yych <= '~') goto yy86; - } - } -yy996: -#line 604 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, F64X2Ne); } -#line 6090 "src/prebuilt/wast-lexer-gen.cc" -yy997: - yych = *++cursor_; - if (yych == 'p') goto yy1252; - goto yy87; -yy998: - yych = *++cursor_; - if (yych == 'l') goto yy1253; - goto yy87; -yy999: - yych = *++cursor_; - if (yych == 'r') goto yy1254; - goto yy87; -yy1000: - yych = *++cursor_; - if (yych == 'b') goto yy1255; - goto yy87; -yy1001: - yych = *++cursor_; - if (yych == 'a') goto yy1257; - goto yy87; -yy1002: - yych = *++cursor_; - if (yych == 'l') goto yy1258; - goto yy87; -yy1003: - yych = *++cursor_; - if (yych == 'e') goto yy1260; - goto yy87; -yy1004: - yych = *++cursor_; - if (yych == 'e') goto yy1261; - goto yy87; -yy1005: - yych = *++cursor_; - if (yych == 'o') goto yy1262; - goto yy87; -yy1006: - yych = *++cursor_; - if (yych == 'd') goto yy1263; - goto yy87; -yy1007: - yych = *++cursor_; - if (yych == 'l') goto yy1265; - goto yy87; -yy1008: - yych = *++cursor_; - if (yych == 'y') goto yy1266; - goto yy87; -yy1009: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 596 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8Eq); } -#line 6146 "src/prebuilt/wast-lexer-gen.cc" -yy1011: - yych = *++cursor_; - if (yych == 't') goto yy1267; - goto yy87; -yy1012: - yych = *++cursor_; - if (yych == '_') goto yy1268; - goto yy87; -yy1013: - yych = *++cursor_; - if (yych == '_') goto yy1269; - goto yy87; -yy1014: - yych = *++cursor_; - if (yych == '_') goto yy1270; - goto yy87; -yy1015: - yych = *++cursor_; - if (yych == '_') goto yy1271; - goto yy87; -yy1016: - yych = *++cursor_; - if (yych == 'l') goto yy1272; - goto yy87; -yy1017: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy1018; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= 'f') { - if (yych != ';') goto yy86; - } else { - if (yych <= 'g') goto yy1274; - if (yych <= '~') goto yy86; - } - } -yy1018: -#line 601 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8Ne); } -#line 6191 "src/prebuilt/wast-lexer-gen.cc" -yy1019: - yych = *++cursor_; - if (yych == 'p') goto yy1276; - goto yy87; -yy1020: - yych = *++cursor_; - if (yych == 'l') goto yy1277; - if (yych == 'r') goto yy1279; - goto yy87; -yy1021: - yych = *++cursor_; - if (yych == 'l') goto yy1280; - goto yy87; -yy1022: - yych = *++cursor_; - if (yych == 'b') goto yy1281; - goto yy87; -yy1023: - yych = *++cursor_; - if (yych == 'i') goto yy1283; - goto yy87; -yy1024: - yych = *++cursor_; - if (yych == 't') goto yy1284; - goto yy87; -yy1025: - yych = *++cursor_; - if (yych == 's') goto yy1286; - if (yych == 'u') goto yy1288; - goto yy87; -yy1026: - yych = *++cursor_; - if (yych == 'n') goto yy1290; - goto yy87; -yy1027: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 388 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32GeS); } -#line 6233 "src/prebuilt/wast-lexer-gen.cc" -yy1029: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 390 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32GeU); } -#line 6241 "src/prebuilt/wast-lexer-gen.cc" -yy1031: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 384 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32GtS); } -#line 6249 "src/prebuilt/wast-lexer-gen.cc" -yy1033: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 386 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32GtU); } -#line 6257 "src/prebuilt/wast-lexer-gen.cc" -yy1035: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 380 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32LeS); } -#line 6265 "src/prebuilt/wast-lexer-gen.cc" -yy1037: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 382 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32LeU); } -#line 6273 "src/prebuilt/wast-lexer-gen.cc" -yy1039: - ++cursor_; - if ((yych = *cursor_) <= '0') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= '8') { - if (yych <= '1') goto yy1291; - if (yych <= '7') goto yy86; - goto yy1292; - } else { - if (yych == ';') goto yy1040; - if (yych <= '~') goto yy86; - } - } -yy1040: -#line 272 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I32Load); } -#line 6296 "src/prebuilt/wast-lexer-gen.cc" -yy1041: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 376 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32LtS); } -#line 6304 "src/prebuilt/wast-lexer-gen.cc" -yy1043: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 378 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32LtU); } -#line 6312 "src/prebuilt/wast-lexer-gen.cc" -yy1045: - yych = *++cursor_; - if (yych == 'n') goto yy1293; - goto yy87; -yy1046: - yych = *++cursor_; - if (yych == 't') goto yy1294; - goto yy87; -yy1047: - yych = *++cursor_; - if (yych == 's') goto yy1295; - if (yych == 'u') goto yy1297; - goto yy87; -yy1048: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 354 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32Rotl); } -#line 6333 "src/prebuilt/wast-lexer-gen.cc" -yy1050: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 356 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32Rotr); } -#line 6341 "src/prebuilt/wast-lexer-gen.cc" -yy1052: - yych = *++cursor_; - if (yych == 's') goto yy1299; - if (yych == 'u') goto yy1301; - goto yy87; -yy1053: - yych = *++cursor_; - if (yych == 'e') goto yy1303; - goto yy87; -yy1054: - yych = *++cursor_; - if (yych == 'c') goto yy1305; - goto yy87; -yy1055: - yych = *++cursor_; - if (yych == '/') goto yy1306; - if (yych == '_') goto yy1307; - goto yy87; -yy1056: - yych = *++cursor_; - if (yych == 'd') goto yy1308; - goto yy87; -yy1057: - yych = *++cursor_; - if (yych == 'l') goto yy1310; - goto yy87; -yy1058: - yych = *++cursor_; - if (yych == 'y') goto yy1311; - goto yy87; -yy1059: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 597 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4Eq); } -#line 6379 "src/prebuilt/wast-lexer-gen.cc" -yy1061: - yych = *++cursor_; - if (yych == 't') goto yy1312; - goto yy87; -yy1062: - yych = *++cursor_; - if (yych == '_') goto yy1313; - goto yy87; -yy1063: - yych = *++cursor_; - if (yych == '_') goto yy1314; - goto yy87; -yy1064: - yych = *++cursor_; - if (yych == '_') goto yy1315; - goto yy87; -yy1065: - yych = *++cursor_; - if (yych == '_') goto yy1316; - goto yy87; -yy1066: - yych = *++cursor_; - if (yych == 'l') goto yy1317; - goto yy87; -yy1067: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy1068; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= 'f') { - if (yych != ';') goto yy86; - } else { - if (yych <= 'g') goto yy1319; - if (yych <= '~') goto yy86; - } - } -yy1068: -#line 602 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4Ne); } -#line 6424 "src/prebuilt/wast-lexer-gen.cc" -yy1069: - yych = *++cursor_; - if (yych == 'p') goto yy1321; - goto yy87; -yy1070: - yych = *++cursor_; - if (yych == 'l') goto yy1322; - if (yych == 'r') goto yy1324; - goto yy87; -yy1071: - yych = *++cursor_; - if (yych == 'l') goto yy1325; - goto yy87; -yy1072: - yych = *++cursor_; - if (yych == 'b') goto yy1326; - goto yy87; -yy1073: - yych = *++cursor_; - if (yych == 'u') goto yy1328; - goto yy87; -yy1074: - yych = *++cursor_; - if (yych == 'i') goto yy1329; - goto yy87; -yy1075: - yych = *++cursor_; - if (yych == 't') goto yy1330; - goto yy87; -yy1076: - yych = *++cursor_; - if (yych == 's') goto yy1332; - if (yych == 'u') goto yy1334; - goto yy87; -yy1077: - yych = *++cursor_; - if (yych == 'n') goto yy1336; - goto yy87; -yy1078: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 389 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64GeS); } -#line 6470 "src/prebuilt/wast-lexer-gen.cc" -yy1080: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 391 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64GeU); } -#line 6478 "src/prebuilt/wast-lexer-gen.cc" -yy1082: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 385 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64GtS); } -#line 6486 "src/prebuilt/wast-lexer-gen.cc" -yy1084: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 387 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64GtU); } -#line 6494 "src/prebuilt/wast-lexer-gen.cc" -yy1086: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 381 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64LeS); } -#line 6502 "src/prebuilt/wast-lexer-gen.cc" -yy1088: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 383 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64LeU); } -#line 6510 "src/prebuilt/wast-lexer-gen.cc" -yy1090: - ++cursor_; - if ((yych = *cursor_) <= '1') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy1091; - if (yych <= '0') goto yy86; - goto yy1337; - } - } else { - if (yych <= '8') { - if (yych == '3') goto yy1338; - if (yych <= '7') goto yy86; - goto yy1339; - } else { - if (yych == ';') goto yy1091; - if (yych <= '~') goto yy86; - } - } -yy1091: -#line 273 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I64Load); } -#line 6535 "src/prebuilt/wast-lexer-gen.cc" -yy1092: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 377 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64LtS); } -#line 6543 "src/prebuilt/wast-lexer-gen.cc" -yy1094: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 379 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I64LtU); } -#line 6551 "src/prebuilt/wast-lexer-gen.cc" -yy1096: - yych = *++cursor_; - if (yych == 'n') goto yy1340; - goto yy87; -yy1097: - yych = *++cursor_; - if (yych == 't') goto yy1341; - goto yy87; -yy1098: - yych = *++cursor_; - if (yych == 's') goto yy1342; - if (yych == 'u') goto yy1344; - goto yy87; -yy1099: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 355 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64Rotl); } -#line 6572 "src/prebuilt/wast-lexer-gen.cc" -yy1101: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 357 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64Rotr); } -#line 6580 "src/prebuilt/wast-lexer-gen.cc" -yy1103: - yych = *++cursor_; - if (yych == 's') goto yy1346; - if (yych == 'u') goto yy1348; - goto yy87; -yy1104: - yych = *++cursor_; - if (yych == 'e') goto yy1350; - goto yy87; -yy1105: - yych = *++cursor_; - if (yych == 'c') goto yy1352; - goto yy87; -yy1106: - yych = *++cursor_; - if (yych == 'd') goto yy1353; - goto yy87; -yy1107: - yych = *++cursor_; - if (yych == 'l') goto yy1355; - goto yy87; -yy1108: - yych = *++cursor_; - if (yych == 'y') goto yy1356; - goto yy87; -yy1109: - yych = *++cursor_; - if (yych == 't') goto yy1357; - goto yy87; -yy1110: - yych = *++cursor_; - if (yych == 'g') goto yy1358; - goto yy87; -yy1111: - yych = *++cursor_; - if (yych == 'p') goto yy1360; - goto yy87; -yy1112: - yych = *++cursor_; - if (yych == 'l') goto yy1361; - if (yych == 'r') goto yy1363; - goto yy87; -yy1113: - yych = *++cursor_; - if (yych == 'l') goto yy1364; - goto yy87; -yy1114: - yych = *++cursor_; - if (yych == 'b') goto yy1365; - goto yy87; -yy1115: - yych = *++cursor_; - if (yych == 'u') goto yy1367; - goto yy87; -yy1116: - yych = *++cursor_; - if (yych == 'd') goto yy1368; - goto yy87; -yy1117: - yych = *++cursor_; - if (yych == 'l') goto yy1370; - goto yy87; -yy1118: - yych = *++cursor_; - if (yych == 'y') goto yy1371; - goto yy87; -yy1119: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 595 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16Eq); } -#line 6654 "src/prebuilt/wast-lexer-gen.cc" -yy1121: - yych = *++cursor_; - if (yych == 't') goto yy1372; - goto yy87; -yy1122: - yych = *++cursor_; - if (yych == '_') goto yy1373; - goto yy87; -yy1123: - yych = *++cursor_; - if (yych == '_') goto yy1374; - goto yy87; -yy1124: - yych = *++cursor_; - if (yych == '_') goto yy1375; - goto yy87; -yy1125: - yych = *++cursor_; - if (yych == '_') goto yy1376; - goto yy87; -yy1126: - yych = *++cursor_; - if (yych == 'l') goto yy1377; - goto yy87; -yy1127: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy1128; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= 'f') { - if (yych != ';') goto yy86; - } else { - if (yych <= 'g') goto yy1379; - if (yych <= '~') goto yy86; - } - } -yy1128: -#line 600 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16Ne); } -#line 6699 "src/prebuilt/wast-lexer-gen.cc" -yy1129: - yych = *++cursor_; - if (yych == 'p') goto yy1381; - goto yy87; -yy1130: - yych = *++cursor_; - if (yych == 'l') goto yy1382; - if (yych == 'r') goto yy1384; - goto yy87; -yy1131: - yych = *++cursor_; - if (yych == 'l') goto yy1385; - goto yy87; -yy1132: - yych = *++cursor_; - if (yych == 'b') goto yy1386; - goto yy87; -yy1133: - yych = *++cursor_; - if (yych == 't') goto yy1388; - goto yy87; -yy1134: - yych = *++cursor_; - if (yych == 't') goto yy1390; - goto yy87; -yy1135: - yych = *++cursor_; - if (yych == 'e') goto yy1392; - goto yy87; -yy1136: - yych = *++cursor_; - if (yych == 'o') goto yy1394; - goto yy87; -yy1137: - yych = *++cursor_; - if (yych == 'i') goto yy1395; - goto yy87; -yy1138: - yych = *++cursor_; - if (yych == 'r') goto yy1396; - goto yy87; -yy1139: - yych = *++cursor_; - if (yych == 'n') goto yy1397; - goto yy87; -yy1140: - yych = *++cursor_; - if (yych == 'i') goto yy1398; - goto yy87; -yy1141: - ++cursor_; - if ((yych = *cursor_) <= '9') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy1142; - if (yych <= '/') goto yy86; - goto yy1143; - } - } else { - if (yych <= '_') { - if (yych == ';') goto yy1142; - if (yych <= '^') goto yy86; - goto yy1399; - } else { - if (yych == 'x') goto yy1400; - if (yych <= '~') goto yy86; - } - } -yy1142: -#line 295 "src/wast-lexer.cc" - { RETURN_TEXT_AT(OffsetEqNat, 7); } -#line 6773 "src/prebuilt/wast-lexer-gen.cc" -yy1143: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '/') { - if (yych <= '"') { - if (yych == '!') goto yy86; - goto yy1142; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy1142; - goto yy86; - } - } else { - if (yych <= ';') { - if (yych <= '9') goto yy1143; - if (yych <= ':') goto yy86; - goto yy1142; - } else { - if (yych == '_') goto yy1399; - if (yych <= '~') goto yy86; - goto yy1142; - } - } -yy1145: - yych = *++cursor_; - if (yych == 'u') goto yy1401; - goto yy87; -yy1146: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 454 "src/wast-lexer.cc" - { RETURN_OPCODE0(RefNull); } -#line 6809 "src/prebuilt/wast-lexer-gen.cc" -yy1148: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 726 "src/wast-lexer.cc" - { RETURN(Register); } -#line 6817 "src/prebuilt/wast-lexer-gen.cc" -yy1150: - yych = *++cursor_; - if (yych == 'a') goto yy1402; - goto yy87; -yy1151: - yych = *++cursor_; - if (yych == 'a') goto yy1403; - goto yy87; -yy1152: - yych = *++cursor_; - if (yych == 'l') goto yy1404; - goto yy87; -yy1153: - yych = *++cursor_; - if (yych == 'p') goto yy1406; - goto yy87; -yy1154: - yych = *++cursor_; - if (yych == 't') goto yy1407; - goto yy87; -yy1155: - yych = *++cursor_; - if (yych == 'o') goto yy1409; - goto yy87; -yy1156: - yych = *++cursor_; - if (yych == 'i') goto yy1410; - goto yy87; -yy1157: - yych = *++cursor_; - if (yych == 't') goto yy1411; - goto yy87; -yy1158: - yych = *++cursor_; - if (yych == 'z') goto yy1413; - goto yy87; -yy1159: - yych = *++cursor_; - if (yych == 'l') goto yy1414; - goto yy87; -yy1160: - yych = *++cursor_; - if (yych == 'b') goto yy1416; - goto yy87; -yy1161: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 582 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, V128And); } -#line 6869 "src/prebuilt/wast-lexer-gen.cc" -yy1163: - yych = *++cursor_; - if (yych == 's') goto yy1417; - goto yy87; -yy1164: - yych = *++cursor_; - if (yych == 's') goto yy1418; - goto yy87; -yy1165: - yych = *++cursor_; - if (yych == 'd') goto yy1419; - goto yy87; -yy1166: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 585 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, V128Not); } -#line 6889 "src/prebuilt/wast-lexer-gen.cc" -yy1168: - yych = *++cursor_; - if (yych == 'r') goto yy1421; - goto yy87; -yy1169: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 584 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, V128Xor); } -#line 6901 "src/prebuilt/wast-lexer-gen.cc" -yy1171: - yych = *++cursor_; - if (yych == 'u') goto yy1422; - goto yy87; -yy1172: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= ':') { - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych <= '"') goto yy681; - goto yy86; - } else { - if (yych <= ')') goto yy681; - if (yych <= '/') goto yy86; - if (yych <= '9') goto yy1172; - goto yy86; - } - } else { - if (yych <= '^') { - if (yych <= ';') goto yy681; - if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy1172; - goto yy86; - } else { - if (yych <= '`') { - if (yych <= '_') goto yy908; - goto yy86; - } else { - if (yych <= 'f') goto yy1172; - if (yych <= '~') goto yy86; - goto yy681; - } - } - } -yy1174: - yych = *++cursor_; - if (yych == 'h') goto yy1423; - goto yy87; -yy1175: - yych = *++cursor_; - if (yych == 'v') goto yy1424; - goto yy87; -yy1176: - yych = *++cursor_; - if (yych == 'l') goto yy1425; - goto yy87; -yy1177: - yych = *++cursor_; - if (yych == 't') goto yy1426; - goto yy87; -yy1178: - yych = *++cursor_; - if (yych == 'a') goto yy1427; - goto yy87; -yy1179: - yych = *++cursor_; - if (yych == 'l') goto yy1428; - goto yy87; -yy1180: - yych = *++cursor_; - if (yych == 't') goto yy1429; - goto yy87; -yy1181: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 747 "src/wast-lexer.cc" - { RETURN_OPCODE0(BrOnExn); } -#line 6973 "src/prebuilt/wast-lexer-gen.cc" -yy1183: - yych = *++cursor_; - if (yych == 'r') goto yy1430; - goto yy87; -yy1184: - yych = *++cursor_; - if (yych == 'e') goto yy1431; - goto yy87; -yy1185: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 442 "src/wast-lexer.cc" - { RETURN_OPCODE0(DataDrop); } -#line 6989 "src/prebuilt/wast-lexer-gen.cc" -yy1187: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 448 "src/wast-lexer.cc" - { RETURN_OPCODE0(ElemDrop); } -#line 6997 "src/prebuilt/wast-lexer-gen.cc" -yy1189: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 299 "src/wast-lexer.cc" - { RETURN_OPCODE(Const, F32Const); } -#line 7005 "src/prebuilt/wast-lexer-gen.cc" -yy1191: - yych = *++cursor_; - if (yych == 'r') goto yy1432; - goto yy87; -yy1192: - yych = *++cursor_; - if (yych == 'i') goto yy1433; - goto yy87; -yy1193: - yych = *++cursor_; - if (yych == 'e') goto yy1434; - goto yy87; -yy1194: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 317 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32Floor); } -#line 7025 "src/prebuilt/wast-lexer-gen.cc" -yy1196: - yych = *++cursor_; - if (yych == 's') goto yy1435; - goto yy87; -yy1197: - yych = *++cursor_; - if (yych == 'e') goto yy1436; - goto yy87; -yy1198: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 278 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, F32Store); } -#line 7041 "src/prebuilt/wast-lexer-gen.cc" -yy1200: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 319 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32Trunc); } -#line 7049 "src/prebuilt/wast-lexer-gen.cc" -yy1202: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 639 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32X4Abs); } -#line 7057 "src/prebuilt/wast-lexer-gen.cc" -yy1204: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 645 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32X4Add); } -#line 7065 "src/prebuilt/wast-lexer-gen.cc" -yy1206: - yych = *++cursor_; - if (yych == 'v') goto yy1437; - goto yy87; -yy1207: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 649 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32X4Div); } -#line 7077 "src/prebuilt/wast-lexer-gen.cc" -yy1209: - yych = *++cursor_; - if (yych == 'r') goto yy1438; - goto yy87; -yy1210: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 643 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32X4Max); } -#line 7089 "src/prebuilt/wast-lexer-gen.cc" -yy1212: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 641 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32X4Min); } -#line 7097 "src/prebuilt/wast-lexer-gen.cc" -yy1214: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 651 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32X4Mul); } -#line 7105 "src/prebuilt/wast-lexer-gen.cc" -yy1216: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 637 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32X4Neg); } -#line 7113 "src/prebuilt/wast-lexer-gen.cc" -yy1218: - yych = *++cursor_; - if (yych == 'l') goto yy1439; - goto yy87; -yy1219: - yych = *++cursor_; - if (yych == 'a') goto yy1440; - goto yy87; -yy1220: - yych = *++cursor_; - if (yych == 't') goto yy1441; - goto yy87; -yy1221: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 647 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32X4Sub); } -#line 7133 "src/prebuilt/wast-lexer-gen.cc" -yy1223: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 300 "src/wast-lexer.cc" - { RETURN_OPCODE(Const, F64Const); } -#line 7141 "src/prebuilt/wast-lexer-gen.cc" -yy1225: - yych = *++cursor_; - if (yych == 'r') goto yy1443; - goto yy87; -yy1226: - yych = *++cursor_; - if (yych == 'i') goto yy1444; - goto yy87; -yy1227: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 318 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64Floor); } -#line 7157 "src/prebuilt/wast-lexer-gen.cc" -yy1229: - yych = *++cursor_; - if (yych == 's') goto yy1445; - goto yy87; -yy1230: - yych = *++cursor_; - if (yych == 't') goto yy1446; - goto yy87; -yy1231: - yych = *++cursor_; - if (yych == 'e') goto yy1447; - goto yy87; -yy1232: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 279 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, F64Store); } -#line 7177 "src/prebuilt/wast-lexer-gen.cc" -yy1234: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 320 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64Trunc); } -#line 7185 "src/prebuilt/wast-lexer-gen.cc" -yy1236: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 640 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64X2Abs); } -#line 7193 "src/prebuilt/wast-lexer-gen.cc" -yy1238: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 646 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64X2Add); } -#line 7201 "src/prebuilt/wast-lexer-gen.cc" -yy1240: - yych = *++cursor_; - if (yych == 'v') goto yy1448; - goto yy87; -yy1241: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 650 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64X2Div); } -#line 7213 "src/prebuilt/wast-lexer-gen.cc" -yy1243: - yych = *++cursor_; - if (yych == 'r') goto yy1449; - goto yy87; -yy1244: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 644 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64X2Max); } -#line 7225 "src/prebuilt/wast-lexer-gen.cc" -yy1246: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 642 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64X2Min); } -#line 7233 "src/prebuilt/wast-lexer-gen.cc" -yy1248: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 652 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64X2Mul); } -#line 7241 "src/prebuilt/wast-lexer-gen.cc" -yy1250: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 638 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64X2Neg); } -#line 7249 "src/prebuilt/wast-lexer-gen.cc" -yy1252: - yych = *++cursor_; - if (yych == 'l') goto yy1450; - goto yy87; -yy1253: - yych = *++cursor_; - if (yych == 'a') goto yy1451; - goto yy87; -yy1254: - yych = *++cursor_; - if (yych == 't') goto yy1452; - goto yy87; -yy1255: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 648 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64X2Sub); } -#line 7269 "src/prebuilt/wast-lexer-gen.cc" -yy1257: - yych = *++cursor_; - if (yych == 'l') goto yy1454; - goto yy87; -yy1258: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 668 "src/wast-lexer.cc" - { RETURN_OPCODE0(LocalGet); } -#line 7281 "src/prebuilt/wast-lexer-gen.cc" -yy1260: - yych = *++cursor_; - if (yych == 't') goto yy1456; - goto yy87; -yy1261: - yych = *++cursor_; - if (yych == 't') goto yy1458; - goto yy87; -yy1262: - yych = *++cursor_; - if (yych == 'r') goto yy1460; - goto yy87; -yy1263: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy1264; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy1461; - if (yych <= '~') goto yy86; - } - } -yy1264: -#line 548 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8Add); } -#line 7314 "src/prebuilt/wast-lexer-gen.cc" -yy1265: - yych = *++cursor_; - if (yych == '_') goto yy1462; - goto yy87; -yy1266: - yych = *++cursor_; - if (yych == '_') goto yy1463; - goto yy87; -yy1267: - yych = *++cursor_; - if (yych == 'r') goto yy1464; - goto yy87; -yy1268: - yych = *++cursor_; - if (yych == 's') goto yy1465; - if (yych == 'u') goto yy1467; - goto yy87; -yy1269: - yych = *++cursor_; - if (yych == 's') goto yy1469; - if (yych == 'u') goto yy1471; - goto yy87; -yy1270: - yych = *++cursor_; - if (yych == 's') goto yy1473; - if (yych == 'u') goto yy1475; - goto yy87; -yy1271: - yych = *++cursor_; - if (yych == 's') goto yy1477; - if (yych == 'u') goto yy1479; - goto yy87; -yy1272: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 556 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8Mul); } -#line 7354 "src/prebuilt/wast-lexer-gen.cc" -yy1274: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 559 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I16X8Neg); } -#line 7362 "src/prebuilt/wast-lexer-gen.cc" -yy1276: - yych = *++cursor_; - if (yych == 'l') goto yy1481; - goto yy87; -yy1277: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 571 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8Shl); } -#line 7374 "src/prebuilt/wast-lexer-gen.cc" -yy1279: - yych = *++cursor_; - if (yych == '_') goto yy1482; - goto yy87; -yy1280: - yych = *++cursor_; - if (yych == 'a') goto yy1483; - goto yy87; -yy1281: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy1282; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy1484; - if (yych <= '~') goto yy86; - } - } -yy1282: -#line 552 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8Sub); } -#line 7403 "src/prebuilt/wast-lexer-gen.cc" -yy1283: - yych = *++cursor_; - if (yych == 'c') goto yy1485; - goto yy87; -yy1284: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 297 "src/wast-lexer.cc" - { RETURN_OPCODE(Const, I32Const); } -#line 7415 "src/prebuilt/wast-lexer-gen.cc" -yy1286: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 334 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32DivS); } -#line 7423 "src/prebuilt/wast-lexer-gen.cc" -yy1288: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 336 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32DivU); } -#line 7431 "src/prebuilt/wast-lexer-gen.cc" -yy1290: - yych = *++cursor_; - if (yych == 'd') goto yy1486; - goto yy87; -yy1291: - yych = *++cursor_; - if (yych == '6') goto yy1487; - goto yy87; -yy1292: - yych = *++cursor_; - if (yych == '_') goto yy1488; - goto yy87; -yy1293: - yych = *++cursor_; - if (yych == 't') goto yy1489; - goto yy87; -yy1294: - yych = *++cursor_; - if (yych == 'e') goto yy1491; - goto yy87; -yy1295: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 338 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32RemS); } -#line 7459 "src/prebuilt/wast-lexer-gen.cc" -yy1297: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 340 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32RemU); } -#line 7467 "src/prebuilt/wast-lexer-gen.cc" -yy1299: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 350 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32ShrS); } -#line 7475 "src/prebuilt/wast-lexer-gen.cc" -yy1301: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 352 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32ShrU); } -#line 7483 "src/prebuilt/wast-lexer-gen.cc" -yy1303: - ++cursor_; - if ((yych = *cursor_) <= '0') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= '8') { - if (yych <= '1') goto yy1492; - if (yych <= '7') goto yy86; - goto yy1493; - } else { - if (yych == ';') goto yy1304; - if (yych <= '~') goto yy86; - } - } -yy1304: -#line 276 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, I32Store); } -#line 7506 "src/prebuilt/wast-lexer-gen.cc" -yy1305: - yych = *++cursor_; - if (yych == '_') goto yy1495; - goto yy87; -yy1306: - yych = *++cursor_; - if (yych == 'i') goto yy1496; - goto yy87; -yy1307: - yych = *++cursor_; - if (yych == 'i') goto yy1497; - goto yy87; -yy1308: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 549 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32X4Add); } -#line 7526 "src/prebuilt/wast-lexer-gen.cc" -yy1310: - yych = *++cursor_; - if (yych == '_') goto yy1498; - goto yy87; -yy1311: - yych = *++cursor_; - if (yych == '_') goto yy1499; - goto yy87; -yy1312: - yych = *++cursor_; - if (yych == 'r') goto yy1500; - goto yy87; -yy1313: - yych = *++cursor_; - if (yych == 's') goto yy1501; - if (yych == 'u') goto yy1503; - goto yy87; -yy1314: - yych = *++cursor_; - if (yych == 's') goto yy1505; - if (yych == 'u') goto yy1507; - goto yy87; -yy1315: - yych = *++cursor_; - if (yych == 's') goto yy1509; - if (yych == 'u') goto yy1511; - goto yy87; -yy1316: - yych = *++cursor_; - if (yych == 's') goto yy1513; - if (yych == 'u') goto yy1515; - goto yy87; -yy1317: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 557 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32X4Mul); } -#line 7566 "src/prebuilt/wast-lexer-gen.cc" -yy1319: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 560 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32X4Neg); } -#line 7574 "src/prebuilt/wast-lexer-gen.cc" -yy1321: - yych = *++cursor_; - if (yych == 'l') goto yy1517; - goto yy87; -yy1322: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 572 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32X4Shl); } -#line 7586 "src/prebuilt/wast-lexer-gen.cc" -yy1324: - yych = *++cursor_; - if (yych == '_') goto yy1518; - goto yy87; -yy1325: - yych = *++cursor_; - if (yych == 'a') goto yy1519; - goto yy87; -yy1326: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 553 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32X4Sub); } -#line 7602 "src/prebuilt/wast-lexer-gen.cc" -yy1328: - yych = *++cursor_; - if (yych == 'n') goto yy1520; - goto yy87; -yy1329: - yych = *++cursor_; - if (yych == 'c') goto yy1521; - goto yy87; -yy1330: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 298 "src/wast-lexer.cc" - { RETURN_OPCODE(Const, I64Const); } -#line 7618 "src/prebuilt/wast-lexer-gen.cc" -yy1332: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 335 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64DivS); } -#line 7626 "src/prebuilt/wast-lexer-gen.cc" -yy1334: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 337 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64DivU); } -#line 7634 "src/prebuilt/wast-lexer-gen.cc" -yy1336: - yych = *++cursor_; - if (yych == 'd') goto yy1522; - goto yy87; -yy1337: - yych = *++cursor_; - if (yych == '6') goto yy1523; - goto yy87; -yy1338: - yych = *++cursor_; - if (yych == '2') goto yy1524; - goto yy87; -yy1339: - yych = *++cursor_; - if (yych == '_') goto yy1525; - goto yy87; -yy1340: - yych = *++cursor_; - if (yych == 't') goto yy1526; - goto yy87; -yy1341: - yych = *++cursor_; - if (yych == 'e') goto yy1528; - goto yy87; -yy1342: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 339 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64RemS); } -#line 7666 "src/prebuilt/wast-lexer-gen.cc" -yy1344: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 341 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64RemU); } -#line 7674 "src/prebuilt/wast-lexer-gen.cc" -yy1346: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 351 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64ShrS); } -#line 7682 "src/prebuilt/wast-lexer-gen.cc" -yy1348: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 353 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64ShrU); } -#line 7690 "src/prebuilt/wast-lexer-gen.cc" -yy1350: - ++cursor_; - if ((yych = *cursor_) <= '1') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy1351; - if (yych <= '0') goto yy86; - goto yy1529; - } - } else { - if (yych <= '8') { - if (yych == '3') goto yy1530; - if (yych <= '7') goto yy86; - goto yy1531; - } else { - if (yych == ';') goto yy1351; - if (yych <= '~') goto yy86; - } - } -yy1351: -#line 277 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, I64Store); } -#line 7715 "src/prebuilt/wast-lexer-gen.cc" -yy1352: - yych = *++cursor_; - if (yych == '_') goto yy1533; - goto yy87; -yy1353: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 550 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64X2Add); } -#line 7727 "src/prebuilt/wast-lexer-gen.cc" -yy1355: - yych = *++cursor_; - if (yych == '_') goto yy1534; - goto yy87; -yy1356: - yych = *++cursor_; - if (yych == '_') goto yy1535; - goto yy87; -yy1357: - yych = *++cursor_; - if (yych == 'r') goto yy1536; - goto yy87; -yy1358: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 561 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64X2Neg); } -#line 7747 "src/prebuilt/wast-lexer-gen.cc" -yy1360: - yych = *++cursor_; - if (yych == 'l') goto yy1537; - goto yy87; -yy1361: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 573 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64X2Shl); } -#line 7759 "src/prebuilt/wast-lexer-gen.cc" -yy1363: - yych = *++cursor_; - if (yych == '_') goto yy1538; - goto yy87; -yy1364: - yych = *++cursor_; - if (yych == 'a') goto yy1539; - goto yy87; -yy1365: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 554 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64X2Sub); } -#line 7775 "src/prebuilt/wast-lexer-gen.cc" -yy1367: - yych = *++cursor_; - if (yych == 'n') goto yy1540; - goto yy87; -yy1368: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy1369; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy1541; - if (yych <= '~') goto yy86; - } - } -yy1369: -#line 547 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16Add); } -#line 7800 "src/prebuilt/wast-lexer-gen.cc" -yy1370: - yych = *++cursor_; - if (yych == '_') goto yy1542; - goto yy87; -yy1371: - yych = *++cursor_; - if (yych == '_') goto yy1543; - goto yy87; -yy1372: - yych = *++cursor_; - if (yych == 'r') goto yy1544; - goto yy87; -yy1373: - yych = *++cursor_; - if (yych == 's') goto yy1545; - if (yych == 'u') goto yy1547; - goto yy87; -yy1374: - yych = *++cursor_; - if (yych == 's') goto yy1549; - if (yych == 'u') goto yy1551; - goto yy87; -yy1375: - yych = *++cursor_; - if (yych == 's') goto yy1553; - if (yych == 'u') goto yy1555; - goto yy87; -yy1376: - yych = *++cursor_; - if (yych == 's') goto yy1557; - if (yych == 'u') goto yy1559; - goto yy87; -yy1377: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 555 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16Mul); } -#line 7840 "src/prebuilt/wast-lexer-gen.cc" -yy1379: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 558 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I8X16Neg); } -#line 7848 "src/prebuilt/wast-lexer-gen.cc" -yy1381: - yych = *++cursor_; - if (yych == 'l') goto yy1561; - goto yy87; -yy1382: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 570 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16Shl); } -#line 7860 "src/prebuilt/wast-lexer-gen.cc" -yy1384: - yych = *++cursor_; - if (yych == '_') goto yy1562; - goto yy87; -yy1385: - yych = *++cursor_; - if (yych == 'a') goto yy1563; - goto yy87; -yy1386: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy1387; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy1564; - if (yych <= '~') goto yy86; - } - } -yy1387: -#line 551 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16Sub); } -#line 7889 "src/prebuilt/wast-lexer-gen.cc" -yy1388: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 267 "src/wast-lexer.cc" - { RETURN_OPCODE0(LocalGet); } -#line 7897 "src/prebuilt/wast-lexer-gen.cc" -yy1390: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 268 "src/wast-lexer.cc" - { RETURN_OPCODE0(LocalSet); } -#line 7905 "src/prebuilt/wast-lexer-gen.cc" -yy1392: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 269 "src/wast-lexer.cc" - { RETURN_OPCODE0(LocalTee); } -#line 7913 "src/prebuilt/wast-lexer-gen.cc" -yy1394: - yych = *++cursor_; - if (yych == 'p') goto yy1565; - goto yy87; -yy1395: - yych = *++cursor_; - if (yych == 'l') goto yy1566; - goto yy87; -yy1396: - yych = *++cursor_; - if (yych == 'o') goto yy1567; - goto yy87; -yy1397: - yych = *++cursor_; - if (yych == 'i') goto yy1568; - goto yy87; -yy1398: - yych = *++cursor_; - if (yych == 'z') goto yy1569; - goto yy87; -yy1399: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= ')') { - if (yych <= '!') { - if (yych <= ' ') goto yy88; - goto yy86; - } else { - if (yych <= '"') goto yy88; - if (yych <= '\'') goto yy86; - goto yy88; - } - } else { - if (yych <= ':') { - if (yych <= '/') goto yy86; - if (yych <= '9') goto yy1143; - goto yy86; - } else { - if (yych <= ';') goto yy88; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy1400: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= '9') { - if (yych <= '"') { - if (yych == '!') goto yy86; - goto yy88; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy88; - if (yych <= '/') goto yy86; - goto yy1570; - } - } else { - if (yych <= 'F') { - if (yych == ';') goto yy88; - if (yych <= '@') goto yy86; - goto yy1570; - } else { - if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy1570; - if (yych <= '~') goto yy86; - goto yy88; - } - } -yy1401: - yych = *++cursor_; - if (yych == 'l') goto yy1572; - goto yy87; -yy1402: - yych = *++cursor_; - if (yych == 'l') goto yy1573; - goto yy87; -yy1403: - yych = *++cursor_; - if (yych == 'l') goto yy1574; - goto yy87; -yy1404: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 669 "src/wast-lexer.cc" - { RETURN_OPCODE0(LocalSet); } -#line 8003 "src/prebuilt/wast-lexer-gen.cc" -yy1406: - yych = *++cursor_; - if (yych == 'y') goto yy1576; - goto yy87; -yy1407: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 450 "src/wast-lexer.cc" - { RETURN_OPCODE0(TableGet); } -#line 8015 "src/prebuilt/wast-lexer-gen.cc" -yy1409: - yych = *++cursor_; - if (yych == 'w') goto yy1578; - goto yy87; -yy1410: - yych = *++cursor_; - if (yych == 't') goto yy1580; - goto yy87; -yy1411: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 451 "src/wast-lexer.cc" - { RETURN_OPCODE0(TableSet); } -#line 8031 "src/prebuilt/wast-lexer-gen.cc" -yy1413: - yych = *++cursor_; - if (yych == 'e') goto yy1582; - goto yy87; -yy1414: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 670 "src/wast-lexer.cc" - { RETURN_OPCODE0(LocalTee); } -#line 8043 "src/prebuilt/wast-lexer-gen.cc" -yy1416: - yych = *++cursor_; - if (yych == 'l') goto yy1584; - goto yy87; -yy1417: - yych = *++cursor_; - if (yych == 'e') goto yy1585; - goto yy87; -yy1418: - yych = *++cursor_; - if (yych == 't') goto yy1586; - goto yy87; -yy1419: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 524 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, V128Load); } -#line 8063 "src/prebuilt/wast-lexer-gen.cc" -yy1421: - yych = *++cursor_; - if (yych == 'e') goto yy1588; - goto yy87; -yy1422: - yych = *++cursor_; - if (yych == 'f') goto yy1590; - goto yy87; -yy1423: - yych = *++cursor_; - if (yych == 'a') goto yy1591; - goto yy87; -yy1424: - yych = *++cursor_; - if (yych == 'a') goto yy1592; - goto yy87; -yy1425: - yych = *++cursor_; - if (yych == 'f') goto yy1593; - goto yy87; -yy1426: - yych = *++cursor_; - if (yych == 'u') goto yy1594; - goto yy87; -yy1427: - yych = *++cursor_; - if (yych == 'p') goto yy1595; - goto yy87; -yy1428: - yych = *++cursor_; - if (yych == 'i') goto yy1597; - goto yy87; -yy1429: - yych = *++cursor_; - if (yych == 'i') goto yy1598; - goto yy87; -yy1430: - yych = *++cursor_; - if (yych == 'e') goto yy1599; - goto yy87; -yy1431: - yych = *++cursor_; - if (yych == 'm') goto yy1600; - goto yy87; -yy1432: - yych = *++cursor_; - if (yych == 't') goto yy1601; - goto yy87; -yy1433: - yych = *++cursor_; - if (yych == 'g') goto yy1602; - goto yy87; -yy1434: - yych = *++cursor_; - if (yych == '/') goto yy1603; - if (yych == '_') goto yy1604; - goto yy87; -yy1435: - yych = *++cursor_; - if (yych == 't') goto yy1605; - goto yy87; -yy1436: - yych = *++cursor_; - if (yych == 'r') goto yy1607; - goto yy87; -yy1437: - yych = *++cursor_; - if (yych == 'e') goto yy1608; - goto yy87; -yy1438: - yych = *++cursor_; - if (yych == 'a') goto yy1609; - goto yy87; -yy1439: - yych = *++cursor_; - if (yych == 'a') goto yy1610; - goto yy87; -yy1440: - yych = *++cursor_; - if (yych == 't') goto yy1611; - goto yy87; -yy1441: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 653 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32X4Sqrt); } -#line 8152 "src/prebuilt/wast-lexer-gen.cc" -yy1443: - yych = *++cursor_; - if (yych == 't') goto yy1613; - goto yy87; -yy1444: - yych = *++cursor_; - if (yych == 'g') goto yy1614; - goto yy87; -yy1445: - yych = *++cursor_; - if (yych == 't') goto yy1615; - goto yy87; -yy1446: - yych = *++cursor_; - if (yych == 'e') goto yy1617; - goto yy87; -yy1447: - yych = *++cursor_; - if (yych == 'r') goto yy1618; - goto yy87; -yy1448: - yych = *++cursor_; - if (yych == 'e') goto yy1619; - goto yy87; -yy1449: - yych = *++cursor_; - if (yych == 'a') goto yy1620; - goto yy87; -yy1450: - yych = *++cursor_; - if (yych == 'a') goto yy1621; - goto yy87; -yy1451: - yych = *++cursor_; - if (yych == 't') goto yy1622; - goto yy87; -yy1452: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 654 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64X2Sqrt); } -#line 8196 "src/prebuilt/wast-lexer-gen.cc" -yy1454: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 671 "src/wast-lexer.cc" - { RETURN_OPCODE0(GlobalGet); } -#line 8204 "src/prebuilt/wast-lexer-gen.cc" -yy1456: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 270 "src/wast-lexer.cc" - { RETURN_OPCODE0(GlobalGet); } -#line 8212 "src/prebuilt/wast-lexer-gen.cc" -yy1458: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 271 "src/wast-lexer.cc" - { RETURN_OPCODE0(GlobalSet); } -#line 8220 "src/prebuilt/wast-lexer-gen.cc" -yy1460: - yych = *++cursor_; - if (yych == 'y') goto yy1624; - goto yy87; -yy1461: - yych = *++cursor_; - if (yych == 's') goto yy1626; - goto yy87; -yy1462: - yych = *++cursor_; - if (yych == 't') goto yy1627; - goto yy87; -yy1463: - yych = *++cursor_; - if (yych == 't') goto yy1628; - goto yy87; -yy1464: - yych = *++cursor_; - if (yych == 'a') goto yy1629; - goto yy87; -yy1465: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 631 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8GeS); } -#line 8248 "src/prebuilt/wast-lexer-gen.cc" -yy1467: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 632 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8GeU); } -#line 8256 "src/prebuilt/wast-lexer-gen.cc" -yy1469: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 623 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8GtS); } -#line 8264 "src/prebuilt/wast-lexer-gen.cc" -yy1471: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 624 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8GtU); } -#line 8272 "src/prebuilt/wast-lexer-gen.cc" -yy1473: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 615 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8LeS); } -#line 8280 "src/prebuilt/wast-lexer-gen.cc" -yy1475: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 616 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8LeU); } -#line 8288 "src/prebuilt/wast-lexer-gen.cc" -yy1477: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 607 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8LtS); } -#line 8296 "src/prebuilt/wast-lexer-gen.cc" -yy1479: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 608 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I16X8LtU); } -#line 8304 "src/prebuilt/wast-lexer-gen.cc" -yy1481: - yych = *++cursor_; - if (yych == 'a') goto yy1630; - goto yy87; -yy1482: - yych = *++cursor_; - if (yych == 's') goto yy1631; - if (yych == 'u') goto yy1633; - goto yy87; -yy1483: - yych = *++cursor_; - if (yych == 't') goto yy1635; - goto yy87; -yy1484: - yych = *++cursor_; - if (yych == 's') goto yy1637; - goto yy87; -yy1485: - yych = *++cursor_; - if (yych == '.') goto yy1638; - goto yy87; -yy1486: - yych = *++cursor_; - if (yych == '1') goto yy1639; - if (yych == '8') goto yy1640; - goto yy87; -yy1487: - yych = *++cursor_; - if (yych == '_') goto yy1641; - goto yy87; -yy1488: - yych = *++cursor_; - if (yych == 's') goto yy1642; - if (yych == 'u') goto yy1644; - goto yy87; -yy1489: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 307 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32Popcnt); } -#line 8347 "src/prebuilt/wast-lexer-gen.cc" -yy1491: - yych = *++cursor_; - if (yych == 'r') goto yy1646; - goto yy87; -yy1492: - yych = *++cursor_; - if (yych == '6') goto yy1647; - goto yy87; -yy1493: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 290 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, I32Store8); } -#line 8363 "src/prebuilt/wast-lexer-gen.cc" -yy1495: - yych = *++cursor_; - if (yych <= 'r') { - if (yych == 'f') goto yy1649; - goto yy87; - } else { - if (yych <= 's') goto yy1650; - if (yych == 'u') goto yy1651; - goto yy87; - } -yy1496: - yych = *++cursor_; - if (yych == '6') goto yy1652; - goto yy87; -yy1497: - yych = *++cursor_; - if (yych == '6') goto yy1653; - goto yy87; -yy1498: - yych = *++cursor_; - if (yych == 't') goto yy1654; - goto yy87; -yy1499: - yych = *++cursor_; - if (yych == 't') goto yy1655; - goto yy87; -yy1500: - yych = *++cursor_; - if (yych == 'a') goto yy1656; - goto yy87; -yy1501: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 633 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4GeS); } -#line 8401 "src/prebuilt/wast-lexer-gen.cc" -yy1503: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 634 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4GeU); } -#line 8409 "src/prebuilt/wast-lexer-gen.cc" -yy1505: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 625 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4GtS); } -#line 8417 "src/prebuilt/wast-lexer-gen.cc" -yy1507: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 626 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4GtU); } -#line 8425 "src/prebuilt/wast-lexer-gen.cc" -yy1509: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 617 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4LeS); } -#line 8433 "src/prebuilt/wast-lexer-gen.cc" -yy1511: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 618 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4LeU); } -#line 8441 "src/prebuilt/wast-lexer-gen.cc" -yy1513: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 609 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4LtS); } -#line 8449 "src/prebuilt/wast-lexer-gen.cc" -yy1515: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 610 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I32X4LtU); } -#line 8457 "src/prebuilt/wast-lexer-gen.cc" -yy1517: - yych = *++cursor_; - if (yych == 'a') goto yy1657; - goto yy87; -yy1518: - yych = *++cursor_; - if (yych == 's') goto yy1658; - if (yych == 'u') goto yy1660; - goto yy87; -yy1519: - yych = *++cursor_; - if (yych == 't') goto yy1662; - goto yy87; -yy1520: - yych = *++cursor_; - if (yych == 'c') goto yy1664; - goto yy87; -yy1521: - yych = *++cursor_; - if (yych == '.') goto yy1665; - goto yy87; -yy1522: - yych = *++cursor_; - if (yych <= '3') { - if (yych == '1') goto yy1666; - if (yych <= '2') goto yy87; - goto yy1667; - } else { - if (yych <= '8') { - if (yych <= '7') goto yy87; - goto yy1668; - } else { - if (yych == '_') goto yy1669; - goto yy87; - } - } -yy1523: - yych = *++cursor_; - if (yych == '_') goto yy1670; - goto yy87; -yy1524: - yych = *++cursor_; - if (yych == '_') goto yy1671; - goto yy87; -yy1525: - yych = *++cursor_; - if (yych == 's') goto yy1672; - if (yych == 'u') goto yy1674; - goto yy87; -yy1526: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 308 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64Popcnt); } -#line 8514 "src/prebuilt/wast-lexer-gen.cc" -yy1528: - yych = *++cursor_; - if (yych == 'r') goto yy1676; - goto yy87; -yy1529: - yych = *++cursor_; - if (yych == '6') goto yy1677; - goto yy87; -yy1530: - yych = *++cursor_; - if (yych == '2') goto yy1679; - goto yy87; -yy1531: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 291 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, I64Store8); } -#line 8534 "src/prebuilt/wast-lexer-gen.cc" -yy1533: - yych = *++cursor_; - if (yych <= 'r') { - if (yych == 'f') goto yy1681; - goto yy87; - } else { - if (yych <= 's') goto yy1682; - if (yych == 'u') goto yy1683; - goto yy87; - } -yy1534: - yych = *++cursor_; - if (yych == 't') goto yy1684; - goto yy87; -yy1535: - yych = *++cursor_; - if (yych == 't') goto yy1685; - goto yy87; -yy1536: - yych = *++cursor_; - if (yych == 'a') goto yy1686; - goto yy87; -yy1537: - yych = *++cursor_; - if (yych == 'a') goto yy1687; - goto yy87; -yy1538: - yych = *++cursor_; - if (yych == 's') goto yy1688; - if (yych == 'u') goto yy1690; - goto yy87; -yy1539: - yych = *++cursor_; - if (yych == 't') goto yy1692; - goto yy87; -yy1540: - yych = *++cursor_; - if (yych == 'c') goto yy1694; - goto yy87; -yy1541: - yych = *++cursor_; - if (yych == 's') goto yy1695; - goto yy87; -yy1542: - yych = *++cursor_; - if (yych == 't') goto yy1696; - goto yy87; -yy1543: - yych = *++cursor_; - if (yych == 't') goto yy1697; - goto yy87; -yy1544: - yych = *++cursor_; - if (yych == 'a') goto yy1698; - goto yy87; -yy1545: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 629 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16GeS); } -#line 8597 "src/prebuilt/wast-lexer-gen.cc" -yy1547: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 630 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16GeU); } -#line 8605 "src/prebuilt/wast-lexer-gen.cc" -yy1549: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 621 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16GtS); } -#line 8613 "src/prebuilt/wast-lexer-gen.cc" -yy1551: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 622 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16GtU); } -#line 8621 "src/prebuilt/wast-lexer-gen.cc" -yy1553: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 613 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16LeS); } -#line 8629 "src/prebuilt/wast-lexer-gen.cc" -yy1555: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 614 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16LeU); } -#line 8637 "src/prebuilt/wast-lexer-gen.cc" -yy1557: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 605 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16LtS); } -#line 8645 "src/prebuilt/wast-lexer-gen.cc" -yy1559: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 606 "src/wast-lexer.cc" - { RETURN_OPCODE(Compare, I8X16LtU); } -#line 8653 "src/prebuilt/wast-lexer-gen.cc" -yy1561: - yych = *++cursor_; - if (yych == 'a') goto yy1699; - goto yy87; -yy1562: - yych = *++cursor_; - if (yych == 's') goto yy1700; - if (yych == 'u') goto yy1702; - goto yy87; -yy1563: - yych = *++cursor_; - if (yych == 't') goto yy1704; - goto yy87; -yy1564: - yych = *++cursor_; - if (yych == 's') goto yy1706; - goto yy87; -yy1565: - yych = *++cursor_; - if (yych == 'y') goto yy1707; - goto yy87; -yy1566: - yych = *++cursor_; - if (yych == 'l') goto yy1709; - goto yy87; -yy1567: - yych = *++cursor_; - if (yych == 'w') goto yy1711; - goto yy87; -yy1568: - yych = *++cursor_; - if (yych == 't') goto yy1713; - goto yy87; -yy1569: - yych = *++cursor_; - if (yych == 'e') goto yy1715; - goto yy87; -yy1570: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= ':') { - if (yych <= '\'') { - if (yych == '!') goto yy86; - if (yych <= '"') goto yy1142; - goto yy86; - } else { - if (yych <= ')') goto yy1142; - if (yych <= '/') goto yy86; - if (yych <= '9') goto yy1570; - goto yy86; - } - } else { - if (yych <= '^') { - if (yych <= ';') goto yy1142; - if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy1570; - goto yy86; - } else { - if (yych <= '`') { - if (yych <= '_') goto yy1400; - goto yy86; - } else { - if (yych <= 'f') goto yy1570; - if (yych <= '~') goto yy86; - goto yy1142; - } - } - } -yy1572: - yych = *++cursor_; - if (yych == 'l') goto yy1717; - goto yy87; -yy1573: - yych = *++cursor_; - if (yych == 'l') goto yy1719; - goto yy87; -yy1574: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 672 "src/wast-lexer.cc" - { RETURN_OPCODE0(GlobalSet); } -#line 8738 "src/prebuilt/wast-lexer-gen.cc" -yy1576: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 449 "src/wast-lexer.cc" - { RETURN_OPCODE0(TableCopy); } -#line 8746 "src/prebuilt/wast-lexer-gen.cc" -yy1578: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 452 "src/wast-lexer.cc" - { RETURN_OPCODE0(TableGrow); } -#line 8754 "src/prebuilt/wast-lexer-gen.cc" -yy1580: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 447 "src/wast-lexer.cc" - { RETURN_OPCODE0(TableInit); } -#line 8762 "src/prebuilt/wast-lexer-gen.cc" -yy1582: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 453 "src/wast-lexer.cc" - { RETURN_OPCODE0(TableSize); } -#line 8770 "src/prebuilt/wast-lexer-gen.cc" -yy1584: - yych = *++cursor_; - if (yych == 'e') goto yy1721; - goto yy87; -yy1585: - yych = *++cursor_; - if (yych == 'l') goto yy1723; - goto yy87; -yy1586: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 523 "src/wast-lexer.cc" - { RETURN_OPCODE(Const, V128Const); } -#line 8786 "src/prebuilt/wast-lexer-gen.cc" -yy1588: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 525 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, V128Store); } -#line 8794 "src/prebuilt/wast-lexer-gen.cc" -yy1590: - yych = *++cursor_; - if (yych == 'f') goto yy1724; - goto yy87; -yy1591: - yych = *++cursor_; - if (yych == 'u') goto yy1725; - goto yy87; -yy1592: - yych = *++cursor_; - if (yych == 'l') goto yy1726; - goto yy87; -yy1593: - yych = *++cursor_; - if (yych == 'o') goto yy1727; - goto yy87; -yy1594: - yych = *++cursor_; - if (yych == 'r') goto yy1728; - goto yy87; -yy1595: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 735 "src/wast-lexer.cc" - { RETURN(AssertTrap); } -#line 8822 "src/prebuilt/wast-lexer-gen.cc" -yy1597: - yych = *++cursor_; - if (yych == 'n') goto yy1729; - goto yy87; -yy1598: - yych = *++cursor_; - if (yych == 'f') goto yy1730; - goto yy87; -yy1599: - yych = *++cursor_; - if (yych == 'c') goto yy1731; - goto yy87; -yy1600: - yych = *++cursor_; - if (yych == 'o') goto yy1732; - goto yy87; -yy1601: - yych = *++cursor_; - if (yych == '_') goto yy1733; - goto yy87; -yy1602: - yych = *++cursor_; - if (yych == 'n') goto yy1734; - goto yy87; -yy1603: - yych = *++cursor_; - if (yych == 'f') goto yy1736; - goto yy87; -yy1604: - yych = *++cursor_; - if (yych == 'f') goto yy1737; - goto yy87; -yy1605: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 321 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32Nearest); } -#line 8862 "src/prebuilt/wast-lexer-gen.cc" -yy1607: - yych = *++cursor_; - if (yych == 'p') goto yy1738; - goto yy87; -yy1608: - yych = *++cursor_; - if (yych == 'r') goto yy1739; - goto yy87; -yy1609: - yych = *++cursor_; - if (yych == 'c') goto yy1740; - goto yy87; -yy1610: - yych = *++cursor_; - if (yych == 'c') goto yy1741; - goto yy87; -yy1611: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 530 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32X4Splat); } -#line 8886 "src/prebuilt/wast-lexer-gen.cc" -yy1613: - yych = *++cursor_; - if (yych == '_') goto yy1742; - goto yy87; -yy1614: - yych = *++cursor_; - if (yych == 'n') goto yy1743; - goto yy87; -yy1615: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 322 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64Nearest); } -#line 8902 "src/prebuilt/wast-lexer-gen.cc" -yy1617: - yych = *++cursor_; - if (yych == '/') goto yy1745; - if (yych == '_') goto yy1746; - goto yy87; -yy1618: - yych = *++cursor_; - if (yych == 'p') goto yy1747; - goto yy87; -yy1619: - yych = *++cursor_; - if (yych == 'r') goto yy1748; - goto yy87; -yy1620: - yych = *++cursor_; - if (yych == 'c') goto yy1749; - goto yy87; -yy1621: - yych = *++cursor_; - if (yych == 'c') goto yy1750; - goto yy87; -yy1622: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 531 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64X2Splat); } -#line 8931 "src/prebuilt/wast-lexer-gen.cc" -yy1624: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 446 "src/wast-lexer.cc" - { RETURN_OPCODE0(MemoryGrow); } -#line 8939 "src/prebuilt/wast-lexer-gen.cc" -yy1626: - yych = *++cursor_; - if (yych == 'a') goto yy1751; - goto yy87; -yy1627: - yych = *++cursor_; - if (yych == 'r') goto yy1752; - goto yy87; -yy1628: - yych = *++cursor_; - if (yych == 'r') goto yy1753; - goto yy87; -yy1629: - yych = *++cursor_; - if (yych == 'c') goto yy1754; - goto yy87; -yy1630: - yych = *++cursor_; - if (yych == 'c') goto yy1755; - goto yy87; -yy1631: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 576 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8ShrS); } -#line 8967 "src/prebuilt/wast-lexer-gen.cc" -yy1633: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 577 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8ShrU); } -#line 8975 "src/prebuilt/wast-lexer-gen.cc" -yy1635: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 527 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I16X8Splat); } -#line 8983 "src/prebuilt/wast-lexer-gen.cc" -yy1637: - yych = *++cursor_; - if (yych == 'a') goto yy1756; - goto yy87; -yy1638: - yych = *++cursor_; - if (yych <= 'r') { - if (yych == 'l') goto yy1757; - if (yych <= 'q') goto yy87; - goto yy1758; - } else { - if (yych <= 's') goto yy1759; - if (yych == 'w') goto yy1760; - goto yy87; - } -yy1639: - yych = *++cursor_; - if (yych == '6') goto yy1761; - goto yy87; -yy1640: - yych = *++cursor_; - if (yych == '_') goto yy1762; - goto yy87; -yy1641: - yych = *++cursor_; - if (yych == 's') goto yy1763; - if (yych == 'u') goto yy1765; - goto yy87; -yy1642: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 280 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I32Load8S); } -#line 9019 "src/prebuilt/wast-lexer-gen.cc" -yy1644: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 282 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I32Load8U); } -#line 9027 "src/prebuilt/wast-lexer-gen.cc" -yy1646: - yych = *++cursor_; - if (yych == 'p') goto yy1767; - goto yy87; -yy1647: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 292 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, I32Store16); } -#line 9039 "src/prebuilt/wast-lexer-gen.cc" -yy1649: - yych = *++cursor_; - if (yych == '3') goto yy1768; - if (yych == '6') goto yy1769; - goto yy87; -yy1650: - yych = *++cursor_; - if (yych <= '9') { - if (yych == '/') goto yy1770; - goto yy87; - } else { - if (yych <= ':') goto yy1771; - if (yych == 'a') goto yy1772; - goto yy87; - } -yy1651: - yych = *++cursor_; - if (yych == '/') goto yy1773; - if (yych == ':') goto yy1774; - goto yy87; -yy1652: - yych = *++cursor_; - if (yych == '4') goto yy1775; - goto yy87; -yy1653: - yych = *++cursor_; - if (yych == '4') goto yy1777; - goto yy87; -yy1654: - yych = *++cursor_; - if (yych == 'r') goto yy1779; - goto yy87; -yy1655: - yych = *++cursor_; - if (yych == 'r') goto yy1780; - goto yy87; -yy1656: - yych = *++cursor_; - if (yych == 'c') goto yy1781; - goto yy87; -yy1657: - yych = *++cursor_; - if (yych == 'c') goto yy1782; - goto yy87; -yy1658: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 578 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32X4ShrS); } -#line 9091 "src/prebuilt/wast-lexer-gen.cc" -yy1660: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 579 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I32X4ShrU); } -#line 9099 "src/prebuilt/wast-lexer-gen.cc" -yy1662: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 528 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32X4Splat); } -#line 9107 "src/prebuilt/wast-lexer-gen.cc" -yy1664: - yych = *++cursor_; - if (yych == '_') goto yy1783; - goto yy87; -yy1665: - yych = *++cursor_; - if (yych <= 'r') { - if (yych == 'l') goto yy1784; - if (yych <= 'q') goto yy87; - goto yy1785; - } else { - if (yych <= 's') goto yy1786; - if (yych == 'w') goto yy1787; - goto yy87; - } -yy1666: - yych = *++cursor_; - if (yych == '6') goto yy1788; - goto yy87; -yy1667: - yych = *++cursor_; - if (yych == '2') goto yy1789; - goto yy87; -yy1668: - yych = *++cursor_; - if (yych == '_') goto yy1790; - goto yy87; -yy1669: - yych = *++cursor_; - if (yych <= 'r') { - if (yych == 'i') goto yy1791; - goto yy87; - } else { - if (yych <= 's') goto yy1792; - if (yych == 'u') goto yy1793; - goto yy87; - } -yy1670: - yych = *++cursor_; - if (yych == 's') goto yy1794; - if (yych == 'u') goto yy1796; - goto yy87; -yy1671: - yych = *++cursor_; - if (yych == 's') goto yy1798; - if (yych == 'u') goto yy1800; - goto yy87; -yy1672: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 281 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I64Load8S); } -#line 9162 "src/prebuilt/wast-lexer-gen.cc" -yy1674: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 283 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I64Load8U); } -#line 9170 "src/prebuilt/wast-lexer-gen.cc" -yy1676: - yych = *++cursor_; - if (yych == 'p') goto yy1802; - goto yy87; -yy1677: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 293 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, I64Store16); } -#line 9182 "src/prebuilt/wast-lexer-gen.cc" -yy1679: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 294 "src/wast-lexer.cc" - { RETURN_OPCODE(Store, I64Store32); } -#line 9190 "src/prebuilt/wast-lexer-gen.cc" -yy1681: - yych = *++cursor_; - if (yych == '3') goto yy1803; - if (yych == '6') goto yy1804; - goto yy87; -yy1682: - yych = *++cursor_; - if (yych <= '9') { - if (yych == '/') goto yy1805; - goto yy87; - } else { - if (yych <= ':') goto yy1806; - if (yych == 'a') goto yy1807; - goto yy87; - } -yy1683: - yych = *++cursor_; - if (yych == '/') goto yy1808; - if (yych == ':') goto yy1809; - goto yy87; -yy1684: - yych = *++cursor_; - if (yych == 'r') goto yy1810; - goto yy87; -yy1685: - yych = *++cursor_; - if (yych == 'r') goto yy1811; - goto yy87; -yy1686: - yych = *++cursor_; - if (yych == 'c') goto yy1812; - goto yy87; -yy1687: - yych = *++cursor_; - if (yych == 'c') goto yy1813; - goto yy87; -yy1688: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 580 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64X2ShrS); } -#line 9234 "src/prebuilt/wast-lexer-gen.cc" -yy1690: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 581 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I64X2ShrU); } -#line 9242 "src/prebuilt/wast-lexer-gen.cc" -yy1692: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 529 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64X2Splat); } -#line 9250 "src/prebuilt/wast-lexer-gen.cc" -yy1694: - yych = *++cursor_; - if (yych == '_') goto yy1814; - goto yy87; -yy1695: - yych = *++cursor_; - if (yych == 'a') goto yy1815; - goto yy87; -yy1696: - yych = *++cursor_; - if (yych == 'r') goto yy1816; - goto yy87; -yy1697: - yych = *++cursor_; - if (yych == 'r') goto yy1817; - goto yy87; -yy1698: - yych = *++cursor_; - if (yych == 'c') goto yy1818; - goto yy87; -yy1699: - yych = *++cursor_; - if (yych == 'c') goto yy1819; - goto yy87; -yy1700: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 574 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16ShrS); } -#line 9282 "src/prebuilt/wast-lexer-gen.cc" -yy1702: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 575 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16ShrU); } -#line 9290 "src/prebuilt/wast-lexer-gen.cc" -yy1704: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 526 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I8X16Splat); } -#line 9298 "src/prebuilt/wast-lexer-gen.cc" -yy1706: - yych = *++cursor_; - if (yych == 'a') goto yy1820; - goto yy87; -yy1707: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 443 "src/wast-lexer.cc" - { RETURN_OPCODE0(MemoryCopy); } -#line 9310 "src/prebuilt/wast-lexer-gen.cc" -yy1709: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 444 "src/wast-lexer.cc" - { RETURN_OPCODE0(MemoryFill); } -#line 9318 "src/prebuilt/wast-lexer-gen.cc" -yy1711: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 440 "src/wast-lexer.cc" - { RETURN_OPCODE0(MemoryGrow); } -#line 9326 "src/prebuilt/wast-lexer-gen.cc" -yy1713: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 441 "src/wast-lexer.cc" - { RETURN_OPCODE0(MemoryInit); } -#line 9334 "src/prebuilt/wast-lexer-gen.cc" -yy1715: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 439 "src/wast-lexer.cc" - { RETURN_OPCODE0(MemorySize); } -#line 9342 "src/prebuilt/wast-lexer-gen.cc" -yy1717: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 455 "src/wast-lexer.cc" - { RETURN_OPCODE0(RefIsNull); } -#line 9350 "src/prebuilt/wast-lexer-gen.cc" -yy1719: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy1720; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy1821; - if (yych <= '~') goto yy86; - } - } -yy1720: -#line 663 "src/wast-lexer.cc" - { RETURN_OPCODE0(ReturnCall); } -#line 9371 "src/prebuilt/wast-lexer-gen.cc" -yy1721: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 438 "src/wast-lexer.cc" - { RETURN_OPCODE0(Unreachable); } -#line 9379 "src/prebuilt/wast-lexer-gen.cc" -yy1723: - yych = *++cursor_; - if (yych == 'e') goto yy1822; - goto yy87; -yy1724: - yych = *++cursor_; - if (yych == 'l') goto yy1823; - goto yy87; -yy1725: - yych = *++cursor_; - if (yych == 's') goto yy1824; - goto yy87; -yy1726: - yych = *++cursor_; - if (yych == 'i') goto yy1825; - goto yy87; -yy1727: - yych = *++cursor_; - if (yych == 'r') goto yy1826; - goto yy87; -yy1728: - yych = *++cursor_; - if (yych == 'n') goto yy1827; - goto yy87; -yy1729: - yych = *++cursor_; - if (yych == 'k') goto yy1829; - goto yy87; -yy1730: - yych = *++cursor_; - if (yych == 'y') goto yy1830; - goto yy87; -yy1731: - yych = *++cursor_; - if (yych == 't') goto yy1832; - goto yy87; -yy1732: - yych = *++cursor_; - if (yych == 'r') goto yy1834; - goto yy87; -yy1733: - yych = *++cursor_; - if (yych <= 'r') { - if (yych == 'i') goto yy1835; - goto yy87; - } else { - if (yych <= 's') goto yy1836; - if (yych == 'u') goto yy1837; - goto yy87; - } -yy1734: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 370 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F32Copysign); } -#line 9437 "src/prebuilt/wast-lexer-gen.cc" -yy1736: - yych = *++cursor_; - if (yych == '6') goto yy1838; - goto yy87; -yy1737: - yych = *++cursor_; - if (yych == '6') goto yy1839; - goto yy87; -yy1738: - yych = *++cursor_; - if (yych == 'r') goto yy1840; - goto yy87; -yy1739: - yych = *++cursor_; - if (yych == 't') goto yy1841; - goto yy87; -yy1740: - yych = *++cursor_; - if (yych == 't') goto yy1842; - goto yy87; -yy1741: - yych = *++cursor_; - if (yych == 'e') goto yy1843; - goto yy87; -yy1742: - yych = *++cursor_; - if (yych <= 'r') { - if (yych == 'i') goto yy1844; - goto yy87; - } else { - if (yych <= 's') goto yy1845; - if (yych == 'u') goto yy1846; - goto yy87; - } -yy1743: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 371 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, F64Copysign); } -#line 9479 "src/prebuilt/wast-lexer-gen.cc" -yy1745: - yych = *++cursor_; - if (yych == 'f') goto yy1847; - goto yy87; -yy1746: - yych = *++cursor_; - if (yych == 'f') goto yy1848; - goto yy87; -yy1747: - yych = *++cursor_; - if (yych == 'r') goto yy1849; - goto yy87; -yy1748: - yych = *++cursor_; - if (yych == 't') goto yy1850; - goto yy87; -yy1749: - yych = *++cursor_; - if (yych == 't') goto yy1851; - goto yy87; -yy1750: - yych = *++cursor_; - if (yych == 'e') goto yy1852; - goto yy87; -yy1751: - yych = *++cursor_; - if (yych == 't') goto yy1853; - goto yy87; -yy1752: - yych = *++cursor_; - if (yych == 'u') goto yy1854; - goto yy87; -yy1753: - yych = *++cursor_; - if (yych == 'u') goto yy1855; - goto yy87; -yy1754: - yych = *++cursor_; - if (yych == 't') goto yy1856; - goto yy87; -yy1755: - yych = *++cursor_; - if (yych == 'e') goto yy1857; - goto yy87; -yy1756: - yych = *++cursor_; - if (yych == 't') goto yy1858; - goto yy87; -yy1757: - yych = *++cursor_; - if (yych == 'o') goto yy1859; - goto yy87; -yy1758: - yych = *++cursor_; - if (yych == 'm') goto yy1860; - goto yy87; -yy1759: - yych = *++cursor_; - if (yych == 't') goto yy1861; - goto yy87; -yy1760: - yych = *++cursor_; - if (yych == 'a') goto yy1862; - goto yy87; -yy1761: - yych = *++cursor_; - if (yych == '_') goto yy1863; - goto yy87; -yy1762: - yych = *++cursor_; - if (yych == 's') goto yy1864; - goto yy87; -yy1763: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 284 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I32Load16S); } -#line 9559 "src/prebuilt/wast-lexer-gen.cc" -yy1765: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 286 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I32Load16U); } -#line 9567 "src/prebuilt/wast-lexer-gen.cc" -yy1767: - yych = *++cursor_; - if (yych == 'r') goto yy1866; - goto yy87; -yy1768: - yych = *++cursor_; - if (yych == '2') goto yy1867; - goto yy87; -yy1769: - yych = *++cursor_; - if (yych == '4') goto yy1868; - goto yy87; -yy1770: - yych = *++cursor_; - if (yych == 'f') goto yy1869; - goto yy87; -yy1771: - yych = *++cursor_; - if (yych == 's') goto yy1870; - goto yy87; -yy1772: - yych = *++cursor_; - if (yych == 't') goto yy1871; - goto yy87; -yy1773: - yych = *++cursor_; - if (yych == 'f') goto yy1872; - goto yy87; -yy1774: - yych = *++cursor_; - if (yych == 's') goto yy1873; - goto yy87; -yy1775: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 675 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32WrapI64); } -#line 9607 "src/prebuilt/wast-lexer-gen.cc" -yy1777: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 406 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32WrapI64); } -#line 9615 "src/prebuilt/wast-lexer-gen.cc" -yy1779: - yych = *++cursor_; - if (yych == 'u') goto yy1874; - goto yy87; -yy1780: - yych = *++cursor_; - if (yych == 'u') goto yy1875; - goto yy87; -yy1781: - yych = *++cursor_; - if (yych == 't') goto yy1876; - goto yy87; -yy1782: - yych = *++cursor_; - if (yych == 'e') goto yy1877; - goto yy87; -yy1783: - yych = *++cursor_; - if (yych == 's') goto yy1878; - goto yy87; -yy1784: - yych = *++cursor_; - if (yych == 'o') goto yy1879; - goto yy87; -yy1785: - yych = *++cursor_; - if (yych == 'm') goto yy1880; - goto yy87; -yy1786: - yych = *++cursor_; - if (yych == 't') goto yy1881; - goto yy87; -yy1787: - yych = *++cursor_; - if (yych == 'a') goto yy1882; - goto yy87; -yy1788: - yych = *++cursor_; - if (yych == '_') goto yy1883; - goto yy87; -yy1789: - yych = *++cursor_; - if (yych == '_') goto yy1884; - goto yy87; -yy1790: - yych = *++cursor_; - if (yych == 's') goto yy1885; - goto yy87; -yy1791: - yych = *++cursor_; - if (yych == '3') goto yy1887; - goto yy87; -yy1792: - yych = *++cursor_; - if (yych == '/') goto yy1888; - goto yy87; -yy1793: - yych = *++cursor_; - if (yych == '/') goto yy1889; - goto yy87; -yy1794: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 285 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I64Load16S); } -#line 9683 "src/prebuilt/wast-lexer-gen.cc" -yy1796: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 287 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I64Load16U); } -#line 9691 "src/prebuilt/wast-lexer-gen.cc" -yy1798: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 288 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I64Load32S); } -#line 9699 "src/prebuilt/wast-lexer-gen.cc" -yy1800: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 289 "src/wast-lexer.cc" - { RETURN_OPCODE(Load, I64Load32U); } -#line 9707 "src/prebuilt/wast-lexer-gen.cc" -yy1802: - yych = *++cursor_; - if (yych == 'r') goto yy1890; - goto yy87; -yy1803: - yych = *++cursor_; - if (yych == '2') goto yy1891; - goto yy87; -yy1804: - yych = *++cursor_; - if (yych == '4') goto yy1892; - goto yy87; -yy1805: - yych = *++cursor_; - if (yych == 'f') goto yy1893; - goto yy87; -yy1806: - yych = *++cursor_; - if (yych == 's') goto yy1894; - goto yy87; -yy1807: - yych = *++cursor_; - if (yych == 't') goto yy1895; - goto yy87; -yy1808: - yych = *++cursor_; - if (yych == 'f') goto yy1896; - goto yy87; -yy1809: - yych = *++cursor_; - if (yych == 's') goto yy1897; - goto yy87; -yy1810: - yych = *++cursor_; - if (yych == 'u') goto yy1898; - goto yy87; -yy1811: - yych = *++cursor_; - if (yych == 'u') goto yy1899; - goto yy87; -yy1812: - yych = *++cursor_; - if (yych == 't') goto yy1900; - goto yy87; -yy1813: - yych = *++cursor_; - if (yych == 'e') goto yy1901; - goto yy87; -yy1814: - yych = *++cursor_; - if (yych == 's') goto yy1902; - goto yy87; -yy1815: - yych = *++cursor_; - if (yych == 't') goto yy1903; - goto yy87; -yy1816: - yych = *++cursor_; - if (yych == 'u') goto yy1904; - goto yy87; -yy1817: - yych = *++cursor_; - if (yych == 'u') goto yy1905; - goto yy87; -yy1818: - yych = *++cursor_; - if (yych == 't') goto yy1906; - goto yy87; -yy1819: - yych = *++cursor_; - if (yych == 'e') goto yy1907; - goto yy87; -yy1820: - yych = *++cursor_; - if (yych == 't') goto yy1908; - goto yy87; -yy1821: - yych = *++cursor_; - if (yych == 'i') goto yy1909; - goto yy87; -yy1822: - yych = *++cursor_; - if (yych == 'c') goto yy1910; - goto yy87; -yy1823: - yych = *++cursor_; - if (yych == 'e') goto yy1911; - goto yy87; -yy1824: - yych = *++cursor_; - if (yych == 't') goto yy1913; - goto yy87; -yy1825: - yych = *++cursor_; - if (yych == 'd') goto yy1914; - goto yy87; -yy1826: - yych = *++cursor_; - if (yych == 'm') goto yy1916; - goto yy87; -yy1827: - ++cursor_; - if ((yych = *cursor_) <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy86; - } else { - if (yych <= '"') goto yy1828; - if (yych <= '\'') goto yy86; - } - } else { - if (yych <= '^') { - if (yych != ';') goto yy86; - } else { - if (yych <= '_') goto yy1917; - if (yych <= '~') goto yy86; - } - } -yy1828: -#line 732 "src/wast-lexer.cc" - { RETURN(AssertReturn); } -#line 9828 "src/prebuilt/wast-lexer-gen.cc" -yy1829: - yych = *++cursor_; - if (yych == 'a') goto yy1918; - goto yy87; -yy1830: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 459 "src/wast-lexer.cc" - { RETURN_OPCODE0(AtomicNotify); } -#line 9840 "src/prebuilt/wast-lexer-gen.cc" -yy1832: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 263 "src/wast-lexer.cc" - { RETURN_OPCODE0(CallIndirect); } -#line 9848 "src/prebuilt/wast-lexer-gen.cc" -yy1834: - yych = *++cursor_; - if (yych == 'y') goto yy1919; - goto yy87; -yy1835: - yych = *++cursor_; - if (yych == '3') goto yy1921; - if (yych == '6') goto yy1922; - goto yy87; -yy1836: - yych = *++cursor_; - if (yych == '/') goto yy1923; - goto yy87; -yy1837: - yych = *++cursor_; - if (yych == '/') goto yy1924; - goto yy87; -yy1838: - yych = *++cursor_; - if (yych == '4') goto yy1925; - goto yy87; -yy1839: - yych = *++cursor_; - if (yych == '4') goto yy1927; - goto yy87; -yy1840: - yych = *++cursor_; - if (yych == 'e') goto yy1929; - goto yy87; -yy1841: - yych = *++cursor_; - if (yych == '_') goto yy1930; - goto yy87; -yy1842: - yych = *++cursor_; - if (yych == '_') goto yy1931; - goto yy87; -yy1843: - yych = *++cursor_; - if (yych == '_') goto yy1932; - goto yy87; -yy1844: - yych = *++cursor_; - if (yych == '3') goto yy1933; - if (yych == '6') goto yy1934; - goto yy87; -yy1845: - yych = *++cursor_; - if (yych == '/') goto yy1935; - goto yy87; -yy1846: - yych = *++cursor_; - if (yych == '/') goto yy1936; - goto yy87; -yy1847: - yych = *++cursor_; - if (yych == '3') goto yy1937; - goto yy87; -yy1848: - yych = *++cursor_; - if (yych == '3') goto yy1938; - goto yy87; -yy1849: - yych = *++cursor_; - if (yych == 'e') goto yy1939; - goto yy87; -yy1850: - yych = *++cursor_; - if (yych == '_') goto yy1940; - goto yy87; -yy1851: - yych = *++cursor_; - if (yych == '_') goto yy1941; - goto yy87; -yy1852: - yych = *++cursor_; - if (yych == '_') goto yy1942; - goto yy87; -yy1853: - yych = *++cursor_; - if (yych == 'u') goto yy1943; - goto yy87; -yy1854: - yych = *++cursor_; - if (yych == 'e') goto yy1944; - goto yy87; -yy1855: - yych = *++cursor_; - if (yych == 'e') goto yy1946; - goto yy87; -yy1856: - yych = *++cursor_; - if (yych == '_') goto yy1948; - goto yy87; -yy1857: - yych = *++cursor_; - if (yych == '_') goto yy1949; - goto yy87; -yy1858: - yych = *++cursor_; - if (yych == 'u') goto yy1950; - goto yy87; -yy1859: - yych = *++cursor_; - if (yych == 'a') goto yy1951; - goto yy87; -yy1860: - yych = *++cursor_; - if (yych == 'w') goto yy1952; - goto yy87; -yy1861: - yych = *++cursor_; - if (yych == 'o') goto yy1953; - goto yy87; -yy1862: - yych = *++cursor_; - if (yych == 'i') goto yy1954; - goto yy87; -yy1863: - yych = *++cursor_; - if (yych == 's') goto yy1955; - goto yy87; -yy1864: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 323 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32Extend8S); } -#line 9978 "src/prebuilt/wast-lexer-gen.cc" -yy1866: - yych = *++cursor_; - if (yych == 'e') goto yy1957; - goto yy87; -yy1867: - yych = *++cursor_; - if (yych == '_') goto yy1958; - goto yy87; -yy1868: - yych = *++cursor_; - if (yych == '_') goto yy1959; - goto yy87; -yy1869: - yych = *++cursor_; - if (yych == '3') goto yy1960; - if (yych == '6') goto yy1961; - goto yy87; -yy1870: - yych = *++cursor_; - if (yych == 'a') goto yy1962; - goto yy87; -yy1871: - yych = *++cursor_; - if (yych == '_') goto yy1963; - goto yy87; -yy1872: - yych = *++cursor_; - if (yych == '3') goto yy1964; - if (yych == '6') goto yy1965; - goto yy87; -yy1873: - yych = *++cursor_; - if (yych == 'a') goto yy1966; - goto yy87; -yy1874: - yych = *++cursor_; - if (yych == 'e') goto yy1967; - goto yy87; -yy1875: - yych = *++cursor_; - if (yych == 'e') goto yy1969; - goto yy87; -yy1876: - yych = *++cursor_; - if (yych == '_') goto yy1971; - goto yy87; -yy1877: - yych = *++cursor_; - if (yych == '_') goto yy1972; - goto yy87; -yy1878: - yych = *++cursor_; - if (yych == 'a') goto yy1973; - goto yy87; -yy1879: - yych = *++cursor_; - if (yych == 'a') goto yy1974; - goto yy87; -yy1880: - yych = *++cursor_; - if (yych == 'w') goto yy1975; - goto yy87; -yy1881: - yych = *++cursor_; - if (yych == 'o') goto yy1976; - goto yy87; -yy1882: - yych = *++cursor_; - if (yych == 'i') goto yy1977; - goto yy87; -yy1883: - yych = *++cursor_; - if (yych == 's') goto yy1978; - goto yy87; -yy1884: - yych = *++cursor_; - if (yych == 's') goto yy1980; - goto yy87; -yy1885: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 325 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64Extend8S); } -#line 10064 "src/prebuilt/wast-lexer-gen.cc" -yy1887: - yych = *++cursor_; - if (yych == '2') goto yy1982; - goto yy87; -yy1888: - yych = *++cursor_; - if (yych == 'i') goto yy1983; - goto yy87; -yy1889: - yych = *++cursor_; - if (yych == 'i') goto yy1984; - goto yy87; -yy1890: - yych = *++cursor_; - if (yych == 'e') goto yy1985; - goto yy87; -yy1891: - yych = *++cursor_; - if (yych == '_') goto yy1986; - goto yy87; -yy1892: - yych = *++cursor_; - if (yych == '_') goto yy1987; - goto yy87; -yy1893: - yych = *++cursor_; - if (yych == '3') goto yy1988; - if (yych == '6') goto yy1989; - goto yy87; -yy1894: - yych = *++cursor_; - if (yych == 'a') goto yy1990; - goto yy87; -yy1895: - yych = *++cursor_; - if (yych == '_') goto yy1991; - goto yy87; -yy1896: - yych = *++cursor_; - if (yych == '3') goto yy1992; - if (yych == '6') goto yy1993; - goto yy87; -yy1897: - yych = *++cursor_; - if (yych == 'a') goto yy1994; - goto yy87; -yy1898: - yych = *++cursor_; - if (yych == 'e') goto yy1995; - goto yy87; -yy1899: - yych = *++cursor_; - if (yych == 'e') goto yy1997; - goto yy87; -yy1900: - yych = *++cursor_; - if (yych == '_') goto yy1999; - goto yy87; -yy1901: - yych = *++cursor_; - if (yych == '_') goto yy2000; - goto yy87; -yy1902: - yych = *++cursor_; - if (yych == 'a') goto yy2001; - goto yy87; -yy1903: - yych = *++cursor_; - if (yych == 'u') goto yy2002; - goto yy87; -yy1904: - yych = *++cursor_; - if (yych == 'e') goto yy2003; - goto yy87; -yy1905: - yych = *++cursor_; - if (yych == 'e') goto yy2005; - goto yy87; -yy1906: - yych = *++cursor_; - if (yych == '_') goto yy2007; - goto yy87; -yy1907: - yych = *++cursor_; - if (yych == '_') goto yy2008; - goto yy87; -yy1908: - yych = *++cursor_; - if (yych == 'u') goto yy2009; - goto yy87; -yy1909: - yych = *++cursor_; - if (yych == 'n') goto yy2010; - goto yy87; -yy1910: - yych = *++cursor_; - if (yych == 't') goto yy2011; - goto yy87; -yy1911: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 546 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdShuffleOp, V8X16Shuffle); } -#line 10170 "src/prebuilt/wast-lexer-gen.cc" -yy1913: - yych = *++cursor_; - if (yych == 'i') goto yy2013; - goto yy87; -yy1914: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 730 "src/wast-lexer.cc" - { RETURN(AssertInvalid); } -#line 10182 "src/prebuilt/wast-lexer-gen.cc" -yy1916: - yych = *++cursor_; - if (yych == 'e') goto yy2014; - goto yy87; -yy1917: - yych = *++cursor_; - if (yych == 'a') goto yy2015; - if (yych == 'c') goto yy2016; - goto yy87; -yy1918: - yych = *++cursor_; - if (yych == 'b') goto yy2017; - goto yy87; -yy1919: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 445 "src/wast-lexer.cc" - { RETURN_OPCODE0(MemorySize); } -#line 10203 "src/prebuilt/wast-lexer-gen.cc" -yy1921: - yych = *++cursor_; - if (yych == '2') goto yy2018; - goto yy87; -yy1922: - yych = *++cursor_; - if (yych == '4') goto yy2019; - goto yy87; -yy1923: - yych = *++cursor_; - if (yych == 'i') goto yy2020; - goto yy87; -yy1924: - yych = *++cursor_; - if (yych == 'i') goto yy2021; - goto yy87; -yy1925: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 693 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32DemoteF64); } -#line 10227 "src/prebuilt/wast-lexer-gen.cc" -yy1927: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 432 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32DemoteF64); } -#line 10235 "src/prebuilt/wast-lexer-gen.cc" -yy1929: - yych = *++cursor_; - if (yych == 't') goto yy2022; - goto yy87; -yy1930: - yych = *++cursor_; - if (yych == 'i') goto yy2023; - goto yy87; -yy1931: - yych = *++cursor_; - if (yych == 'l') goto yy2024; - goto yy87; -yy1932: - yych = *++cursor_; - if (yych == 'l') goto yy2025; - goto yy87; -yy1933: - yych = *++cursor_; - if (yych == '2') goto yy2026; - goto yy87; -yy1934: - yych = *++cursor_; - if (yych == '4') goto yy2027; - goto yy87; -yy1935: - yych = *++cursor_; - if (yych == 'i') goto yy2028; - goto yy87; -yy1936: - yych = *++cursor_; - if (yych == 'i') goto yy2029; - goto yy87; -yy1937: - yych = *++cursor_; - if (yych == '2') goto yy2030; - goto yy87; -yy1938: - yych = *++cursor_; - if (yych == '2') goto yy2032; - goto yy87; -yy1939: - yych = *++cursor_; - if (yych == 't') goto yy2034; - goto yy87; -yy1940: - yych = *++cursor_; - if (yych == 'i') goto yy2035; - goto yy87; -yy1941: - yych = *++cursor_; - if (yych == 'l') goto yy2036; - goto yy87; -yy1942: - yych = *++cursor_; - if (yych == 'l') goto yy2037; - goto yy87; -yy1943: - yych = *++cursor_; - if (yych == 'r') goto yy2038; - goto yy87; -yy1944: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 592 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I16X8AllTrue); } -#line 10303 "src/prebuilt/wast-lexer-gen.cc" -yy1946: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 588 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I16X8AnyTrue); } -#line 10311 "src/prebuilt/wast-lexer-gen.cc" -yy1948: - yych = *++cursor_; - if (yych == 'l') goto yy2039; - goto yy87; -yy1949: - yych = *++cursor_; - if (yych == 'l') goto yy2040; - goto yy87; -yy1950: - yych = *++cursor_; - if (yych == 'r') goto yy2041; - goto yy87; -yy1951: - yych = *++cursor_; - if (yych == 'd') goto yy2042; - goto yy87; -yy1952: - yych = *++cursor_; - if (yych <= '0') { - if (yych == '.') goto yy2044; - goto yy87; - } else { - if (yych <= '1') goto yy2045; - if (yych == '8') goto yy2046; - goto yy87; - } -yy1953: - yych = *++cursor_; - if (yych == 'r') goto yy2047; - goto yy87; -yy1954: - yych = *++cursor_; - if (yych == 't') goto yy2048; - goto yy87; -yy1955: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 324 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32Extend16S); } -#line 10353 "src/prebuilt/wast-lexer-gen.cc" -yy1957: - yych = *++cursor_; - if (yych == 't') goto yy2050; - goto yy87; -yy1958: - yych = *++cursor_; - if (yych == 's') goto yy2051; - if (yych == 'u') goto yy2053; - goto yy87; -yy1959: - yych = *++cursor_; - if (yych == 's') goto yy2055; - if (yych == 'u') goto yy2057; - goto yy87; -yy1960: - yych = *++cursor_; - if (yych == '2') goto yy2059; - goto yy87; -yy1961: - yych = *++cursor_; - if (yych == '4') goto yy2061; - goto yy87; -yy1962: - yych = *++cursor_; - if (yych == 't') goto yy2063; - goto yy87; -yy1963: - yych = *++cursor_; - if (yych == 'f') goto yy2064; - goto yy87; -yy1964: - yych = *++cursor_; - if (yych == '2') goto yy2065; - goto yy87; -yy1965: - yych = *++cursor_; - if (yych == '4') goto yy2067; - goto yy87; -yy1966: - yych = *++cursor_; - if (yych == 't') goto yy2069; - goto yy87; -yy1967: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 593 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32X4AllTrue); } -#line 10403 "src/prebuilt/wast-lexer-gen.cc" -yy1969: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 589 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32X4AnyTrue); } -#line 10411 "src/prebuilt/wast-lexer-gen.cc" -yy1971: - yych = *++cursor_; - if (yych == 'l') goto yy2070; - goto yy87; -yy1972: - yych = *++cursor_; - if (yych == 'l') goto yy2071; - goto yy87; -yy1973: - yych = *++cursor_; - if (yych == 't') goto yy2072; - goto yy87; -yy1974: - yych = *++cursor_; - if (yych == 'd') goto yy2073; - goto yy87; -yy1975: - yych = *++cursor_; - switch (yych) { - case '.': goto yy2075; - case '1': goto yy2076; - case '3': goto yy2077; - case '8': goto yy2078; - default: goto yy87; - } -yy1976: - yych = *++cursor_; - if (yych == 'r') goto yy2079; - goto yy87; -yy1977: - yych = *++cursor_; - if (yych == 't') goto yy2080; - goto yy87; -yy1978: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 326 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64Extend16S); } -#line 10452 "src/prebuilt/wast-lexer-gen.cc" -yy1980: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 327 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64Extend32S); } -#line 10460 "src/prebuilt/wast-lexer-gen.cc" -yy1982: - yych = *++cursor_; - if (yych == '_') goto yy2082; - goto yy87; -yy1983: - yych = *++cursor_; - if (yych == '3') goto yy2083; - goto yy87; -yy1984: - yych = *++cursor_; - if (yych == '3') goto yy2084; - goto yy87; -yy1985: - yych = *++cursor_; - if (yych == 't') goto yy2085; - goto yy87; -yy1986: - yych = *++cursor_; - if (yych == 's') goto yy2086; - if (yych == 'u') goto yy2088; - goto yy87; -yy1987: - yych = *++cursor_; - if (yych == 's') goto yy2090; - if (yych == 'u') goto yy2092; - goto yy87; -yy1988: - yych = *++cursor_; - if (yych == '2') goto yy2094; - goto yy87; -yy1989: - yych = *++cursor_; - if (yych == '4') goto yy2096; - goto yy87; -yy1990: - yych = *++cursor_; - if (yych == 't') goto yy2098; - goto yy87; -yy1991: - yych = *++cursor_; - if (yych == 'f') goto yy2099; - goto yy87; -yy1992: - yych = *++cursor_; - if (yych == '2') goto yy2100; - goto yy87; -yy1993: - yych = *++cursor_; - if (yych == '4') goto yy2102; - goto yy87; -yy1994: - yych = *++cursor_; - if (yych == 't') goto yy2104; - goto yy87; -yy1995: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 594 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64X2AllTrue); } -#line 10522 "src/prebuilt/wast-lexer-gen.cc" -yy1997: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 590 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64X2AnyTrue); } -#line 10530 "src/prebuilt/wast-lexer-gen.cc" -yy1999: - yych = *++cursor_; - if (yych == 'l') goto yy2105; - goto yy87; -yy2000: - yych = *++cursor_; - if (yych == 'l') goto yy2106; - goto yy87; -yy2001: - yych = *++cursor_; - if (yych == 't') goto yy2107; - goto yy87; -yy2002: - yych = *++cursor_; - if (yych == 'r') goto yy2108; - goto yy87; -yy2003: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 591 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I8X16AllTrue); } -#line 10554 "src/prebuilt/wast-lexer-gen.cc" -yy2005: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 587 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I8X16AnyTrue); } -#line 10562 "src/prebuilt/wast-lexer-gen.cc" -yy2007: - yych = *++cursor_; - if (yych == 'l') goto yy2109; - goto yy87; -yy2008: - yych = *++cursor_; - if (yych == 'l') goto yy2110; - goto yy87; -yy2009: - yych = *++cursor_; - if (yych == 'r') goto yy2111; - goto yy87; -yy2010: - yych = *++cursor_; - if (yych == 'd') goto yy2112; - goto yy87; -yy2011: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 586 "src/wast-lexer.cc" - { RETURN_OPCODE(Ternary, V128BitSelect); } -#line 10586 "src/prebuilt/wast-lexer-gen.cc" -yy2013: - yych = *++cursor_; - if (yych == 'o') goto yy2113; - goto yy87; -yy2014: - yych = *++cursor_; - if (yych == 'd') goto yy2114; - goto yy87; -yy2015: - yych = *++cursor_; - if (yych == 'r') goto yy2116; - goto yy87; -yy2016: - yych = *++cursor_; - if (yych == 'a') goto yy2117; - goto yy87; -yy2017: - yych = *++cursor_; - if (yych == 'l') goto yy2118; - goto yy87; -yy2018: - yych = *++cursor_; - if (yych == '_') goto yy2119; - goto yy87; -yy2019: - yych = *++cursor_; - if (yych == '_') goto yy2120; - goto yy87; -yy2020: - yych = *++cursor_; - if (yych == '3') goto yy2121; - if (yych == '6') goto yy2122; - goto yy87; -yy2021: - yych = *++cursor_; - if (yych == '3') goto yy2123; - if (yych == '6') goto yy2124; - goto yy87; -yy2022: - yych = *++cursor_; - if (yych == '/') goto yy2125; - if (yych == '_') goto yy2126; - goto yy87; -yy2023: - yych = *++cursor_; - if (yych == '3') goto yy2127; - goto yy87; -yy2024: - yych = *++cursor_; - if (yych == 'a') goto yy2128; - goto yy87; -yy2025: - yych = *++cursor_; - if (yych == 'a') goto yy2129; - goto yy87; -yy2026: - yych = *++cursor_; - if (yych == '_') goto yy2130; - goto yy87; -yy2027: - yych = *++cursor_; - if (yych == '_') goto yy2131; - goto yy87; -yy2028: - yych = *++cursor_; - if (yych == '3') goto yy2132; - if (yych == '6') goto yy2133; - goto yy87; -yy2029: - yych = *++cursor_; - if (yych == '3') goto yy2134; - if (yych == '6') goto yy2135; - goto yy87; -yy2030: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 692 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64PromoteF32); } -#line 10667 "src/prebuilt/wast-lexer-gen.cc" -yy2032: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 431 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64PromoteF32); } -#line 10675 "src/prebuilt/wast-lexer-gen.cc" -yy2034: - yych = *++cursor_; - if (yych == '/') goto yy2136; - if (yych == '_') goto yy2137; - goto yy87; -yy2035: - yych = *++cursor_; - if (yych == '6') goto yy2138; - goto yy87; -yy2036: - yych = *++cursor_; - if (yych == 'a') goto yy2139; - goto yy87; -yy2037: - yych = *++cursor_; - if (yych == 'a') goto yy2140; - goto yy87; -yy2038: - yych = *++cursor_; - if (yych == 'a') goto yy2141; - goto yy87; -yy2039: - yych = *++cursor_; - if (yych == 'a') goto yy2142; - goto yy87; -yy2040: - yych = *++cursor_; - if (yych == 'a') goto yy2143; - goto yy87; -yy2041: - yych = *++cursor_; - if (yych == 'a') goto yy2144; - goto yy87; -yy2042: - ++cursor_; - if ((yych = *cursor_) <= '0') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= '8') { - if (yych <= '1') goto yy2145; - if (yych <= '7') goto yy86; - goto yy2146; - } else { - if (yych == ';') goto yy2043; - if (yych <= '~') goto yy86; - } - } -yy2043: -#line 460 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicLoad, I32AtomicLoad); } -#line 10731 "src/prebuilt/wast-lexer-gen.cc" -yy2044: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy2147; - case 'c': goto yy2148; - case 'o': goto yy2149; - case 's': goto yy2150; - case 'x': goto yy2151; - default: goto yy87; - } -yy2045: - yych = *++cursor_; - if (yych == '6') goto yy2152; - goto yy87; -yy2046: - yych = *++cursor_; - if (yych == '.') goto yy2153; - goto yy87; -yy2047: - yych = *++cursor_; - if (yych == 'e') goto yy2154; - goto yy87; -yy2048: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 457 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicWait, I32AtomicWait); } -#line 10761 "src/prebuilt/wast-lexer-gen.cc" -yy2050: - yych = *++cursor_; - if (yych == '/') goto yy2156; - if (yych == '_') goto yy2157; - goto yy87; -yy2051: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 407 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncF32S); } -#line 10774 "src/prebuilt/wast-lexer-gen.cc" -yy2053: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 411 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncF32U); } -#line 10782 "src/prebuilt/wast-lexer-gen.cc" -yy2055: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 409 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncF64S); } -#line 10790 "src/prebuilt/wast-lexer-gen.cc" -yy2057: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 413 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncF64U); } -#line 10798 "src/prebuilt/wast-lexer-gen.cc" -yy2059: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 676 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncF32S); } -#line 10806 "src/prebuilt/wast-lexer-gen.cc" -yy2061: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 678 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncF64S); } -#line 10814 "src/prebuilt/wast-lexer-gen.cc" -yy2063: - yych = *++cursor_; - if (yych == '/') goto yy2158; - goto yy87; -yy2064: - yych = *++cursor_; - if (yych == '3') goto yy2159; - if (yych == '6') goto yy2160; - goto yy87; -yy2065: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 680 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncF32U); } -#line 10831 "src/prebuilt/wast-lexer-gen.cc" -yy2067: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 682 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncF64U); } -#line 10839 "src/prebuilt/wast-lexer-gen.cc" -yy2069: - yych = *++cursor_; - if (yych == '/') goto yy2161; - goto yy87; -yy2070: - yych = *++cursor_; - if (yych == 'a') goto yy2162; - goto yy87; -yy2071: - yych = *++cursor_; - if (yych == 'a') goto yy2163; - goto yy87; -yy2072: - yych = *++cursor_; - if (yych == '_') goto yy2164; - goto yy87; -yy2073: - ++cursor_; - if ((yych = *cursor_) <= '1') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy2074; - if (yych <= '0') goto yy86; - goto yy2165; - } - } else { - if (yych <= '8') { - if (yych == '3') goto yy2166; - if (yych <= '7') goto yy86; - goto yy2167; - } else { - if (yych == ';') goto yy2074; - if (yych <= '~') goto yy86; - } - } -yy2074: -#line 461 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicLoad, I64AtomicLoad); } -#line 10880 "src/prebuilt/wast-lexer-gen.cc" -yy2075: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy2168; - case 'c': goto yy2169; - case 'o': goto yy2170; - case 's': goto yy2171; - case 'x': goto yy2172; - default: goto yy87; - } -yy2076: - yych = *++cursor_; - if (yych == '6') goto yy2173; - goto yy87; -yy2077: - yych = *++cursor_; - if (yych == '2') goto yy2174; - goto yy87; -yy2078: - yych = *++cursor_; - if (yych == '.') goto yy2175; - goto yy87; -yy2079: - yych = *++cursor_; - if (yych == 'e') goto yy2176; - goto yy87; -yy2080: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 458 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicWait, I64AtomicWait); } -#line 10914 "src/prebuilt/wast-lexer-gen.cc" -yy2082: - yych = *++cursor_; - if (yych == 's') goto yy2178; - if (yych == 'u') goto yy2180; - goto yy87; -yy2083: - yych = *++cursor_; - if (yych == '2') goto yy2182; - goto yy87; -yy2084: - yych = *++cursor_; - if (yych == '2') goto yy2184; - goto yy87; -yy2085: - yych = *++cursor_; - if (yych == '/') goto yy2186; - if (yych == '_') goto yy2187; - goto yy87; -yy2086: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 408 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncF32S); } -#line 10940 "src/prebuilt/wast-lexer-gen.cc" -yy2088: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 412 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncF32U); } -#line 10948 "src/prebuilt/wast-lexer-gen.cc" -yy2090: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 410 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncF64S); } -#line 10956 "src/prebuilt/wast-lexer-gen.cc" -yy2092: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 414 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncF64U); } -#line 10964 "src/prebuilt/wast-lexer-gen.cc" -yy2094: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 677 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncF32S); } -#line 10972 "src/prebuilt/wast-lexer-gen.cc" -yy2096: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 679 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncF64S); } -#line 10980 "src/prebuilt/wast-lexer-gen.cc" -yy2098: - yych = *++cursor_; - if (yych == '/') goto yy2188; - goto yy87; -yy2099: - yych = *++cursor_; - if (yych == '3') goto yy2189; - if (yych == '6') goto yy2190; - goto yy87; -yy2100: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 681 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncF32U); } -#line 10997 "src/prebuilt/wast-lexer-gen.cc" -yy2102: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 683 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncF64U); } -#line 11005 "src/prebuilt/wast-lexer-gen.cc" -yy2104: - yych = *++cursor_; - if (yych == '/') goto yy2191; - goto yy87; -yy2105: - yych = *++cursor_; - if (yych == 'a') goto yy2192; - goto yy87; -yy2106: - yych = *++cursor_; - if (yych == 'a') goto yy2193; - goto yy87; -yy2107: - yych = *++cursor_; - if (yych == '_') goto yy2194; - goto yy87; -yy2108: - yych = *++cursor_; - if (yych == 'a') goto yy2195; - goto yy87; -yy2109: - yych = *++cursor_; - if (yych == 'a') goto yy2196; - goto yy87; -yy2110: - yych = *++cursor_; - if (yych == 'a') goto yy2197; - goto yy87; -yy2111: - yych = *++cursor_; - if (yych == 'a') goto yy2198; - goto yy87; -yy2112: - yych = *++cursor_; - if (yych == 'i') goto yy2199; - goto yy87; -yy2113: - yych = *++cursor_; - if (yych == 'n') goto yy2200; - goto yy87; -yy2114: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 729 "src/wast-lexer.cc" - { RETURN(AssertMalformed); } -#line 11053 "src/prebuilt/wast-lexer-gen.cc" -yy2116: - yych = *++cursor_; - if (yych == 'i') goto yy2202; - goto yy87; -yy2117: - yych = *++cursor_; - if (yych == 'n') goto yy2203; - goto yy87; -yy2118: - yych = *++cursor_; - if (yych == 'e') goto yy2204; - goto yy87; -yy2119: - yych = *++cursor_; - if (yych == 's') goto yy2206; - if (yych == 'u') goto yy2208; - goto yy87; -yy2120: - yych = *++cursor_; - if (yych == 's') goto yy2210; - if (yych == 'u') goto yy2212; - goto yy87; -yy2121: - yych = *++cursor_; - if (yych == '2') goto yy2214; - goto yy87; -yy2122: - yych = *++cursor_; - if (yych == '4') goto yy2216; - goto yy87; -yy2123: - yych = *++cursor_; - if (yych == '2') goto yy2218; - goto yy87; -yy2124: - yych = *++cursor_; - if (yych == '4') goto yy2220; - goto yy87; -yy2125: - yych = *++cursor_; - if (yych == 'i') goto yy2222; - goto yy87; -yy2126: - yych = *++cursor_; - if (yych == 'i') goto yy2223; - goto yy87; -yy2127: - yych = *++cursor_; - if (yych == '2') goto yy2224; - goto yy87; -yy2128: - yych = *++cursor_; - if (yych == 'n') goto yy2225; - goto yy87; -yy2129: - yych = *++cursor_; - if (yych == 'n') goto yy2226; - goto yy87; -yy2130: - yych = *++cursor_; - if (yych == 's') goto yy2227; - if (yych == 'u') goto yy2229; - goto yy87; -yy2131: - yych = *++cursor_; - if (yych == 's') goto yy2231; - if (yych == 'u') goto yy2233; - goto yy87; -yy2132: - yych = *++cursor_; - if (yych == '2') goto yy2235; - goto yy87; -yy2133: - yych = *++cursor_; - if (yych == '4') goto yy2237; - goto yy87; -yy2134: - yych = *++cursor_; - if (yych == '2') goto yy2239; - goto yy87; -yy2135: - yych = *++cursor_; - if (yych == '4') goto yy2241; - goto yy87; -yy2136: - yych = *++cursor_; - if (yych == 'i') goto yy2243; - goto yy87; -yy2137: - yych = *++cursor_; - if (yych == 'i') goto yy2244; - goto yy87; -yy2138: - yych = *++cursor_; - if (yych == '4') goto yy2245; - goto yy87; -yy2139: - yych = *++cursor_; - if (yych == 'n') goto yy2246; - goto yy87; -yy2140: - yych = *++cursor_; - if (yych == 'n') goto yy2247; - goto yy87; -yy2141: - yych = *++cursor_; - if (yych == 't') goto yy2248; - goto yy87; -yy2142: - yych = *++cursor_; - if (yych == 'n') goto yy2249; - goto yy87; -yy2143: - yych = *++cursor_; - if (yych == 'n') goto yy2250; - goto yy87; -yy2144: - yych = *++cursor_; - if (yych == 't') goto yy2251; - goto yy87; -yy2145: - yych = *++cursor_; - if (yych == '6') goto yy2252; - goto yy87; -yy2146: - yych = *++cursor_; - if (yych == '_') goto yy2253; - goto yy87; -yy2147: - yych = *++cursor_; - if (yych == 'd') goto yy2254; - if (yych == 'n') goto yy2255; - goto yy87; -yy2148: - yych = *++cursor_; - if (yych == 'm') goto yy2256; - goto yy87; -yy2149: - yych = *++cursor_; - if (yych == 'r') goto yy2257; - goto yy87; -yy2150: - yych = *++cursor_; - if (yych == 'u') goto yy2259; - goto yy87; -yy2151: - yych = *++cursor_; - if (yych == 'c') goto yy2260; - if (yych == 'o') goto yy2261; - goto yy87; -yy2152: - yych = *++cursor_; - if (yych == '.') goto yy2262; - goto yy87; -yy2153: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy2263; - case 'c': goto yy2264; - case 'o': goto yy2265; - case 's': goto yy2266; - case 'x': goto yy2267; - default: goto yy87; - } -yy2154: - ++cursor_; - if ((yych = *cursor_) <= '0') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych >= '*') goto yy86; - } - } else { - if (yych <= '8') { - if (yych <= '1') goto yy2268; - if (yych <= '7') goto yy86; - goto yy2269; - } else { - if (yych == ';') goto yy2155; - if (yych <= '~') goto yy86; - } - } -yy2155: -#line 467 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicStore, I32AtomicStore); } -#line 11240 "src/prebuilt/wast-lexer-gen.cc" -yy2156: - yych = *++cursor_; - if (yych == 'f') goto yy2271; - goto yy87; -yy2157: - yych = *++cursor_; - if (yych == 'f') goto yy2272; - goto yy87; -yy2158: - yych = *++cursor_; - if (yych == 'f') goto yy2273; - goto yy87; -yy2159: - yych = *++cursor_; - if (yych == '2') goto yy2274; - goto yy87; -yy2160: - yych = *++cursor_; - if (yych == '4') goto yy2275; - goto yy87; -yy2161: - yych = *++cursor_; - if (yych == 'f') goto yy2276; - goto yy87; -yy2162: - yych = *++cursor_; - if (yych == 'n') goto yy2277; - goto yy87; -yy2163: - yych = *++cursor_; - if (yych == 'n') goto yy2278; - goto yy87; -yy2164: - yych = *++cursor_; - if (yych == 'f') goto yy2279; - goto yy87; -yy2165: - yych = *++cursor_; - if (yych == '6') goto yy2280; - goto yy87; -yy2166: - yych = *++cursor_; - if (yych == '2') goto yy2281; - goto yy87; -yy2167: - yych = *++cursor_; - if (yych == '_') goto yy2282; - goto yy87; -yy2168: - yych = *++cursor_; - if (yych == 'd') goto yy2283; - if (yych == 'n') goto yy2284; - goto yy87; -yy2169: - yych = *++cursor_; - if (yych == 'm') goto yy2285; - goto yy87; -yy2170: - yych = *++cursor_; - if (yych == 'r') goto yy2286; - goto yy87; -yy2171: - yych = *++cursor_; - if (yych == 'u') goto yy2288; - goto yy87; -yy2172: - yych = *++cursor_; - if (yych == 'c') goto yy2289; - if (yych == 'o') goto yy2290; - goto yy87; -yy2173: - yych = *++cursor_; - if (yych == '.') goto yy2291; - goto yy87; -yy2174: - yych = *++cursor_; - if (yych == '.') goto yy2292; - goto yy87; -yy2175: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy2293; - case 'c': goto yy2294; - case 'o': goto yy2295; - case 's': goto yy2296; - case 'x': goto yy2297; - default: goto yy87; - } -yy2176: - ++cursor_; - if ((yych = *cursor_) <= '1') { - if (yych <= '"') { - if (yych == '!') goto yy86; - } else { - if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy2177; - if (yych <= '0') goto yy86; - goto yy2298; - } - } else { - if (yych <= '8') { - if (yych == '3') goto yy2299; - if (yych <= '7') goto yy86; - goto yy2300; - } else { - if (yych == ';') goto yy2177; - if (yych <= '~') goto yy86; - } - } -yy2177: -#line 468 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicStore, I64AtomicStore); } -#line 11353 "src/prebuilt/wast-lexer-gen.cc" -yy2178: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 404 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64ExtendI32S); } -#line 11361 "src/prebuilt/wast-lexer-gen.cc" -yy2180: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 405 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64ExtendI32U); } -#line 11369 "src/prebuilt/wast-lexer-gen.cc" -yy2182: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 673 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64ExtendI32S); } -#line 11377 "src/prebuilt/wast-lexer-gen.cc" -yy2184: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 674 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64ExtendI32U); } -#line 11385 "src/prebuilt/wast-lexer-gen.cc" -yy2186: - yych = *++cursor_; - if (yych == 'f') goto yy2302; - goto yy87; -yy2187: - yych = *++cursor_; - if (yych == 'f') goto yy2303; - goto yy87; -yy2188: - yych = *++cursor_; - if (yych == 'f') goto yy2304; - goto yy87; -yy2189: - yych = *++cursor_; - if (yych == '2') goto yy2305; - goto yy87; -yy2190: - yych = *++cursor_; - if (yych == '4') goto yy2306; - goto yy87; -yy2191: - yych = *++cursor_; - if (yych == 'f') goto yy2307; - goto yy87; -yy2192: - yych = *++cursor_; - if (yych == 'n') goto yy2308; - goto yy87; -yy2193: - yych = *++cursor_; - if (yych == 'n') goto yy2309; - goto yy87; -yy2194: - yych = *++cursor_; - if (yych == 'f') goto yy2310; - goto yy87; -yy2195: - yych = *++cursor_; - if (yych == 't') goto yy2311; - goto yy87; -yy2196: - yych = *++cursor_; - if (yych == 'n') goto yy2312; - goto yy87; -yy2197: - yych = *++cursor_; - if (yych == 'n') goto yy2313; - goto yy87; -yy2198: - yych = *++cursor_; - if (yych == 't') goto yy2314; - goto yy87; -yy2199: - yych = *++cursor_; - if (yych == 'r') goto yy2315; - goto yy87; -yy2200: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 736 "src/wast-lexer.cc" - { RETURN(AssertExhaustion); } -#line 11449 "src/prebuilt/wast-lexer-gen.cc" -yy2202: - yych = *++cursor_; - if (yych == 't') goto yy2316; - goto yy87; -yy2203: - yych = *++cursor_; - if (yych == 'o') goto yy2317; - goto yy87; -yy2204: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 731 "src/wast-lexer.cc" - { RETURN(AssertUnlinkable); } -#line 11465 "src/prebuilt/wast-lexer-gen.cc" -yy2206: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 423 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ConvertI32S); } -#line 11473 "src/prebuilt/wast-lexer-gen.cc" -yy2208: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 427 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ConvertI32U); } -#line 11481 "src/prebuilt/wast-lexer-gen.cc" -yy2210: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 425 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ConvertI64S); } -#line 11489 "src/prebuilt/wast-lexer-gen.cc" -yy2212: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 429 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ConvertI64U); } -#line 11497 "src/prebuilt/wast-lexer-gen.cc" -yy2214: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 684 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ConvertI32S); } -#line 11505 "src/prebuilt/wast-lexer-gen.cc" -yy2216: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 686 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ConvertI64S); } -#line 11513 "src/prebuilt/wast-lexer-gen.cc" -yy2218: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 688 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ConvertI32U); } -#line 11521 "src/prebuilt/wast-lexer-gen.cc" -yy2220: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 690 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ConvertI64U); } -#line 11529 "src/prebuilt/wast-lexer-gen.cc" -yy2222: - yych = *++cursor_; - if (yych == '3') goto yy2318; - goto yy87; -yy2223: - yych = *++cursor_; - if (yych == '3') goto yy2319; - goto yy87; -yy2224: - yych = *++cursor_; - if (yych == 'x') goto yy2320; - goto yy87; -yy2225: - yych = *++cursor_; - if (yych == 'e') goto yy2321; - goto yy87; -yy2226: - yych = *++cursor_; - if (yych == 'e') goto yy2323; - goto yy87; -yy2227: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 424 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ConvertI32S); } -#line 11557 "src/prebuilt/wast-lexer-gen.cc" -yy2229: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 428 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ConvertI32U); } -#line 11565 "src/prebuilt/wast-lexer-gen.cc" -yy2231: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 426 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ConvertI64S); } -#line 11573 "src/prebuilt/wast-lexer-gen.cc" -yy2233: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 430 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ConvertI64U); } -#line 11581 "src/prebuilt/wast-lexer-gen.cc" -yy2235: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 685 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ConvertI32S); } -#line 11589 "src/prebuilt/wast-lexer-gen.cc" -yy2237: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 687 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ConvertI64S); } -#line 11597 "src/prebuilt/wast-lexer-gen.cc" -yy2239: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 689 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ConvertI32U); } -#line 11605 "src/prebuilt/wast-lexer-gen.cc" -yy2241: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 691 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ConvertI64U); } -#line 11613 "src/prebuilt/wast-lexer-gen.cc" -yy2243: - yych = *++cursor_; - if (yych == '6') goto yy2325; - goto yy87; -yy2244: - yych = *++cursor_; - if (yych == '6') goto yy2326; - goto yy87; -yy2245: - yych = *++cursor_; - if (yych == 'x') goto yy2327; - goto yy87; -yy2246: - yych = *++cursor_; - if (yych == 'e') goto yy2328; - goto yy87; -yy2247: - yych = *++cursor_; - if (yych == 'e') goto yy2330; - goto yy87; -yy2248: - yych = *++cursor_; - if (yych == 'e') goto yy2332; - goto yy87; -yy2249: - yych = *++cursor_; - if (yych == 'e') goto yy2333; - goto yy87; -yy2250: - yych = *++cursor_; - if (yych == 'e') goto yy2334; - goto yy87; -yy2251: - yych = *++cursor_; - if (yych == 'e') goto yy2336; - goto yy87; -yy2252: - yych = *++cursor_; - if (yych == '_') goto yy2337; - goto yy87; -yy2253: - yych = *++cursor_; - if (yych == 'u') goto yy2338; - goto yy87; -yy2254: - yych = *++cursor_; - if (yych == 'd') goto yy2340; - goto yy87; -yy2255: - yych = *++cursor_; - if (yych == 'd') goto yy2342; - goto yy87; -yy2256: - yych = *++cursor_; - if (yych == 'p') goto yy2344; - goto yy87; -yy2257: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 495 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); } -#line 11677 "src/prebuilt/wast-lexer-gen.cc" -yy2259: - yych = *++cursor_; - if (yych == 'b') goto yy2345; - goto yy87; -yy2260: - yych = *++cursor_; - if (yych == 'h') goto yy2347; - goto yy87; -yy2261: - yych = *++cursor_; - if (yych == 'r') goto yy2348; - goto yy87; -yy2262: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy2350; - case 'c': goto yy2351; - case 'o': goto yy2352; - case 's': goto yy2353; - case 'x': goto yy2354; - default: goto yy87; - } -yy2263: - yych = *++cursor_; - if (yych == 'd') goto yy2355; - if (yych == 'n') goto yy2356; - goto yy87; -yy2264: - yych = *++cursor_; - if (yych == 'm') goto yy2357; - goto yy87; -yy2265: - yych = *++cursor_; - if (yych == 'r') goto yy2358; - goto yy87; -yy2266: - yych = *++cursor_; - if (yych == 'u') goto yy2359; - goto yy87; -yy2267: - yych = *++cursor_; - if (yych == 'c') goto yy2360; - if (yych == 'o') goto yy2361; - goto yy87; -yy2268: - yych = *++cursor_; - if (yych == '6') goto yy2362; - goto yy87; -yy2269: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 469 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicStore, I32AtomicStore8); } -#line 11733 "src/prebuilt/wast-lexer-gen.cc" -yy2271: - yych = *++cursor_; - if (yych == '3') goto yy2364; - goto yy87; -yy2272: - yych = *++cursor_; - if (yych == '3') goto yy2365; - goto yy87; -yy2273: - yych = *++cursor_; - if (yych == '3') goto yy2366; - if (yych == '6') goto yy2367; - goto yy87; -yy2274: - yych = *++cursor_; - if (yych == '_') goto yy2368; - goto yy87; -yy2275: - yych = *++cursor_; - if (yych == '_') goto yy2369; - goto yy87; -yy2276: - yych = *++cursor_; - if (yych == '3') goto yy2370; - if (yych == '6') goto yy2371; - goto yy87; -yy2277: - yych = *++cursor_; - if (yych == 'e') goto yy2372; - goto yy87; -yy2278: - yych = *++cursor_; - if (yych == 'e') goto yy2374; - goto yy87; -yy2279: - yych = *++cursor_; - if (yych == '3') goto yy2376; - goto yy87; -yy2280: - yych = *++cursor_; - if (yych == '_') goto yy2377; - goto yy87; -yy2281: - yych = *++cursor_; - if (yych == '_') goto yy2378; - goto yy87; -yy2282: - yych = *++cursor_; - if (yych == 'u') goto yy2379; - goto yy87; -yy2283: - yych = *++cursor_; - if (yych == 'd') goto yy2381; - goto yy87; -yy2284: - yych = *++cursor_; - if (yych == 'd') goto yy2383; - goto yy87; -yy2285: - yych = *++cursor_; - if (yych == 'p') goto yy2385; - goto yy87; -yy2286: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 496 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); } -#line 11803 "src/prebuilt/wast-lexer-gen.cc" -yy2288: - yych = *++cursor_; - if (yych == 'b') goto yy2386; - goto yy87; -yy2289: - yych = *++cursor_; - if (yych == 'h') goto yy2388; - goto yy87; -yy2290: - yych = *++cursor_; - if (yych == 'r') goto yy2389; - goto yy87; -yy2291: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy2391; - case 'c': goto yy2392; - case 'o': goto yy2393; - case 's': goto yy2394; - case 'x': goto yy2395; - default: goto yy87; - } -yy2292: - yych = *++cursor_; - switch (yych) { - case 'a': goto yy2396; - case 'c': goto yy2397; - case 'o': goto yy2398; - case 's': goto yy2399; - case 'x': goto yy2400; - default: goto yy87; - } -yy2293: - yych = *++cursor_; - if (yych == 'd') goto yy2401; - if (yych == 'n') goto yy2402; - goto yy87; -yy2294: - yych = *++cursor_; - if (yych == 'm') goto yy2403; - goto yy87; -yy2295: - yych = *++cursor_; - if (yych == 'r') goto yy2404; - goto yy87; -yy2296: - yych = *++cursor_; - if (yych == 'u') goto yy2405; - goto yy87; -yy2297: - yych = *++cursor_; - if (yych == 'c') goto yy2406; - if (yych == 'o') goto yy2407; - goto yy87; -yy2298: - yych = *++cursor_; - if (yych == '6') goto yy2408; - goto yy87; -yy2299: - yych = *++cursor_; - if (yych == '2') goto yy2410; - goto yy87; -yy2300: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 471 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicStore, I64AtomicStore8); } -#line 11873 "src/prebuilt/wast-lexer-gen.cc" -yy2302: - yych = *++cursor_; - if (yych == '6') goto yy2412; - goto yy87; -yy2303: - yych = *++cursor_; - if (yych == '6') goto yy2413; - goto yy87; -yy2304: - yych = *++cursor_; - if (yych == '3') goto yy2414; - if (yych == '6') goto yy2415; - goto yy87; -yy2305: - yych = *++cursor_; - if (yych == '_') goto yy2416; - goto yy87; -yy2306: - yych = *++cursor_; - if (yych == '_') goto yy2417; - goto yy87; -yy2307: - yych = *++cursor_; - if (yych == '3') goto yy2418; - if (yych == '6') goto yy2419; - goto yy87; -yy2308: - yych = *++cursor_; - if (yych == 'e') goto yy2420; - goto yy87; -yy2309: - yych = *++cursor_; - if (yych == 'e') goto yy2422; - goto yy87; -yy2310: - yych = *++cursor_; - if (yych == '6') goto yy2424; - goto yy87; -yy2311: - yych = *++cursor_; - if (yych == 'e') goto yy2425; - goto yy87; -yy2312: - yych = *++cursor_; - if (yych == 'e') goto yy2426; - goto yy87; -yy2313: - yych = *++cursor_; - if (yych == 'e') goto yy2427; - goto yy87; -yy2314: - yych = *++cursor_; - if (yych == 'e') goto yy2429; - goto yy87; -yy2315: - yych = *++cursor_; - if (yych == 'e') goto yy2430; - goto yy87; -yy2316: - yych = *++cursor_; - if (yych == 'h') goto yy2431; - goto yy87; -yy2317: - yych = *++cursor_; - if (yych == 'n') goto yy2432; - goto yy87; -yy2318: - yych = *++cursor_; - if (yych == '2') goto yy2433; - goto yy87; -yy2319: - yych = *++cursor_; - if (yych == '2') goto yy2435; - goto yy87; -yy2320: - yych = *++cursor_; - if (yych == '4') goto yy2437; - goto yy87; -yy2321: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 538 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, F32X4ExtractLane); } -#line 11959 "src/prebuilt/wast-lexer-gen.cc" -yy2323: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 544 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, F32X4ReplaceLane); } -#line 11967 "src/prebuilt/wast-lexer-gen.cc" -yy2325: - yych = *++cursor_; - if (yych == '4') goto yy2438; - goto yy87; -yy2326: - yych = *++cursor_; - if (yych == '4') goto yy2440; - goto yy87; -yy2327: - yych = *++cursor_; - if (yych == '2') goto yy2442; - goto yy87; -yy2328: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 539 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, F64X2ExtractLane); } -#line 11987 "src/prebuilt/wast-lexer-gen.cc" -yy2330: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 545 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, F64X2ReplaceLane); } -#line 11995 "src/prebuilt/wast-lexer-gen.cc" -yy2332: - yych = *++cursor_; - if (yych == '_') goto yy2443; - goto yy87; -yy2333: - yych = *++cursor_; - if (yych == '_') goto yy2444; - goto yy87; -yy2334: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 541 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I16X8ReplaceLane); } -#line 12011 "src/prebuilt/wast-lexer-gen.cc" -yy2336: - yych = *++cursor_; - if (yych == '_') goto yy2445; - goto yy87; -yy2337: - yych = *++cursor_; - if (yych == 'u') goto yy2446; - goto yy87; -yy2338: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 462 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); } -#line 12027 "src/prebuilt/wast-lexer-gen.cc" -yy2340: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 474 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); } -#line 12035 "src/prebuilt/wast-lexer-gen.cc" -yy2342: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 488 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); } -#line 12043 "src/prebuilt/wast-lexer-gen.cc" -yy2344: - yych = *++cursor_; - if (yych == 'x') goto yy2448; - goto yy87; -yy2345: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 481 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); } -#line 12055 "src/prebuilt/wast-lexer-gen.cc" -yy2347: - yych = *++cursor_; - if (yych == 'g') goto yy2449; - goto yy87; -yy2348: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 502 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); } -#line 12067 "src/prebuilt/wast-lexer-gen.cc" -yy2350: - yych = *++cursor_; - if (yych == 'd') goto yy2451; - if (yych == 'n') goto yy2452; - goto yy87; -yy2351: - yych = *++cursor_; - if (yych == 'm') goto yy2453; - goto yy87; -yy2352: - yych = *++cursor_; - if (yych == 'r') goto yy2454; - goto yy87; -yy2353: - yych = *++cursor_; - if (yych == 'u') goto yy2455; - goto yy87; -yy2354: - yych = *++cursor_; - if (yych == 'c') goto yy2456; - if (yych == 'o') goto yy2457; - goto yy87; -yy2355: - yych = *++cursor_; - if (yych == 'd') goto yy2458; - goto yy87; -yy2356: - yych = *++cursor_; - if (yych == 'd') goto yy2459; - goto yy87; -yy2357: - yych = *++cursor_; - if (yych == 'p') goto yy2460; - goto yy87; -yy2358: - yych = *++cursor_; - if (yych == '_') goto yy2461; - goto yy87; -yy2359: - yych = *++cursor_; - if (yych == 'b') goto yy2462; - goto yy87; -yy2360: - yych = *++cursor_; - if (yych == 'h') goto yy2463; - goto yy87; -yy2361: - yych = *++cursor_; - if (yych == 'r') goto yy2464; - goto yy87; -yy2362: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 470 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicStore, I32AtomicStore16); } -#line 12125 "src/prebuilt/wast-lexer-gen.cc" -yy2364: - yych = *++cursor_; - if (yych == '2') goto yy2465; - goto yy87; -yy2365: - yych = *++cursor_; - if (yych == '2') goto yy2467; - goto yy87; -yy2366: - yych = *++cursor_; - if (yych == '2') goto yy2469; - goto yy87; -yy2367: - yych = *++cursor_; - if (yych == '4') goto yy2471; - goto yy87; -yy2368: - yych = *++cursor_; - if (yych == 's') goto yy2473; - if (yych == 'u') goto yy2475; - goto yy87; -yy2369: - yych = *++cursor_; - if (yych == 's') goto yy2477; - if (yych == 'u') goto yy2479; - goto yy87; -yy2370: - yych = *++cursor_; - if (yych == '2') goto yy2481; - goto yy87; -yy2371: - yych = *++cursor_; - if (yych == '4') goto yy2483; - goto yy87; -yy2372: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 536 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I32X4ExtractLane); } -#line 12167 "src/prebuilt/wast-lexer-gen.cc" -yy2374: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 542 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I32X4ReplaceLane); } -#line 12175 "src/prebuilt/wast-lexer-gen.cc" -yy2376: - yych = *++cursor_; - if (yych == '2') goto yy2485; - goto yy87; -yy2377: - yych = *++cursor_; - if (yych == 'u') goto yy2486; - goto yy87; -yy2378: - yych = *++cursor_; - if (yych == 'u') goto yy2488; - goto yy87; -yy2379: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 464 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); } -#line 12195 "src/prebuilt/wast-lexer-gen.cc" -yy2381: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 475 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); } -#line 12203 "src/prebuilt/wast-lexer-gen.cc" -yy2383: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 489 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); } -#line 12211 "src/prebuilt/wast-lexer-gen.cc" -yy2385: - yych = *++cursor_; - if (yych == 'x') goto yy2490; - goto yy87; -yy2386: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 482 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); } -#line 12223 "src/prebuilt/wast-lexer-gen.cc" -yy2388: - yych = *++cursor_; - if (yych == 'g') goto yy2491; - goto yy87; -yy2389: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 503 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); } -#line 12235 "src/prebuilt/wast-lexer-gen.cc" -yy2391: - yych = *++cursor_; - if (yych == 'd') goto yy2493; - if (yych == 'n') goto yy2494; - goto yy87; -yy2392: - yych = *++cursor_; - if (yych == 'm') goto yy2495; - goto yy87; -yy2393: - yych = *++cursor_; - if (yych == 'r') goto yy2496; - goto yy87; -yy2394: - yych = *++cursor_; - if (yych == 'u') goto yy2497; - goto yy87; -yy2395: - yych = *++cursor_; - if (yych == 'c') goto yy2498; - if (yych == 'o') goto yy2499; - goto yy87; -yy2396: - yych = *++cursor_; - if (yych == 'd') goto yy2500; - if (yych == 'n') goto yy2501; - goto yy87; -yy2397: - yych = *++cursor_; - if (yych == 'm') goto yy2502; - goto yy87; -yy2398: - yych = *++cursor_; - if (yych == 'r') goto yy2503; - goto yy87; -yy2399: - yych = *++cursor_; - if (yych == 'u') goto yy2504; - goto yy87; -yy2400: - yych = *++cursor_; - if (yych == 'c') goto yy2505; - if (yych == 'o') goto yy2506; - goto yy87; -yy2401: - yych = *++cursor_; - if (yych == 'd') goto yy2507; - goto yy87; -yy2402: - yych = *++cursor_; - if (yych == 'd') goto yy2508; - goto yy87; -yy2403: - yych = *++cursor_; - if (yych == 'p') goto yy2509; - goto yy87; -yy2404: - yych = *++cursor_; - if (yych == '_') goto yy2510; - goto yy87; -yy2405: - yych = *++cursor_; - if (yych == 'b') goto yy2511; - goto yy87; -yy2406: - yych = *++cursor_; - if (yych == 'h') goto yy2512; - goto yy87; -yy2407: - yych = *++cursor_; - if (yych == 'r') goto yy2513; - goto yy87; -yy2408: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 472 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicStore, I64AtomicStore16); } -#line 12315 "src/prebuilt/wast-lexer-gen.cc" -yy2410: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 473 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicStore, I64AtomicStore32); } -#line 12323 "src/prebuilt/wast-lexer-gen.cc" -yy2412: - yych = *++cursor_; - if (yych == '4') goto yy2514; - goto yy87; -yy2413: - yych = *++cursor_; - if (yych == '4') goto yy2516; - goto yy87; -yy2414: - yych = *++cursor_; - if (yych == '2') goto yy2518; - goto yy87; -yy2415: - yych = *++cursor_; - if (yych == '4') goto yy2520; - goto yy87; -yy2416: - yych = *++cursor_; - if (yych == 's') goto yy2522; - if (yych == 'u') goto yy2524; - goto yy87; -yy2417: - yych = *++cursor_; - if (yych == 's') goto yy2526; - if (yych == 'u') goto yy2528; - goto yy87; -yy2418: - yych = *++cursor_; - if (yych == '2') goto yy2530; - goto yy87; -yy2419: - yych = *++cursor_; - if (yych == '4') goto yy2532; - goto yy87; -yy2420: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 537 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I64X2ExtractLane); } -#line 12365 "src/prebuilt/wast-lexer-gen.cc" -yy2422: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 543 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I64X2ReplaceLane); } -#line 12373 "src/prebuilt/wast-lexer-gen.cc" -yy2424: - yych = *++cursor_; - if (yych == '4') goto yy2534; - goto yy87; -yy2425: - yych = *++cursor_; - if (yych == '_') goto yy2535; - goto yy87; -yy2426: - yych = *++cursor_; - if (yych == '_') goto yy2536; - goto yy87; -yy2427: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 540 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I8X16ReplaceLane); } -#line 12393 "src/prebuilt/wast-lexer-gen.cc" -yy2429: - yych = *++cursor_; - if (yych == '_') goto yy2537; - goto yy87; -yy2430: - yych = *++cursor_; - if (yych == 'c') goto yy2538; - goto yy87; -yy2431: - yych = *++cursor_; - if (yych == 'm') goto yy2539; - goto yy87; -yy2432: - yych = *++cursor_; - if (yych == 'i') goto yy2540; - goto yy87; -yy2433: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 694 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ReinterpretI32); } -#line 12417 "src/prebuilt/wast-lexer-gen.cc" -yy2435: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 433 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F32ReinterpretI32); } -#line 12425 "src/prebuilt/wast-lexer-gen.cc" -yy2437: - yych = *++cursor_; - if (yych == '_') goto yy2541; - goto yy87; -yy2438: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 696 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ReinterpretI64); } -#line 12437 "src/prebuilt/wast-lexer-gen.cc" -yy2440: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 435 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, F64ReinterpretI64); } -#line 12445 "src/prebuilt/wast-lexer-gen.cc" -yy2442: - yych = *++cursor_; - if (yych == '_') goto yy2542; - goto yy87; -yy2443: - yych = *++cursor_; - if (yych == 's') goto yy2543; - if (yych == 'u') goto yy2545; - goto yy87; -yy2444: - yych = *++cursor_; - if (yych == 's') goto yy2547; - if (yych == 'u') goto yy2549; - goto yy87; -yy2445: - yych = *++cursor_; - if (yych == 's') goto yy2551; - if (yych == 'u') goto yy2553; - goto yy87; -yy2446: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 463 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); } -#line 12472 "src/prebuilt/wast-lexer-gen.cc" -yy2448: - yych = *++cursor_; - if (yych == 'c') goto yy2555; - goto yy87; -yy2449: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 509 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); } -#line 12484 "src/prebuilt/wast-lexer-gen.cc" -yy2451: - yych = *++cursor_; - if (yych == 'd') goto yy2556; - goto yy87; -yy2452: - yych = *++cursor_; - if (yych == 'd') goto yy2557; - goto yy87; -yy2453: - yych = *++cursor_; - if (yych == 'p') goto yy2558; - goto yy87; -yy2454: - yych = *++cursor_; - if (yych == '_') goto yy2559; - goto yy87; -yy2455: - yych = *++cursor_; - if (yych == 'b') goto yy2560; - goto yy87; -yy2456: - yych = *++cursor_; - if (yych == 'h') goto yy2561; - goto yy87; -yy2457: - yych = *++cursor_; - if (yych == 'r') goto yy2562; - goto yy87; -yy2458: - yych = *++cursor_; - if (yych == '_') goto yy2563; - goto yy87; -yy2459: - yych = *++cursor_; - if (yych == '_') goto yy2564; - goto yy87; -yy2460: - yych = *++cursor_; - if (yych == 'x') goto yy2565; - goto yy87; -yy2461: - yych = *++cursor_; - if (yych == 'u') goto yy2566; - goto yy87; -yy2462: - yych = *++cursor_; - if (yych == '_') goto yy2568; - goto yy87; -yy2463: - yych = *++cursor_; - if (yych == 'g') goto yy2569; - goto yy87; -yy2464: - yych = *++cursor_; - if (yych == '_') goto yy2570; - goto yy87; -yy2465: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 695 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32ReinterpretF32); } -#line 12548 "src/prebuilt/wast-lexer-gen.cc" -yy2467: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 434 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32ReinterpretF32); } -#line 12556 "src/prebuilt/wast-lexer-gen.cc" -yy2469: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 698 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncSatF32S); } -#line 12564 "src/prebuilt/wast-lexer-gen.cc" -yy2471: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 700 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncSatF64S); } -#line 12572 "src/prebuilt/wast-lexer-gen.cc" -yy2473: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 415 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncSatF32S); } -#line 12580 "src/prebuilt/wast-lexer-gen.cc" -yy2475: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 419 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncSatF32U); } -#line 12588 "src/prebuilt/wast-lexer-gen.cc" -yy2477: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 417 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncSatF64S); } -#line 12596 "src/prebuilt/wast-lexer-gen.cc" -yy2479: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 421 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncSatF64U); } -#line 12604 "src/prebuilt/wast-lexer-gen.cc" -yy2481: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 702 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncSatF32U); } -#line 12612 "src/prebuilt/wast-lexer-gen.cc" -yy2483: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 704 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I32TruncSatF64U); } -#line 12620 "src/prebuilt/wast-lexer-gen.cc" -yy2485: - yych = *++cursor_; - if (yych == 'x') goto yy2571; - goto yy87; -yy2486: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 465 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); } -#line 12632 "src/prebuilt/wast-lexer-gen.cc" -yy2488: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 466 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); } -#line 12640 "src/prebuilt/wast-lexer-gen.cc" -yy2490: - yych = *++cursor_; - if (yych == 'c') goto yy2572; - goto yy87; -yy2491: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 510 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); } -#line 12652 "src/prebuilt/wast-lexer-gen.cc" -yy2493: - yych = *++cursor_; - if (yych == 'd') goto yy2573; - goto yy87; -yy2494: - yych = *++cursor_; - if (yych == 'd') goto yy2574; - goto yy87; -yy2495: - yych = *++cursor_; - if (yych == 'p') goto yy2575; - goto yy87; -yy2496: - yych = *++cursor_; - if (yych == '_') goto yy2576; - goto yy87; -yy2497: - yych = *++cursor_; - if (yych == 'b') goto yy2577; - goto yy87; -yy2498: - yych = *++cursor_; - if (yych == 'h') goto yy2578; - goto yy87; -yy2499: - yych = *++cursor_; - if (yych == 'r') goto yy2579; - goto yy87; -yy2500: - yych = *++cursor_; - if (yych == 'd') goto yy2580; - goto yy87; -yy2501: - yych = *++cursor_; - if (yych == 'd') goto yy2581; - goto yy87; -yy2502: - yych = *++cursor_; - if (yych == 'p') goto yy2582; - goto yy87; -yy2503: - yych = *++cursor_; - if (yych == '_') goto yy2583; - goto yy87; -yy2504: - yych = *++cursor_; - if (yych == 'b') goto yy2584; - goto yy87; -yy2505: - yych = *++cursor_; - if (yych == 'h') goto yy2585; - goto yy87; -yy2506: - yych = *++cursor_; - if (yych == 'r') goto yy2586; - goto yy87; -yy2507: - yych = *++cursor_; - if (yych == '_') goto yy2587; - goto yy87; -yy2508: - yych = *++cursor_; - if (yych == '_') goto yy2588; - goto yy87; -yy2509: - yych = *++cursor_; - if (yych == 'x') goto yy2589; - goto yy87; -yy2510: - yych = *++cursor_; - if (yych == 'u') goto yy2590; - goto yy87; -yy2511: - yych = *++cursor_; - if (yych == '_') goto yy2592; - goto yy87; -yy2512: - yych = *++cursor_; - if (yych == 'g') goto yy2593; - goto yy87; -yy2513: - yych = *++cursor_; - if (yych == '_') goto yy2594; - goto yy87; -yy2514: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 697 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64ReinterpretF64); } -#line 12744 "src/prebuilt/wast-lexer-gen.cc" -yy2516: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 436 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64ReinterpretF64); } -#line 12752 "src/prebuilt/wast-lexer-gen.cc" -yy2518: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 699 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncSatF32S); } -#line 12760 "src/prebuilt/wast-lexer-gen.cc" -yy2520: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 701 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncSatF64S); } -#line 12768 "src/prebuilt/wast-lexer-gen.cc" -yy2522: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 416 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncSatF32S); } -#line 12776 "src/prebuilt/wast-lexer-gen.cc" -yy2524: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 420 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncSatF32U); } -#line 12784 "src/prebuilt/wast-lexer-gen.cc" -yy2526: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 418 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncSatF64S); } -#line 12792 "src/prebuilt/wast-lexer-gen.cc" -yy2528: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 422 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncSatF64U); } -#line 12800 "src/prebuilt/wast-lexer-gen.cc" -yy2530: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 703 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncSatF32U); } -#line 12808 "src/prebuilt/wast-lexer-gen.cc" -yy2532: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 705 "src/wast-lexer.cc" - { RETURN_OPCODE(Convert, I64TruncSatF64U); } -#line 12816 "src/prebuilt/wast-lexer-gen.cc" -yy2534: - yych = *++cursor_; - if (yych == 'x') goto yy2595; - goto yy87; -yy2535: - yych = *++cursor_; - if (yych == 's') goto yy2596; - if (yych == 'u') goto yy2598; - goto yy87; -yy2536: - yych = *++cursor_; - if (yych == 's') goto yy2600; - if (yych == 'u') goto yy2602; - goto yy87; -yy2537: - yych = *++cursor_; - if (yych == 's') goto yy2604; - if (yych == 'u') goto yy2606; - goto yy87; -yy2538: - yych = *++cursor_; - if (yych == 't') goto yy2608; - goto yy87; -yy2539: - yych = *++cursor_; - if (yych == 'e') goto yy2610; - goto yy87; -yy2540: - yych = *++cursor_; - if (yych == 'c') goto yy2611; - goto yy87; -yy2541: - yych = *++cursor_; - if (yych == 's') goto yy2612; - if (yych == 'u') goto yy2614; - goto yy87; -yy2542: - yych = *++cursor_; - if (yych == 's') goto yy2616; - if (yych == 'u') goto yy2618; - goto yy87; -yy2543: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 564 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8AddSaturateS); } -#line 12865 "src/prebuilt/wast-lexer-gen.cc" -yy2545: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 565 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8AddSaturateU); } -#line 12873 "src/prebuilt/wast-lexer-gen.cc" -yy2547: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 534 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneS); } -#line 12881 "src/prebuilt/wast-lexer-gen.cc" -yy2549: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 535 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneU); } -#line 12889 "src/prebuilt/wast-lexer-gen.cc" -yy2551: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 568 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8SubSaturateS); } -#line 12897 "src/prebuilt/wast-lexer-gen.cc" -yy2553: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 569 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I16X8SubSaturateU); } -#line 12905 "src/prebuilt/wast-lexer-gen.cc" -yy2555: - yych = *++cursor_; - if (yych == 'h') goto yy2620; - goto yy87; -yy2556: - yych = *++cursor_; - if (yych == '_') goto yy2621; - goto yy87; -yy2557: - yych = *++cursor_; - if (yych == '_') goto yy2622; - goto yy87; -yy2558: - yych = *++cursor_; - if (yych == 'x') goto yy2623; - goto yy87; -yy2559: - yych = *++cursor_; - if (yych == 'u') goto yy2624; - goto yy87; -yy2560: - yych = *++cursor_; - if (yych == '_') goto yy2626; - goto yy87; -yy2561: - yych = *++cursor_; - if (yych == 'g') goto yy2627; - goto yy87; -yy2562: - yych = *++cursor_; - if (yych == '_') goto yy2628; - goto yy87; -yy2563: - yych = *++cursor_; - if (yych == 'u') goto yy2629; - goto yy87; -yy2564: - yych = *++cursor_; - if (yych == 'u') goto yy2631; - goto yy87; -yy2565: - yych = *++cursor_; - if (yych == 'c') goto yy2633; - goto yy87; -yy2566: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 497 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8OrU); } -#line 12957 "src/prebuilt/wast-lexer-gen.cc" -yy2568: - yych = *++cursor_; - if (yych == 'u') goto yy2634; - goto yy87; -yy2569: - yych = *++cursor_; - if (yych == '_') goto yy2636; - goto yy87; -yy2570: - yych = *++cursor_; - if (yych == 'u') goto yy2637; - goto yy87; -yy2571: - yych = *++cursor_; - if (yych == '4') goto yy2639; - goto yy87; -yy2572: - yych = *++cursor_; - if (yych == 'h') goto yy2640; - goto yy87; -yy2573: - yych = *++cursor_; - if (yych == '_') goto yy2641; - goto yy87; -yy2574: - yych = *++cursor_; - if (yych == '_') goto yy2642; - goto yy87; -yy2575: - yych = *++cursor_; - if (yych == 'x') goto yy2643; - goto yy87; -yy2576: - yych = *++cursor_; - if (yych == 'u') goto yy2644; - goto yy87; -yy2577: - yych = *++cursor_; - if (yych == '_') goto yy2646; - goto yy87; -yy2578: - yych = *++cursor_; - if (yych == 'g') goto yy2647; - goto yy87; -yy2579: - yych = *++cursor_; - if (yych == '_') goto yy2648; - goto yy87; -yy2580: - yych = *++cursor_; - if (yych == '_') goto yy2649; - goto yy87; -yy2581: - yych = *++cursor_; - if (yych == '_') goto yy2650; - goto yy87; -yy2582: - yych = *++cursor_; - if (yych == 'x') goto yy2651; - goto yy87; -yy2583: - yych = *++cursor_; - if (yych == 'u') goto yy2652; - goto yy87; -yy2584: - yych = *++cursor_; - if (yych == '_') goto yy2654; - goto yy87; -yy2585: - yych = *++cursor_; - if (yych == 'g') goto yy2655; - goto yy87; -yy2586: - yych = *++cursor_; - if (yych == '_') goto yy2656; - goto yy87; -yy2587: - yych = *++cursor_; - if (yych == 'u') goto yy2657; - goto yy87; -yy2588: - yych = *++cursor_; - if (yych == 'u') goto yy2659; - goto yy87; -yy2589: - yych = *++cursor_; - if (yych == 'c') goto yy2661; - goto yy87; -yy2590: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 499 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8OrU); } -#line 13053 "src/prebuilt/wast-lexer-gen.cc" -yy2592: - yych = *++cursor_; - if (yych == 'u') goto yy2662; - goto yy87; -yy2593: - yych = *++cursor_; - if (yych == '_') goto yy2664; - goto yy87; -yy2594: - yych = *++cursor_; - if (yych == 'u') goto yy2665; - goto yy87; -yy2595: - yych = *++cursor_; - if (yych == '2') goto yy2667; - goto yy87; -yy2596: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 562 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16AddSaturateS); } -#line 13077 "src/prebuilt/wast-lexer-gen.cc" -yy2598: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 563 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16AddSaturateU); } -#line 13085 "src/prebuilt/wast-lexer-gen.cc" -yy2600: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 532 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); } -#line 13093 "src/prebuilt/wast-lexer-gen.cc" -yy2602: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 533 "src/wast-lexer.cc" - { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneU); } -#line 13101 "src/prebuilt/wast-lexer-gen.cc" -yy2604: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 566 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16SubSaturateS); } -#line 13109 "src/prebuilt/wast-lexer-gen.cc" -yy2606: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 567 "src/wast-lexer.cc" - { RETURN_OPCODE(Binary, I8X16SubSaturateU); } -#line 13117 "src/prebuilt/wast-lexer-gen.cc" -yy2608: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 664 "src/wast-lexer.cc" - { RETURN_OPCODE0(ReturnCallIndirect); } -#line 13125 "src/prebuilt/wast-lexer-gen.cc" -yy2610: - yych = *++cursor_; - if (yych == 't') goto yy2668; - goto yy87; -yy2611: - yych = *++cursor_; - if (yych == 'a') goto yy2669; - goto yy87; -yy2612: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 655 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32X4ConvertI32X4S); } -#line 13141 "src/prebuilt/wast-lexer-gen.cc" -yy2614: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 656 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F32X4ConvertI32X4U); } -#line 13149 "src/prebuilt/wast-lexer-gen.cc" -yy2616: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 657 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64X2ConvertI64X2S); } -#line 13157 "src/prebuilt/wast-lexer-gen.cc" -yy2618: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 658 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, F64X2ConvertI64X2U); } -#line 13165 "src/prebuilt/wast-lexer-gen.cc" -yy2620: - yych = *++cursor_; - if (yych == 'g') goto yy2670; - goto yy87; -yy2621: - yych = *++cursor_; - if (yych == 'u') goto yy2672; - goto yy87; -yy2622: - yych = *++cursor_; - if (yych == 'u') goto yy2674; - goto yy87; -yy2623: - yych = *++cursor_; - if (yych == 'c') goto yy2676; - goto yy87; -yy2624: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 498 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16OrU); } -#line 13189 "src/prebuilt/wast-lexer-gen.cc" -yy2626: - yych = *++cursor_; - if (yych == 'u') goto yy2677; - goto yy87; -yy2627: - yych = *++cursor_; - if (yych == '_') goto yy2679; - goto yy87; -yy2628: - yych = *++cursor_; - if (yych == 'u') goto yy2680; - goto yy87; -yy2629: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 476 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AddU); } -#line 13209 "src/prebuilt/wast-lexer-gen.cc" -yy2631: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 490 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AndU); } -#line 13217 "src/prebuilt/wast-lexer-gen.cc" -yy2633: - yych = *++cursor_; - if (yych == 'h') goto yy2682; - goto yy87; -yy2634: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 483 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8SubU); } -#line 13229 "src/prebuilt/wast-lexer-gen.cc" -yy2636: - yych = *++cursor_; - if (yych == 'u') goto yy2683; - goto yy87; -yy2637: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 504 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XorU); } -#line 13241 "src/prebuilt/wast-lexer-gen.cc" -yy2639: - yych = *++cursor_; - if (yych == '_') goto yy2685; - goto yy87; -yy2640: - yych = *++cursor_; - if (yych == 'g') goto yy2686; - goto yy87; -yy2641: - yych = *++cursor_; - if (yych == 'u') goto yy2688; - goto yy87; -yy2642: - yych = *++cursor_; - if (yych == 'u') goto yy2690; - goto yy87; -yy2643: - yych = *++cursor_; - if (yych == 'c') goto yy2692; - goto yy87; -yy2644: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 500 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16OrU); } -#line 13269 "src/prebuilt/wast-lexer-gen.cc" -yy2646: - yych = *++cursor_; - if (yych == 'u') goto yy2693; - goto yy87; -yy2647: - yych = *++cursor_; - if (yych == '_') goto yy2695; - goto yy87; -yy2648: - yych = *++cursor_; - if (yych == 'u') goto yy2696; - goto yy87; -yy2649: - yych = *++cursor_; - if (yych == 'u') goto yy2698; - goto yy87; -yy2650: - yych = *++cursor_; - if (yych == 'u') goto yy2700; - goto yy87; -yy2651: - yych = *++cursor_; - if (yych == 'c') goto yy2702; - goto yy87; -yy2652: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 501 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32OrU); } -#line 13301 "src/prebuilt/wast-lexer-gen.cc" -yy2654: - yych = *++cursor_; - if (yych == 'u') goto yy2703; - goto yy87; -yy2655: - yych = *++cursor_; - if (yych == '_') goto yy2705; - goto yy87; -yy2656: - yych = *++cursor_; - if (yych == 'u') goto yy2706; - goto yy87; -yy2657: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 478 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AddU); } -#line 13321 "src/prebuilt/wast-lexer-gen.cc" -yy2659: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 492 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AndU); } -#line 13329 "src/prebuilt/wast-lexer-gen.cc" -yy2661: - yych = *++cursor_; - if (yych == 'h') goto yy2708; - goto yy87; -yy2662: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 485 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8SubU); } -#line 13341 "src/prebuilt/wast-lexer-gen.cc" -yy2664: - yych = *++cursor_; - if (yych == 'u') goto yy2709; - goto yy87; -yy2665: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 506 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XorU); } -#line 13353 "src/prebuilt/wast-lexer-gen.cc" -yy2667: - yych = *++cursor_; - if (yych == '_') goto yy2711; - goto yy87; -yy2668: - yych = *++cursor_; - if (yych == 'i') goto yy2712; - goto yy87; -yy2669: - yych = *++cursor_; - if (yych == 'l') goto yy2713; - goto yy87; -yy2670: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 516 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); } -#line 13373 "src/prebuilt/wast-lexer-gen.cc" -yy2672: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 477 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AddU); } -#line 13381 "src/prebuilt/wast-lexer-gen.cc" -yy2674: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 491 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AndU); } -#line 13389 "src/prebuilt/wast-lexer-gen.cc" -yy2676: - yych = *++cursor_; - if (yych == 'h') goto yy2714; - goto yy87; -yy2677: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 484 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16SubU); } -#line 13401 "src/prebuilt/wast-lexer-gen.cc" -yy2679: - yych = *++cursor_; - if (yych == 'u') goto yy2715; - goto yy87; -yy2680: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 505 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XorU); } -#line 13413 "src/prebuilt/wast-lexer-gen.cc" -yy2682: - yych = *++cursor_; - if (yych == 'g') goto yy2717; - goto yy87; -yy2683: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 511 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XchgU); } -#line 13425 "src/prebuilt/wast-lexer-gen.cc" -yy2685: - yych = *++cursor_; - if (yych == 's') goto yy2718; - if (yych == 'u') goto yy2720; - goto yy87; -yy2686: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 517 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); } -#line 13438 "src/prebuilt/wast-lexer-gen.cc" -yy2688: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 479 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AddU); } -#line 13446 "src/prebuilt/wast-lexer-gen.cc" -yy2690: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 493 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AndU); } -#line 13454 "src/prebuilt/wast-lexer-gen.cc" -yy2692: - yych = *++cursor_; - if (yych == 'h') goto yy2722; - goto yy87; -yy2693: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 486 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16SubU); } -#line 13466 "src/prebuilt/wast-lexer-gen.cc" -yy2695: - yych = *++cursor_; - if (yych == 'u') goto yy2723; - goto yy87; -yy2696: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 507 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XorU); } -#line 13478 "src/prebuilt/wast-lexer-gen.cc" -yy2698: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 480 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AddU); } -#line 13486 "src/prebuilt/wast-lexer-gen.cc" -yy2700: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 494 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AndU); } -#line 13494 "src/prebuilt/wast-lexer-gen.cc" -yy2702: - yych = *++cursor_; - if (yych == 'h') goto yy2725; - goto yy87; -yy2703: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 487 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32SubU); } -#line 13506 "src/prebuilt/wast-lexer-gen.cc" -yy2705: - yych = *++cursor_; - if (yych == 'u') goto yy2726; - goto yy87; -yy2706: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 508 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XorU); } -#line 13518 "src/prebuilt/wast-lexer-gen.cc" -yy2708: - yych = *++cursor_; - if (yych == 'g') goto yy2728; - goto yy87; -yy2709: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 513 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XchgU); } -#line 13530 "src/prebuilt/wast-lexer-gen.cc" -yy2711: - yych = *++cursor_; - if (yych == 's') goto yy2729; - if (yych == 'u') goto yy2731; - goto yy87; -yy2712: - yych = *++cursor_; - if (yych == 'c') goto yy2733; - goto yy87; -yy2713: - yych = *++cursor_; - if (yych == '_') goto yy2734; - goto yy87; -yy2714: - yych = *++cursor_; - if (yych == 'g') goto yy2735; - goto yy87; -yy2715: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 512 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XchgU); } -#line 13555 "src/prebuilt/wast-lexer-gen.cc" -yy2717: - yych = *++cursor_; - if (yych == '_') goto yy2736; - goto yy87; -yy2718: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 659 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32X4TruncSatF32X4S); } -#line 13567 "src/prebuilt/wast-lexer-gen.cc" -yy2720: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 660 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I32X4TruncSatF32X4U); } -#line 13575 "src/prebuilt/wast-lexer-gen.cc" -yy2722: - yych = *++cursor_; - if (yych == 'g') goto yy2737; - goto yy87; -yy2723: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 514 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XchgU); } -#line 13587 "src/prebuilt/wast-lexer-gen.cc" -yy2725: - yych = *++cursor_; - if (yych == 'g') goto yy2738; - goto yy87; -yy2726: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 515 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XchgU); } -#line 13599 "src/prebuilt/wast-lexer-gen.cc" -yy2728: - yych = *++cursor_; - if (yych == '_') goto yy2739; - goto yy87; -yy2729: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 661 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64X2TruncSatF64X2S); } -#line 13611 "src/prebuilt/wast-lexer-gen.cc" -yy2731: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 662 "src/wast-lexer.cc" - { RETURN_OPCODE(Unary, I64X2TruncSatF64X2U); } -#line 13619 "src/prebuilt/wast-lexer-gen.cc" -yy2733: - yych = *++cursor_; - if (yych == '_') goto yy2740; - goto yy87; -yy2734: - yych = *++cursor_; - if (yych == 'n') goto yy2741; - goto yy87; -yy2735: - yych = *++cursor_; - if (yych == '_') goto yy2742; - goto yy87; -yy2736: - yych = *++cursor_; - if (yych == 'u') goto yy2743; - goto yy87; -yy2737: - yych = *++cursor_; - if (yych == '_') goto yy2745; - goto yy87; -yy2738: - yych = *++cursor_; - if (yych == '_') goto yy2746; - goto yy87; -yy2739: - yych = *++cursor_; - if (yych == 'u') goto yy2747; - goto yy87; -yy2740: - yych = *++cursor_; - if (yych == 'n') goto yy2749; - goto yy87; -yy2741: - yych = *++cursor_; - if (yych == 'a') goto yy2750; - goto yy87; -yy2742: - yych = *++cursor_; - if (yych == 'u') goto yy2751; - goto yy87; -yy2743: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 518 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8CmpxchgU); } -#line 13667 "src/prebuilt/wast-lexer-gen.cc" -yy2745: - yych = *++cursor_; - if (yych == 'u') goto yy2753; - goto yy87; -yy2746: - yych = *++cursor_; - if (yych == 'u') goto yy2755; - goto yy87; -yy2747: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 520 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8CmpxchgU); } -#line 13683 "src/prebuilt/wast-lexer-gen.cc" -yy2749: - yych = *++cursor_; - if (yych == 'a') goto yy2757; - goto yy87; -yy2750: - yych = *++cursor_; - if (yych == 'n') goto yy2758; - goto yy87; -yy2751: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 519 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16CmpxchgU); } -#line 13699 "src/prebuilt/wast-lexer-gen.cc" -yy2753: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 521 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16CmpxchgU); } -#line 13707 "src/prebuilt/wast-lexer-gen.cc" -yy2755: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 522 "src/wast-lexer.cc" - { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32CmpxchgU); } -#line 13715 "src/prebuilt/wast-lexer-gen.cc" -yy2757: - yych = *++cursor_; - if (yych == 'n') goto yy2760; - goto yy87; -yy2758: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 733 "src/wast-lexer.cc" - { RETURN(AssertReturnCanonicalNan); } -#line 13727 "src/prebuilt/wast-lexer-gen.cc" -yy2760: - ++cursor_; - if (yybm[0+(yych = *cursor_)] & 8) { - goto yy86; - } -#line 734 "src/wast-lexer.cc" - { RETURN(AssertReturnArithmeticNan); } -#line 13735 "src/prebuilt/wast-lexer-gen.cc" - } -} -#line 768 "src/wast-lexer.cc" - - } -} - -} // namespace wabt diff --git a/src/wast-lexer.cc b/src/wast-lexer.cc index dd440671..b010839e 100644 --- a/src/wast-lexer.cc +++ b/src/wast-lexer.cc @@ -24,749 +24,515 @@ #include "src/lexer-source.h" #include "src/wast-parser.h" -/*!max:re2c */ +#define ERROR(...) parser->Error(GetLocation(), __VA_ARGS__) -#define INITIAL_LEXER_BUFFER_SIZE (64 * 1024) +namespace wabt { -#define ERROR(...) parser->Error(GetLocation(), __VA_ARGS__) +namespace { -#define BEGIN(c) cond = (c) -#define FILL(n) \ - do { \ - if (Failed(Fill((n)))) { \ - RETURN(Eof); \ - } \ - } while (0) +#include "src/prebuilt/lexer-keywords.cc" + +} // namespace + +WastLexer::WastLexer(std::unique_ptr<LexerSource> source, string_view filename) + : source_(std::move(source)), + filename_(filename), + line_(1), + buffer_(static_cast<const char*>(source_->data())), + buffer_end_(buffer_ + source_->size()), + line_start_(buffer_), + token_start_(buffer_), + cursor_(buffer_) {} -#define MAYBE_MALFORMED_UTF8(desc) \ - if (!(eof_ && limit_ - cursor_ <= YYMAXFILL)) { \ - ERROR("malformed utf-8%s", desc); \ - } \ - continue +// static +std::unique_ptr<WastLexer> WastLexer::CreateBufferLexer(string_view filename, + const void* data, + size_t size) { + return MakeUnique<WastLexer>(MakeUnique<LexerSource>(data, size), filename); +} + +Token WastLexer::GetToken(WastParser* parser) { + while (true) { + token_start_ = cursor_; + switch (PeekChar()) { + case kEof: + return BareToken(TokenType::Eof); + + case '(': + if (MatchString("(;")) { + if (ReadBlockComment(parser)) { + continue; + } + return BareToken(TokenType::Eof); + } else { + ReadChar(); + return BareToken(TokenType::Lpar); + } + break; + + case ')': + ReadChar(); + return BareToken(TokenType::Rpar); + + case ';': + if (MatchString(";;")) { + if (ReadLineComment()) { + continue; + } + return BareToken(TokenType::Eof); + } else { + ReadChar(); + ERROR("unexpected char"); + continue; + } + break; + + case ' ': + case '\t': + case '\r': + case '\n': + ReadWhitespace(); + continue; + + case '"': + return GetStringToken(parser); + + case '+': + case '-': + ReadChar(); + switch (PeekChar()) { + case 'i': + return GetInfToken(); + + case 'n': + return GetNanToken(); + + case '0': + return MatchString("0x") ? GetHexNumberToken(TokenType::Int) + : GetNumberToken(TokenType::Int); + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return GetNumberToken(TokenType::Int); + + default: + return GetReservedToken(); + } + break; + + case '0': + return MatchString("0x") ? GetHexNumberToken(TokenType::Nat) + : GetNumberToken(TokenType::Nat); + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return GetNumberToken(TokenType::Nat); + + case '$': + return GetIdToken(); + + case 'a': + return GetNameEqNumToken("align=", TokenType::AlignEqNat); + + case 'i': + return GetInfToken(); + + case 'n': + return GetNanToken(); + + case 'o': + return GetNameEqNumToken("offset=", TokenType::OffsetEqNat); + + default: + if (IsKeyword(PeekChar())) { + return GetKeywordToken(); + } else if (IsReserved(PeekChar())) { + return GetReservedToken(); + } else { + ERROR("unexpected char"); + continue; + } + } + } +} + +Location WastLexer::GetLocation() { + auto column = [=](const char* p) { return p - line_start_ + 1; }; + return Location(filename_, line_, column(token_start_), column(cursor_)); +} -#define yytext (next_pos_) -#define yyleng (cursor_ - next_pos_) +std::string WastLexer::GetText(size_t offset) { + return std::string(token_start_ + offset, (cursor_ - token_start_) - offset); +} -/* p must be a pointer somewhere in the lexer buffer */ -#define FILE_OFFSET(p) ((p) - (buffer_) + buffer_file_offset_) -#define COLUMN(p) (FILE_OFFSET(p) - line_file_offset_ + 1) +Token WastLexer::BareToken(TokenType token_type) { + return Token(GetLocation(), token_type); +} -#define COMMENT_NESTING (comment_nesting_) -#define NEWLINE \ - do { \ - line_++; \ - line_file_offset_ = FILE_OFFSET(cursor_); \ - } while (0) +Token WastLexer::LiteralToken(TokenType token_type, LiteralType literal_type) { + return Token(GetLocation(), token_type, Literal(literal_type, GetText())); +} -#define RETURN(token) return Token(GetLocation(), TokenType::token); +Token WastLexer::TextToken(TokenType token_type, size_t offset) { + return Token(GetLocation(), token_type, GetText(offset)); +} -#define RETURN_LITERAL(token, literal) \ - return Token(GetLocation(), TokenType::token, \ - MakeLiteral(LiteralType::literal)) +int WastLexer::PeekChar() { + return cursor_ < buffer_end_ ? *cursor_ : kEof; +} -#define RETURN_TYPE(token, type) \ - return Token(GetLocation(), TokenType::token, Type::type) +int WastLexer::ReadChar() { + return cursor_ < buffer_end_ ? *cursor_++ : kEof; +} -#define RETURN_OPCODE0(token) \ - return Token(GetLocation(), TokenType::token, Opcode::token) +bool WastLexer::MatchChar(char c) { + if (PeekChar() == c) { + ReadChar(); + return true; + } + return false; +} -#define RETURN_OPCODE(token, opcode) \ - return Token(GetLocation(), TokenType::token, Opcode::opcode) +bool WastLexer::MatchString(string_view s) { + const char* saved_cursor = cursor_; + for (char c : s) { + if (ReadChar() != c) { + cursor_ = saved_cursor; + return false; + } + } + return true; +} -#define RETURN_TEXT(token) \ - return Token(GetLocation(), TokenType::token, GetText()) +void WastLexer::Newline() { + line_++; + line_start_ = cursor_; +} -#define RETURN_TEXT_AT(token, at) \ - return Token(GetLocation(), TokenType::token, GetText(at)) +bool WastLexer::ReadBlockComment(WastParser* parser) { + int nesting = 1; + while (true) { + switch (ReadChar()) { + case kEof: + ERROR("EOF in block comment"); + return false; + + case ';': + if (MatchChar(')') && --nesting == 0) { + return true; + } + break; + + case '(': + if (MatchChar(';')) { + nesting++; + } + break; + + case '\n': + Newline(); + break; + } + } +} -namespace wabt { +bool WastLexer::ReadLineComment() { + while (true) { + switch (ReadChar()) { + case kEof: + return false; -WastLexer::WastLexer(std::unique_ptr<LexerSource> source, string_view filename) - : source_(std::move(source)), - filename_(filename), - line_(1), - comment_nesting_(0), - buffer_file_offset_(0), - line_file_offset_(0), - eof_(false), - buffer_(nullptr), - buffer_size_(0), - marker_(nullptr), - next_pos_(nullptr), - cursor_(nullptr), - limit_(nullptr) {} - -WastLexer::~WastLexer() { - delete[] buffer_; + case '\n': + Newline(); + return true; + } + } +} + +void WastLexer::ReadWhitespace() { + while (true) { + switch (PeekChar()) { + case ' ': + case '\t': + case '\r': + ReadChar(); + break; + + case '\n': + ReadChar(); + Newline(); + break; + + default: + return; + } + } +} + +Token WastLexer::GetStringToken(WastParser* parser) { + ReadChar(); + bool in_string = true; + while (in_string) { + switch (ReadChar()) { + case kEof: + return BareToken(TokenType::Eof); + + case '\n': + token_start_ = cursor_ - 1; + ERROR("newline in string"); + Newline(); + continue; + + case '"': + in_string = false; + break; + + case '\\': { + switch (ReadChar()) { + case 't': + case 'n': + case 'r': + case '"': + case '\'': + case '\\': + // Valid escape. + break; + + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': // Hex byte escape. + if (!IsHexDigit(ReadChar())) { + token_start_ = cursor_ - 3; + goto error; + } + break; + + default: + token_start_ = cursor_ - 2; + goto error; + + error: + ERROR("bad escape \"%.*s\"", + static_cast<int>(cursor_ - token_start_), token_start_); + break; + } + break; + } + } + } + return TextToken(TokenType::Text); } // static -std::unique_ptr<WastLexer> WastLexer::CreateBufferLexer(string_view filename, - const void* data, - size_t size) { - return MakeUnique<WastLexer>(MakeUnique<LexerSource>(data, size), filename); +bool WastLexer::IsCharClass(int c, CharClass bit) { + // Generated by the following python script: + // + // def Range(c, lo, hi): return lo <= c <= hi + // def IsDigit(c): return Range(c, '0', '9') + // def IsHexDigit(c): return IsDigit(c) or Range(c.lower(), 'a', 'f') + // def IsKeyword(c): return Range(c, 'a', 'z') + // def IsReserved(c): return Range(c, '!', '~') and c not in '"(),;[]{}' + // + // print ([0] + [ + // (8 if IsDigit(c) else 0) | + // (4 if IsHexDigit(c) else 0) | + // (2 if IsKeyword(c) else 0) | + // (1 if IsReserved(c) else 0) + // for c in map(chr, range(0, 127)) + // ]) + static const char kCharClasses[257] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, + 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 1, 0, 1, 1, 1, 1, 1, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, + 1, 1, 1, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 1, 0, 1, + }; + + assert(c >= -1 && c < 256); + return (kCharClasses[c + 1] & static_cast<int>(bit)) != 0; } -Location WastLexer::GetLocation() { - return Location(filename_, line_, COLUMN(next_pos_), COLUMN(cursor_)); +bool WastLexer::ReadNum() { + if (IsDigit(PeekChar())) { + ReadChar(); + return MatchChar('_') || IsDigit(PeekChar()) ? ReadNum() : true; + } + return false; } -Literal WastLexer::MakeLiteral(LiteralType type) { - return Literal(type, GetText()); +bool WastLexer::ReadHexNum() { + if (IsHexDigit(PeekChar())) { + ReadChar(); + return MatchChar('_') || IsHexDigit(PeekChar()) ? ReadHexNum() : true; + } + return false; } -std::string WastLexer::GetText(size_t offset) { - return std::string(yytext + offset, yyleng - offset); +int WastLexer::ReadReservedChars() { + int count = 0; + while (IsReserved(PeekChar())) { + ReadChar(); + ++count; + } + return count; } -Result WastLexer::Fill(size_t need) { - if (eof_) { - return Result::Error; +void WastLexer::ReadSign() { + if (PeekChar() == '+' || PeekChar() == '-') { + ReadChar(); } - size_t free = next_pos_ - buffer_; - assert(static_cast<size_t>(cursor_ - buffer_) >= free); - // Our buffer is too small, need to realloc. - if (free < need) { - char* old_buffer = buffer_; - size_t old_buffer_size = buffer_size_; - size_t new_buffer_size = - old_buffer_size ? old_buffer_size * 2 : INITIAL_LEXER_BUFFER_SIZE; - // Make sure there is enough space for the bytes requested (need) and an - // additional YYMAXFILL bytes which is needed for the re2c lexer - // implementation when the eof is reached. - while ((new_buffer_size - old_buffer_size) + free < need + YYMAXFILL) - new_buffer_size *= 2; - - char* new_buffer = new char[new_buffer_size]; - if (limit_ > next_pos_) { - memmove(new_buffer, next_pos_, limit_ - next_pos_); +} + +Token WastLexer::GetNumberToken(TokenType token_type) { + if (ReadNum()) { + if (MatchChar('.')) { + token_type = TokenType::Float; + if (IsDigit(PeekChar()) && !ReadNum()) { + return GetReservedToken(); + } } - buffer_ = new_buffer; - buffer_size_ = new_buffer_size; - next_pos_ = new_buffer + (next_pos_ - old_buffer) - free; - marker_ = new_buffer + (marker_ - old_buffer) - free; - cursor_ = new_buffer + (cursor_ - old_buffer) - free; - limit_ = new_buffer + (limit_ - old_buffer) - free; - buffer_file_offset_ += free; - free += new_buffer_size - old_buffer_size; - delete[] old_buffer; - } else { - // Shift everything down to make more room in the buffer. - if (limit_ > next_pos_) { - memmove(buffer_, next_pos_, limit_ - next_pos_); + if (MatchChar('e') || MatchChar('E')) { + token_type = TokenType::Float; + ReadSign(); + if (!ReadNum()) { + return GetReservedToken(); + } + } + if (NoTrailingReservedChars()) { + if (token_type == TokenType::Float) { + return LiteralToken(token_type, LiteralType::Float); + } else { + return LiteralToken(token_type, LiteralType::Int); + } + } + } + return GetReservedToken(); +} + +Token WastLexer::GetHexNumberToken(TokenType token_type) { + if (ReadHexNum()) { + if (MatchChar('.')) { + token_type = TokenType::Float; + if (IsHexDigit(PeekChar()) && !ReadHexNum()) { + return GetReservedToken(); + } + } + if (MatchChar('p') || MatchChar('P')) { + token_type = TokenType::Float; + ReadSign(); + if (!ReadHexNum()) { + return GetReservedToken(); + } + } + if (NoTrailingReservedChars()) { + if (token_type == TokenType::Float) { + return LiteralToken(token_type, LiteralType::Hexfloat); + } else { + return LiteralToken(token_type, LiteralType::Int); + } } - next_pos_ -= free; - marker_ -= free; - cursor_ -= free; - limit_ -= free; - buffer_file_offset_ += free; } - // Read the new data into the buffer. - limit_ += source_->Fill(limit_, free); - - // If at the end of file, need to fill YYMAXFILL more characters with "fake - // characters", that are not a lexeme nor a lexeme suffix. see - // http://re2c.org/examples/example_03.html. - if (limit_ < buffer_ + buffer_size_ - YYMAXFILL) { - eof_ = true; - // Fill with 0xff, since that is an invalid utf-8 byte. - memset(limit_, 0xff, YYMAXFILL); - limit_ += YYMAXFILL; + return GetReservedToken(); +} + +Token WastLexer::GetInfToken() { + if (MatchString("inf")) { + if (NoTrailingReservedChars()) { + return LiteralToken(TokenType::Float, LiteralType::Infinity); + } + return GetReservedToken(); } - return Result::Ok; + return GetKeywordToken(); } -Token WastLexer::GetToken(WastParser* parser) { - /*!types:re2c*/ - YYCONDTYPE cond = YYCOND_i; // i is the initial state. - - for (;;) { - next_pos_ = cursor_; - /*!re2c - re2c:condprefix = YYCOND_; - re2c:condenumprefix = YYCOND_; - re2c:define:YYCTYPE = "unsigned char"; - re2c:define:YYCURSOR = cursor_; - re2c:define:YYMARKER = marker_; - re2c:define:YYLIMIT = limit_; - re2c:define:YYFILL = "FILL"; - re2c:define:YYGETCONDITION = "cond"; - re2c:define:YYGETCONDITION:naked = 1; - re2c:define:YYSETCONDITION = "BEGIN"; - - digit = [0-9]; - hexdigit = [0-9a-fA-F]; - num = digit ("_"? digit)*; - hexnum = hexdigit ("_"? hexdigit)*; - letter = [a-zA-Z]; - symbol = [+\-*\\/^~=<>!?@#$%&|:`.']; - character = [^"\\\x00-\x1f] - | "\\" [nrt\\'"] - | "\\" hexdigit hexdigit; - sign = [+-]; - nat = num | "0x" hexnum; - int = sign nat; - frac = num; - hexfrac = hexnum; - hexfloat = sign? "0x" hexnum "." hexfrac? - | sign? "0x" hexnum ("." hexfrac?)? [pP] sign? num; - infinity = sign? "inf"; - nan = sign? "nan" - | sign? "nan:0x" hexnum; - float = sign? num "." frac? - | sign? num ("." frac?)? [eE] sign? num; - text = '"' character* '"'; - name = "$" (letter | digit | "_" | symbol)+; - - // Should be ([\x21-\x7e] \ [()"; ])+ , but re2c doesn't like this... - reserved = [\x21\x23-\x27\x2a-\x3a\x3c-\x7e]+; - - <i> "(" { RETURN(Lpar); } - <i> ")" { RETURN(Rpar); } - <i> nat { RETURN_LITERAL(Nat, Int); } - <i> int { RETURN_LITERAL(Int, Int); } - <i> float { RETURN_LITERAL(Float, Float); } - <i> hexfloat { RETURN_LITERAL(Float, Hexfloat); } - <i> infinity { RETURN_LITERAL(Float, Infinity); } - <i> nan { RETURN_LITERAL(Float, Nan); } - <i> text { RETURN_TEXT(Text); } - <i> '"' => BAD_TEXT { continue; } - <BAD_TEXT> character { continue; } - <BAD_TEXT> "\n" => i { ERROR("newline in string"); - NEWLINE; - continue; } - <BAD_TEXT> "\\". { ERROR("bad escape \"%.*s\"", - static_cast<int>(yyleng), yytext); - continue; } - <BAD_TEXT> '"' => i { RETURN_TEXT(Text); } - <BAD_TEXT> [^] { ERROR("illegal character in string"); - continue; } - <BAD_TEXT> * { MAYBE_MALFORMED_UTF8(" in string"); } - <i> "i32" { RETURN_TYPE(ValueType, I32); } - <i> "i64" { RETURN_TYPE(ValueType, I64); } - <i> "f32" { RETURN_TYPE(ValueType, F32); } - <i> "f64" { RETURN_TYPE(ValueType, F64); } - <i> "v128" { RETURN_TYPE(ValueType, V128); } - <i> "funcref" { RETURN_TYPE(ValueType, Funcref); } - <i> "anyref" { RETURN_TYPE(ValueType, Anyref); } - <i> "mut" { RETURN(Mut); } - <i> "nop" { RETURN_OPCODE0(Nop); } - <i> "block" { RETURN_OPCODE0(Block); } - <i> "if" { RETURN_OPCODE0(If); } - <i> "then" { RETURN(Then); } - <i> "else" { RETURN_OPCODE0(Else); } - <i> "loop" { RETURN_OPCODE0(Loop); } - <i> "br" { RETURN_OPCODE0(Br); } - <i> "br_if" { RETURN_OPCODE0(BrIf); } - <i> "br_table" { RETURN_OPCODE0(BrTable); } - <i> "call" { RETURN_OPCODE0(Call); } - <i> "call_indirect" { RETURN_OPCODE0(CallIndirect); } - <i> "drop" { RETURN_OPCODE0(Drop); } - <i> "end" { RETURN_OPCODE0(End); } - <i> "return" { RETURN_OPCODE0(Return); } - <i> "local.get" { RETURN_OPCODE0(LocalGet); } - <i> "local.set" { RETURN_OPCODE0(LocalSet); } - <i> "local.tee" { RETURN_OPCODE0(LocalTee); } - <i> "global.get" { RETURN_OPCODE0(GlobalGet); } - <i> "global.set" { RETURN_OPCODE0(GlobalSet); } - <i> "i32.load" { RETURN_OPCODE(Load, I32Load); } - <i> "i64.load" { RETURN_OPCODE(Load, I64Load); } - <i> "f32.load" { RETURN_OPCODE(Load, F32Load); } - <i> "f64.load" { RETURN_OPCODE(Load, F64Load); } - <i> "i32.store" { RETURN_OPCODE(Store, I32Store); } - <i> "i64.store" { RETURN_OPCODE(Store, I64Store); } - <i> "f32.store" { RETURN_OPCODE(Store, F32Store); } - <i> "f64.store" { RETURN_OPCODE(Store, F64Store); } - <i> "i32.load8_s" { RETURN_OPCODE(Load, I32Load8S); } - <i> "i64.load8_s" { RETURN_OPCODE(Load, I64Load8S); } - <i> "i32.load8_u" { RETURN_OPCODE(Load, I32Load8U); } - <i> "i64.load8_u" { RETURN_OPCODE(Load, I64Load8U); } - <i> "i32.load16_s" { RETURN_OPCODE(Load, I32Load16S); } - <i> "i64.load16_s" { RETURN_OPCODE(Load, I64Load16S); } - <i> "i32.load16_u" { RETURN_OPCODE(Load, I32Load16U); } - <i> "i64.load16_u" { RETURN_OPCODE(Load, I64Load16U); } - <i> "i64.load32_s" { RETURN_OPCODE(Load, I64Load32S); } - <i> "i64.load32_u" { RETURN_OPCODE(Load, I64Load32U); } - <i> "i32.store8" { RETURN_OPCODE(Store, I32Store8); } - <i> "i64.store8" { RETURN_OPCODE(Store, I64Store8); } - <i> "i32.store16" { RETURN_OPCODE(Store, I32Store16); } - <i> "i64.store16" { RETURN_OPCODE(Store, I64Store16); } - <i> "i64.store32" { RETURN_OPCODE(Store, I64Store32); } - <i> "offset=" nat { RETURN_TEXT_AT(OffsetEqNat, 7); } - <i> "align=" nat { RETURN_TEXT_AT(AlignEqNat, 6); } - <i> "i32.const" { RETURN_OPCODE(Const, I32Const); } - <i> "i64.const" { RETURN_OPCODE(Const, I64Const); } - <i> "f32.const" { RETURN_OPCODE(Const, F32Const); } - <i> "f64.const" { RETURN_OPCODE(Const, F64Const); } - <i> "i32.eqz" { RETURN_OPCODE(Convert, I32Eqz); } - <i> "i64.eqz" { RETURN_OPCODE(Convert, I64Eqz); } - <i> "i32.clz" { RETURN_OPCODE(Unary, I32Clz); } - <i> "i64.clz" { RETURN_OPCODE(Unary, I64Clz); } - <i> "i32.ctz" { RETURN_OPCODE(Unary, I32Ctz); } - <i> "i64.ctz" { RETURN_OPCODE(Unary, I64Ctz); } - <i> "i32.popcnt" { RETURN_OPCODE(Unary, I32Popcnt); } - <i> "i64.popcnt" { RETURN_OPCODE(Unary, I64Popcnt); } - <i> "f32.neg" { RETURN_OPCODE(Unary, F32Neg); } - <i> "f64.neg" { RETURN_OPCODE(Unary, F64Neg); } - <i> "f32.abs" { RETURN_OPCODE(Unary, F32Abs); } - <i> "f64.abs" { RETURN_OPCODE(Unary, F64Abs); } - <i> "f32.sqrt" { RETURN_OPCODE(Unary, F32Sqrt); } - <i> "f64.sqrt" { RETURN_OPCODE(Unary, F64Sqrt); } - <i> "f32.ceil" { RETURN_OPCODE(Unary, F32Ceil); } - <i> "f64.ceil" { RETURN_OPCODE(Unary, F64Ceil); } - <i> "f32.floor" { RETURN_OPCODE(Unary, F32Floor); } - <i> "f64.floor" { RETURN_OPCODE(Unary, F64Floor); } - <i> "f32.trunc" { RETURN_OPCODE(Unary, F32Trunc); } - <i> "f64.trunc" { RETURN_OPCODE(Unary, F64Trunc); } - <i> "f32.nearest" { RETURN_OPCODE(Unary, F32Nearest); } - <i> "f64.nearest" { RETURN_OPCODE(Unary, F64Nearest); } - <i> "i32.extend8_s" { RETURN_OPCODE(Unary, I32Extend8S); } - <i> "i32.extend16_s" { RETURN_OPCODE(Unary, I32Extend16S); } - <i> "i64.extend8_s" { RETURN_OPCODE(Unary, I64Extend8S); } - <i> "i64.extend16_s" { RETURN_OPCODE(Unary, I64Extend16S); } - <i> "i64.extend32_s" { RETURN_OPCODE(Unary, I64Extend32S); } - <i> "i32.add" { RETURN_OPCODE(Binary, I32Add); } - <i> "i64.add" { RETURN_OPCODE(Binary, I64Add); } - <i> "i32.sub" { RETURN_OPCODE(Binary, I32Sub); } - <i> "i64.sub" { RETURN_OPCODE(Binary, I64Sub); } - <i> "i32.mul" { RETURN_OPCODE(Binary, I32Mul); } - <i> "i64.mul" { RETURN_OPCODE(Binary, I64Mul); } - <i> "i32.div_s" { RETURN_OPCODE(Binary, I32DivS); } - <i> "i64.div_s" { RETURN_OPCODE(Binary, I64DivS); } - <i> "i32.div_u" { RETURN_OPCODE(Binary, I32DivU); } - <i> "i64.div_u" { RETURN_OPCODE(Binary, I64DivU); } - <i> "i32.rem_s" { RETURN_OPCODE(Binary, I32RemS); } - <i> "i64.rem_s" { RETURN_OPCODE(Binary, I64RemS); } - <i> "i32.rem_u" { RETURN_OPCODE(Binary, I32RemU); } - <i> "i64.rem_u" { RETURN_OPCODE(Binary, I64RemU); } - <i> "i32.and" { RETURN_OPCODE(Binary, I32And); } - <i> "i64.and" { RETURN_OPCODE(Binary, I64And); } - <i> "i32.or" { RETURN_OPCODE(Binary, I32Or); } - <i> "i64.or" { RETURN_OPCODE(Binary, I64Or); } - <i> "i32.xor" { RETURN_OPCODE(Binary, I32Xor); } - <i> "i64.xor" { RETURN_OPCODE(Binary, I64Xor); } - <i> "i32.shl" { RETURN_OPCODE(Binary, I32Shl); } - <i> "i64.shl" { RETURN_OPCODE(Binary, I64Shl); } - <i> "i32.shr_s" { RETURN_OPCODE(Binary, I32ShrS); } - <i> "i64.shr_s" { RETURN_OPCODE(Binary, I64ShrS); } - <i> "i32.shr_u" { RETURN_OPCODE(Binary, I32ShrU); } - <i> "i64.shr_u" { RETURN_OPCODE(Binary, I64ShrU); } - <i> "i32.rotl" { RETURN_OPCODE(Binary, I32Rotl); } - <i> "i64.rotl" { RETURN_OPCODE(Binary, I64Rotl); } - <i> "i32.rotr" { RETURN_OPCODE(Binary, I32Rotr); } - <i> "i64.rotr" { RETURN_OPCODE(Binary, I64Rotr); } - <i> "f32.add" { RETURN_OPCODE(Binary, F32Add); } - <i> "f64.add" { RETURN_OPCODE(Binary, F64Add); } - <i> "f32.sub" { RETURN_OPCODE(Binary, F32Sub); } - <i> "f64.sub" { RETURN_OPCODE(Binary, F64Sub); } - <i> "f32.mul" { RETURN_OPCODE(Binary, F32Mul); } - <i> "f64.mul" { RETURN_OPCODE(Binary, F64Mul); } - <i> "f32.div" { RETURN_OPCODE(Binary, F32Div); } - <i> "f64.div" { RETURN_OPCODE(Binary, F64Div); } - <i> "f32.min" { RETURN_OPCODE(Binary, F32Min); } - <i> "f64.min" { RETURN_OPCODE(Binary, F64Min); } - <i> "f32.max" { RETURN_OPCODE(Binary, F32Max); } - <i> "f64.max" { RETURN_OPCODE(Binary, F64Max); } - <i> "f32.copysign" { RETURN_OPCODE(Binary, F32Copysign); } - <i> "f64.copysign" { RETURN_OPCODE(Binary, F64Copysign); } - <i> "i32.eq" { RETURN_OPCODE(Compare, I32Eq); } - <i> "i64.eq" { RETURN_OPCODE(Compare, I64Eq); } - <i> "i32.ne" { RETURN_OPCODE(Compare, I32Ne); } - <i> "i64.ne" { RETURN_OPCODE(Compare, I64Ne); } - <i> "i32.lt_s" { RETURN_OPCODE(Compare, I32LtS); } - <i> "i64.lt_s" { RETURN_OPCODE(Compare, I64LtS); } - <i> "i32.lt_u" { RETURN_OPCODE(Compare, I32LtU); } - <i> "i64.lt_u" { RETURN_OPCODE(Compare, I64LtU); } - <i> "i32.le_s" { RETURN_OPCODE(Compare, I32LeS); } - <i> "i64.le_s" { RETURN_OPCODE(Compare, I64LeS); } - <i> "i32.le_u" { RETURN_OPCODE(Compare, I32LeU); } - <i> "i64.le_u" { RETURN_OPCODE(Compare, I64LeU); } - <i> "i32.gt_s" { RETURN_OPCODE(Compare, I32GtS); } - <i> "i64.gt_s" { RETURN_OPCODE(Compare, I64GtS); } - <i> "i32.gt_u" { RETURN_OPCODE(Compare, I32GtU); } - <i> "i64.gt_u" { RETURN_OPCODE(Compare, I64GtU); } - <i> "i32.ge_s" { RETURN_OPCODE(Compare, I32GeS); } - <i> "i64.ge_s" { RETURN_OPCODE(Compare, I64GeS); } - <i> "i32.ge_u" { RETURN_OPCODE(Compare, I32GeU); } - <i> "i64.ge_u" { RETURN_OPCODE(Compare, I64GeU); } - <i> "f32.eq" { RETURN_OPCODE(Compare, F32Eq); } - <i> "f64.eq" { RETURN_OPCODE(Compare, F64Eq); } - <i> "f32.ne" { RETURN_OPCODE(Compare, F32Ne); } - <i> "f64.ne" { RETURN_OPCODE(Compare, F64Ne); } - <i> "f32.lt" { RETURN_OPCODE(Compare, F32Lt); } - <i> "f64.lt" { RETURN_OPCODE(Compare, F64Lt); } - <i> "f32.le" { RETURN_OPCODE(Compare, F32Le); } - <i> "f64.le" { RETURN_OPCODE(Compare, F64Le); } - <i> "f32.gt" { RETURN_OPCODE(Compare, F32Gt); } - <i> "f64.gt" { RETURN_OPCODE(Compare, F64Gt); } - <i> "f32.ge" { RETURN_OPCODE(Compare, F32Ge); } - <i> "f64.ge" { RETURN_OPCODE(Compare, F64Ge); } - <i> "i64.extend_i32_s" { RETURN_OPCODE(Convert, I64ExtendI32S); } - <i> "i64.extend_i32_u" { RETURN_OPCODE(Convert, I64ExtendI32U); } - <i> "i32.wrap_i64" { RETURN_OPCODE(Convert, I32WrapI64); } - <i> "i32.trunc_f32_s" { RETURN_OPCODE(Convert, I32TruncF32S); } - <i> "i64.trunc_f32_s" { RETURN_OPCODE(Convert, I64TruncF32S); } - <i> "i32.trunc_f64_s" { RETURN_OPCODE(Convert, I32TruncF64S); } - <i> "i64.trunc_f64_s" { RETURN_OPCODE(Convert, I64TruncF64S); } - <i> "i32.trunc_f32_u" { RETURN_OPCODE(Convert, I32TruncF32U); } - <i> "i64.trunc_f32_u" { RETURN_OPCODE(Convert, I64TruncF32U); } - <i> "i32.trunc_f64_u" { RETURN_OPCODE(Convert, I32TruncF64U); } - <i> "i64.trunc_f64_u" { RETURN_OPCODE(Convert, I64TruncF64U); } - <i> "i32.trunc_sat_f32_s" { RETURN_OPCODE(Convert, I32TruncSatF32S); } - <i> "i64.trunc_sat_f32_s" { RETURN_OPCODE(Convert, I64TruncSatF32S); } - <i> "i32.trunc_sat_f64_s" { RETURN_OPCODE(Convert, I32TruncSatF64S); } - <i> "i64.trunc_sat_f64_s" { RETURN_OPCODE(Convert, I64TruncSatF64S); } - <i> "i32.trunc_sat_f32_u" { RETURN_OPCODE(Convert, I32TruncSatF32U); } - <i> "i64.trunc_sat_f32_u" { RETURN_OPCODE(Convert, I64TruncSatF32U); } - <i> "i32.trunc_sat_f64_u" { RETURN_OPCODE(Convert, I32TruncSatF64U); } - <i> "i64.trunc_sat_f64_u" { RETURN_OPCODE(Convert, I64TruncSatF64U); } - <i> "f32.convert_i32_s" { RETURN_OPCODE(Convert, F32ConvertI32S); } - <i> "f64.convert_i32_s" { RETURN_OPCODE(Convert, F64ConvertI32S); } - <i> "f32.convert_i64_s" { RETURN_OPCODE(Convert, F32ConvertI64S); } - <i> "f64.convert_i64_s" { RETURN_OPCODE(Convert, F64ConvertI64S); } - <i> "f32.convert_i32_u" { RETURN_OPCODE(Convert, F32ConvertI32U); } - <i> "f64.convert_i32_u" { RETURN_OPCODE(Convert, F64ConvertI32U); } - <i> "f32.convert_i64_u" { RETURN_OPCODE(Convert, F32ConvertI64U); } - <i> "f64.convert_i64_u" { RETURN_OPCODE(Convert, F64ConvertI64U); } - <i> "f64.promote_f32" { RETURN_OPCODE(Convert, F64PromoteF32); } - <i> "f32.demote_f64" { RETURN_OPCODE(Convert, F32DemoteF64); } - <i> "f32.reinterpret_i32" { RETURN_OPCODE(Convert, F32ReinterpretI32); } - <i> "i32.reinterpret_f32" { RETURN_OPCODE(Convert, I32ReinterpretF32); } - <i> "f64.reinterpret_i64" { RETURN_OPCODE(Convert, F64ReinterpretI64); } - <i> "i64.reinterpret_f64" { RETURN_OPCODE(Convert, I64ReinterpretF64); } - <i> "select" { RETURN_OPCODE0(Select); } - <i> "unreachable" { RETURN_OPCODE0(Unreachable); } - <i> "memory.size" { RETURN_OPCODE0(MemorySize); } - <i> "memory.grow" { RETURN_OPCODE0(MemoryGrow); } - <i> "memory.init" { RETURN_OPCODE0(MemoryInit); } - <i> "data.drop" { RETURN_OPCODE0(DataDrop); } - <i> "memory.copy" { RETURN_OPCODE0(MemoryCopy); } - <i> "memory.fill" { RETURN_OPCODE0(MemoryFill); } - <i> "current_memory" { RETURN_OPCODE0(MemorySize); } - <i> "grow_memory" { RETURN_OPCODE0(MemoryGrow); } - <i> "table.init" { RETURN_OPCODE0(TableInit); } - <i> "elem.drop" { RETURN_OPCODE0(ElemDrop); } - <i> "table.copy" { RETURN_OPCODE0(TableCopy); } - <i> "table.get" { RETURN_OPCODE0(TableGet); } - <i> "table.set" { RETURN_OPCODE0(TableSet); } - <i> "table.grow" { RETURN_OPCODE0(TableGrow); } - <i> "table.size" { RETURN_OPCODE0(TableSize); } - <i> "ref.null" { RETURN_OPCODE0(RefNull); } - <i> "ref.is_null" { RETURN_OPCODE0(RefIsNull); } - - <i> "i32.atomic.wait" { RETURN_OPCODE(AtomicWait, I32AtomicWait); } - <i> "i64.atomic.wait" { RETURN_OPCODE(AtomicWait, I64AtomicWait); } - <i> "atomic.notify" { RETURN_OPCODE0(AtomicNotify); } - <i> "i32.atomic.load" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad); } - <i> "i64.atomic.load" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad); } - <i> "i32.atomic.load8_u" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); } - <i> "i32.atomic.load16_u" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); } - <i> "i64.atomic.load8_u" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); } - <i> "i64.atomic.load16_u" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); } - <i> "i64.atomic.load32_u" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); } - <i> "i32.atomic.store" { RETURN_OPCODE(AtomicStore, I32AtomicStore); } - <i> "i64.atomic.store" { RETURN_OPCODE(AtomicStore, I64AtomicStore); } - <i> "i32.atomic.store8" { RETURN_OPCODE(AtomicStore, I32AtomicStore8); } - <i> "i32.atomic.store16" { RETURN_OPCODE(AtomicStore, I32AtomicStore16); } - <i> "i64.atomic.store8" { RETURN_OPCODE(AtomicStore, I64AtomicStore8); } - <i> "i64.atomic.store16" { RETURN_OPCODE(AtomicStore, I64AtomicStore16); } - <i> "i64.atomic.store32" { RETURN_OPCODE(AtomicStore, I64AtomicStore32); } - <i> "i32.atomic.rmw.add" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); } - <i> "i64.atomic.rmw.add" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); } - <i> "i32.atomic.rmw8.add_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AddU); } - <i> "i32.atomic.rmw16.add_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AddU); } - <i> "i64.atomic.rmw8.add_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AddU); } - <i> "i64.atomic.rmw16.add_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AddU); } - <i> "i64.atomic.rmw32.add_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AddU); } - <i> "i32.atomic.rmw.sub" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); } - <i> "i64.atomic.rmw.sub" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); } - <i> "i32.atomic.rmw8.sub_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8SubU); } - <i> "i32.atomic.rmw16.sub_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16SubU); } - <i> "i64.atomic.rmw8.sub_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8SubU); } - <i> "i64.atomic.rmw16.sub_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16SubU); } - <i> "i64.atomic.rmw32.sub_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32SubU); } - <i> "i32.atomic.rmw.and" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); } - <i> "i64.atomic.rmw.and" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); } - <i> "i32.atomic.rmw8.and_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AndU); } - <i> "i32.atomic.rmw16.and_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AndU); } - <i> "i64.atomic.rmw8.and_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AndU); } - <i> "i64.atomic.rmw16.and_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AndU); } - <i> "i64.atomic.rmw32.and_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AndU); } - <i> "i32.atomic.rmw.or" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); } - <i> "i64.atomic.rmw.or" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); } - <i> "i32.atomic.rmw8.or_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8OrU); } - <i> "i32.atomic.rmw16.or_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16OrU); } - <i> "i64.atomic.rmw8.or_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8OrU); } - <i> "i64.atomic.rmw16.or_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16OrU); } - <i> "i64.atomic.rmw32.or_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32OrU); } - <i> "i32.atomic.rmw.xor" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); } - <i> "i64.atomic.rmw.xor" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); } - <i> "i32.atomic.rmw8.xor_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XorU); } - <i> "i32.atomic.rmw16.xor_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XorU); } - <i> "i64.atomic.rmw8.xor_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XorU); } - <i> "i64.atomic.rmw16.xor_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XorU); } - <i> "i64.atomic.rmw32.xor_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XorU); } - <i> "i32.atomic.rmw.xchg" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); } - <i> "i64.atomic.rmw.xchg" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); } - <i> "i32.atomic.rmw8.xchg_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XchgU); } - <i> "i32.atomic.rmw16.xchg_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XchgU); } - <i> "i64.atomic.rmw8.xchg_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XchgU); } - <i> "i64.atomic.rmw16.xchg_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XchgU); } - <i> "i64.atomic.rmw32.xchg_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XchgU); } - <i> "i32.atomic.rmw.cmpxchg" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); } - <i> "i64.atomic.rmw.cmpxchg" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); } - <i> "i32.atomic.rmw8.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8CmpxchgU); } - <i> "i32.atomic.rmw16.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16CmpxchgU); } - <i> "i64.atomic.rmw8.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8CmpxchgU); } - <i> "i64.atomic.rmw16.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16CmpxchgU); } - <i> "i64.atomic.rmw32.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32CmpxchgU); } - <i> "v128.const" { RETURN_OPCODE(Const, V128Const); } - <i> "v128.load" { RETURN_OPCODE(Load, V128Load); } - <i> "v128.store" { RETURN_OPCODE(Store, V128Store); } - <i> "i8x16.splat" { RETURN_OPCODE(Unary, I8X16Splat); } - <i> "i16x8.splat" { RETURN_OPCODE(Unary, I16X8Splat); } - <i> "i32x4.splat" { RETURN_OPCODE(Unary, I32X4Splat); } - <i> "i64x2.splat" { RETURN_OPCODE(Unary, I64X2Splat); } - <i> "f32x4.splat" { RETURN_OPCODE(Unary, F32X4Splat); } - <i> "f64x2.splat" { RETURN_OPCODE(Unary, F64X2Splat); } - <i> "i8x16.extract_lane_s" { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); } - <i> "i8x16.extract_lane_u" { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneU); } - <i> "i16x8.extract_lane_s" { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneS); } - <i> "i16x8.extract_lane_u" { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneU); } - <i> "i32x4.extract_lane" { RETURN_OPCODE(SimdLaneOp, I32X4ExtractLane); } - <i> "i64x2.extract_lane" { RETURN_OPCODE(SimdLaneOp, I64X2ExtractLane); } - <i> "f32x4.extract_lane" { RETURN_OPCODE(SimdLaneOp, F32X4ExtractLane); } - <i> "f64x2.extract_lane" { RETURN_OPCODE(SimdLaneOp, F64X2ExtractLane); } - <i> "i8x16.replace_lane" { RETURN_OPCODE(SimdLaneOp, I8X16ReplaceLane); } - <i> "i16x8.replace_lane" { RETURN_OPCODE(SimdLaneOp, I16X8ReplaceLane); } - <i> "i32x4.replace_lane" { RETURN_OPCODE(SimdLaneOp, I32X4ReplaceLane); } - <i> "i64x2.replace_lane" { RETURN_OPCODE(SimdLaneOp, I64X2ReplaceLane); } - <i> "f32x4.replace_lane" { RETURN_OPCODE(SimdLaneOp, F32X4ReplaceLane); } - <i> "f64x2.replace_lane" { RETURN_OPCODE(SimdLaneOp, F64X2ReplaceLane); } - <i> "v8x16.shuffle" { RETURN_OPCODE(SimdShuffleOp, V8X16Shuffle); } - <i> "i8x16.add" { RETURN_OPCODE(Binary, I8X16Add); } - <i> "i16x8.add" { RETURN_OPCODE(Binary, I16X8Add); } - <i> "i32x4.add" { RETURN_OPCODE(Binary, I32X4Add); } - <i> "i64x2.add" { RETURN_OPCODE(Binary, I64X2Add); } - <i> "i8x16.sub" { RETURN_OPCODE(Binary, I8X16Sub); } - <i> "i16x8.sub" { RETURN_OPCODE(Binary, I16X8Sub); } - <i> "i32x4.sub" { RETURN_OPCODE(Binary, I32X4Sub); } - <i> "i64x2.sub" { RETURN_OPCODE(Binary, I64X2Sub); } - <i> "i8x16.mul" { RETURN_OPCODE(Binary, I8X16Mul); } - <i> "i16x8.mul" { RETURN_OPCODE(Binary, I16X8Mul); } - <i> "i32x4.mul" { RETURN_OPCODE(Binary, I32X4Mul); } - <i> "i8x16.neg" { RETURN_OPCODE(Unary, I8X16Neg); } - <i> "i16x8.neg" { RETURN_OPCODE(Unary, I16X8Neg); } - <i> "i32x4.neg" { RETURN_OPCODE(Unary, I32X4Neg); } - <i> "i64x2.neg" { RETURN_OPCODE(Unary, I64X2Neg); } - <i> "i8x16.add_saturate_s" { RETURN_OPCODE(Binary, I8X16AddSaturateS); } - <i> "i8x16.add_saturate_u" { RETURN_OPCODE(Binary, I8X16AddSaturateU); } - <i> "i16x8.add_saturate_s" { RETURN_OPCODE(Binary, I16X8AddSaturateS); } - <i> "i16x8.add_saturate_u" { RETURN_OPCODE(Binary, I16X8AddSaturateU); } - <i> "i8x16.sub_saturate_s" { RETURN_OPCODE(Binary, I8X16SubSaturateS); } - <i> "i8x16.sub_saturate_u" { RETURN_OPCODE(Binary, I8X16SubSaturateU); } - <i> "i16x8.sub_saturate_s" { RETURN_OPCODE(Binary, I16X8SubSaturateS); } - <i> "i16x8.sub_saturate_u" { RETURN_OPCODE(Binary, I16X8SubSaturateU); } - <i> "i8x16.shl" { RETURN_OPCODE(Binary, I8X16Shl); } - <i> "i16x8.shl" { RETURN_OPCODE(Binary, I16X8Shl); } - <i> "i32x4.shl" { RETURN_OPCODE(Binary, I32X4Shl); } - <i> "i64x2.shl" { RETURN_OPCODE(Binary, I64X2Shl); } - <i> "i8x16.shr_s" { RETURN_OPCODE(Binary, I8X16ShrS); } - <i> "i8x16.shr_u" { RETURN_OPCODE(Binary, I8X16ShrU); } - <i> "i16x8.shr_s" { RETURN_OPCODE(Binary, I16X8ShrS); } - <i> "i16x8.shr_u" { RETURN_OPCODE(Binary, I16X8ShrU); } - <i> "i32x4.shr_s" { RETURN_OPCODE(Binary, I32X4ShrS); } - <i> "i32x4.shr_u" { RETURN_OPCODE(Binary, I32X4ShrU); } - <i> "i64x2.shr_s" { RETURN_OPCODE(Binary, I64X2ShrS); } - <i> "i64x2.shr_u" { RETURN_OPCODE(Binary, I64X2ShrU); } - <i> "v128.and" { RETURN_OPCODE(Binary, V128And); } - <i> "v128.or" { RETURN_OPCODE(Binary, V128Or); } - <i> "v128.xor" { RETURN_OPCODE(Binary, V128Xor); } - <i> "v128.not" { RETURN_OPCODE(Unary, V128Not); } - <i> "v128.bitselect" { RETURN_OPCODE(Ternary, V128BitSelect); } - <i> "i8x16.any_true" { RETURN_OPCODE(Unary, I8X16AnyTrue); } - <i> "i16x8.any_true" { RETURN_OPCODE(Unary, I16X8AnyTrue); } - <i> "i32x4.any_true" { RETURN_OPCODE(Unary, I32X4AnyTrue); } - <i> "i64x2.any_true" { RETURN_OPCODE(Unary, I64X2AnyTrue); } - <i> "i8x16.all_true" { RETURN_OPCODE(Unary, I8X16AllTrue); } - <i> "i16x8.all_true" { RETURN_OPCODE(Unary, I16X8AllTrue); } - <i> "i32x4.all_true" { RETURN_OPCODE(Unary, I32X4AllTrue); } - <i> "i64x2.all_true" { RETURN_OPCODE(Unary, I64X2AllTrue); } - <i> "i8x16.eq" { RETURN_OPCODE(Compare, I8X16Eq); } - <i> "i16x8.eq" { RETURN_OPCODE(Compare, I16X8Eq); } - <i> "i32x4.eq" { RETURN_OPCODE(Compare, I32X4Eq); } - <i> "f32x4.eq" { RETURN_OPCODE(Compare, F32X4Eq); } - <i> "f64x2.eq" { RETURN_OPCODE(Compare, F64X2Eq); } - <i> "i8x16.ne" { RETURN_OPCODE(Compare, I8X16Ne); } - <i> "i16x8.ne" { RETURN_OPCODE(Compare, I16X8Ne); } - <i> "i32x4.ne" { RETURN_OPCODE(Compare, I32X4Ne); } - <i> "f32x4.ne" { RETURN_OPCODE(Compare, F32X4Ne); } - <i> "f64x2.ne" { RETURN_OPCODE(Compare, F64X2Ne); } - <i> "i8x16.lt_s" { RETURN_OPCODE(Compare, I8X16LtS); } - <i> "i8x16.lt_u" { RETURN_OPCODE(Compare, I8X16LtU); } - <i> "i16x8.lt_s" { RETURN_OPCODE(Compare, I16X8LtS); } - <i> "i16x8.lt_u" { RETURN_OPCODE(Compare, I16X8LtU); } - <i> "i32x4.lt_s" { RETURN_OPCODE(Compare, I32X4LtS); } - <i> "i32x4.lt_u" { RETURN_OPCODE(Compare, I32X4LtU); } - <i> "f32x4.lt" { RETURN_OPCODE(Compare, F32X4Lt); } - <i> "f64x2.lt" { RETURN_OPCODE(Compare, F64X2Lt); } - <i> "i8x16.le_s" { RETURN_OPCODE(Compare, I8X16LeS); } - <i> "i8x16.le_u" { RETURN_OPCODE(Compare, I8X16LeU); } - <i> "i16x8.le_s" { RETURN_OPCODE(Compare, I16X8LeS); } - <i> "i16x8.le_u" { RETURN_OPCODE(Compare, I16X8LeU); } - <i> "i32x4.le_s" { RETURN_OPCODE(Compare, I32X4LeS); } - <i> "i32x4.le_u" { RETURN_OPCODE(Compare, I32X4LeU); } - <i> "f32x4.le" { RETURN_OPCODE(Compare, F32X4Le); } - <i> "f64x2.le" { RETURN_OPCODE(Compare, F64X2Le); } - <i> "i8x16.gt_s" { RETURN_OPCODE(Compare, I8X16GtS); } - <i> "i8x16.gt_u" { RETURN_OPCODE(Compare, I8X16GtU); } - <i> "i16x8.gt_s" { RETURN_OPCODE(Compare, I16X8GtS); } - <i> "i16x8.gt_u" { RETURN_OPCODE(Compare, I16X8GtU); } - <i> "i32x4.gt_s" { RETURN_OPCODE(Compare, I32X4GtS); } - <i> "i32x4.gt_u" { RETURN_OPCODE(Compare, I32X4GtU); } - <i> "f32x4.gt" { RETURN_OPCODE(Compare, F32X4Gt); } - <i> "f64x2.gt" { RETURN_OPCODE(Compare, F64X2Gt); } - <i> "i8x16.ge_s" { RETURN_OPCODE(Compare, I8X16GeS); } - <i> "i8x16.ge_u" { RETURN_OPCODE(Compare, I8X16GeU); } - <i> "i16x8.ge_s" { RETURN_OPCODE(Compare, I16X8GeS); } - <i> "i16x8.ge_u" { RETURN_OPCODE(Compare, I16X8GeU); } - <i> "i32x4.ge_s" { RETURN_OPCODE(Compare, I32X4GeS); } - <i> "i32x4.ge_u" { RETURN_OPCODE(Compare, I32X4GeU); } - <i> "f32x4.ge" { RETURN_OPCODE(Compare, F32X4Ge); } - <i> "f64x2.ge" { RETURN_OPCODE(Compare, F64X2Ge); } - <i> "f32x4.neg" { RETURN_OPCODE(Unary, F32X4Neg); } - <i> "f64x2.neg" { RETURN_OPCODE(Unary, F64X2Neg); } - <i> "f32x4.abs" { RETURN_OPCODE(Unary, F32X4Abs); } - <i> "f64x2.abs" { RETURN_OPCODE(Unary, F64X2Abs); } - <i> "f32x4.min" { RETURN_OPCODE(Binary, F32X4Min); } - <i> "f64x2.min" { RETURN_OPCODE(Binary, F64X2Min); } - <i> "f32x4.max" { RETURN_OPCODE(Binary, F32X4Max); } - <i> "f64x2.max" { RETURN_OPCODE(Binary, F64X2Max); } - <i> "f32x4.add" { RETURN_OPCODE(Binary, F32X4Add); } - <i> "f64x2.add" { RETURN_OPCODE(Binary, F64X2Add); } - <i> "f32x4.sub" { RETURN_OPCODE(Binary, F32X4Sub); } - <i> "f64x2.sub" { RETURN_OPCODE(Binary, F64X2Sub); } - <i> "f32x4.div" { RETURN_OPCODE(Binary, F32X4Div); } - <i> "f64x2.div" { RETURN_OPCODE(Binary, F64X2Div); } - <i> "f32x4.mul" { RETURN_OPCODE(Binary, F32X4Mul); } - <i> "f64x2.mul" { RETURN_OPCODE(Binary, F64X2Mul); } - <i> "f32x4.sqrt" { RETURN_OPCODE(Unary, F32X4Sqrt); } - <i> "f64x2.sqrt" { RETURN_OPCODE(Unary, F64X2Sqrt); } - <i> "f32x4.convert_i32x4_s" { RETURN_OPCODE(Unary, F32X4ConvertI32X4S); } - <i> "f32x4.convert_i32x4_u" { RETURN_OPCODE(Unary, F32X4ConvertI32X4U); } - <i> "f64x2.convert_i64x2_s" { RETURN_OPCODE(Unary, F64X2ConvertI64X2S); } - <i> "f64x2.convert_i64x2_u" { RETURN_OPCODE(Unary, F64X2ConvertI64X2U); } - <i> "i32x4.trunc_sat_f32x4_s" { RETURN_OPCODE(Unary, I32X4TruncSatF32X4S); } - <i> "i32x4.trunc_sat_f32x4_u" { RETURN_OPCODE(Unary, I32X4TruncSatF32X4U); } - <i> "i64x2.trunc_sat_f64x2_s" { RETURN_OPCODE(Unary, I64X2TruncSatF64X2S); } - <i> "i64x2.trunc_sat_f64x2_u" { RETURN_OPCODE(Unary, I64X2TruncSatF64X2U); } - <i> "return_call" { RETURN_OPCODE0(ReturnCall); } - <i> "return_call_indirect" { RETURN_OPCODE0(ReturnCallIndirect); } - - // Deprecated names. - <i> "anyfunc" { RETURN_TYPE(ValueType, Funcref); } - <i> "get_local" { RETURN_OPCODE0(LocalGet); } - <i> "set_local" { RETURN_OPCODE0(LocalSet); } - <i> "tee_local" { RETURN_OPCODE0(LocalTee); } - <i> "get_global" { RETURN_OPCODE0(GlobalGet); } - <i> "set_global" { RETURN_OPCODE0(GlobalSet); } - <i> "i64.extend_s/i32" { RETURN_OPCODE(Convert, I64ExtendI32S); } - <i> "i64.extend_u/i32" { RETURN_OPCODE(Convert, I64ExtendI32U); } - <i> "i32.wrap/i64" { RETURN_OPCODE(Convert, I32WrapI64); } - <i> "i32.trunc_s/f32" { RETURN_OPCODE(Convert, I32TruncF32S); } - <i> "i64.trunc_s/f32" { RETURN_OPCODE(Convert, I64TruncF32S); } - <i> "i32.trunc_s/f64" { RETURN_OPCODE(Convert, I32TruncF64S); } - <i> "i64.trunc_s/f64" { RETURN_OPCODE(Convert, I64TruncF64S); } - <i> "i32.trunc_u/f32" { RETURN_OPCODE(Convert, I32TruncF32U); } - <i> "i64.trunc_u/f32" { RETURN_OPCODE(Convert, I64TruncF32U); } - <i> "i32.trunc_u/f64" { RETURN_OPCODE(Convert, I32TruncF64U); } - <i> "i64.trunc_u/f64" { RETURN_OPCODE(Convert, I64TruncF64U); } - <i> "f32.convert_s/i32" { RETURN_OPCODE(Convert, F32ConvertI32S); } - <i> "f64.convert_s/i32" { RETURN_OPCODE(Convert, F64ConvertI32S); } - <i> "f32.convert_s/i64" { RETURN_OPCODE(Convert, F32ConvertI64S); } - <i> "f64.convert_s/i64" { RETURN_OPCODE(Convert, F64ConvertI64S); } - <i> "f32.convert_u/i32" { RETURN_OPCODE(Convert, F32ConvertI32U); } - <i> "f64.convert_u/i32" { RETURN_OPCODE(Convert, F64ConvertI32U); } - <i> "f32.convert_u/i64" { RETURN_OPCODE(Convert, F32ConvertI64U); } - <i> "f64.convert_u/i64" { RETURN_OPCODE(Convert, F64ConvertI64U); } - <i> "f64.promote/f32" { RETURN_OPCODE(Convert, F64PromoteF32); } - <i> "f32.demote/f64" { RETURN_OPCODE(Convert, F32DemoteF64); } - <i> "f32.reinterpret/i32" { RETURN_OPCODE(Convert, F32ReinterpretI32); } - <i> "i32.reinterpret/f32" { RETURN_OPCODE(Convert, I32ReinterpretF32); } - <i> "f64.reinterpret/i64" { RETURN_OPCODE(Convert, F64ReinterpretI64); } - <i> "i64.reinterpret/f64" { RETURN_OPCODE(Convert, I64ReinterpretF64); } - <i> "i32.trunc_s:sat/f32" { RETURN_OPCODE(Convert, I32TruncSatF32S); } - <i> "i64.trunc_s:sat/f32" { RETURN_OPCODE(Convert, I64TruncSatF32S); } - <i> "i32.trunc_s:sat/f64" { RETURN_OPCODE(Convert, I32TruncSatF64S); } - <i> "i64.trunc_s:sat/f64" { RETURN_OPCODE(Convert, I64TruncSatF64S); } - <i> "i32.trunc_u:sat/f32" { RETURN_OPCODE(Convert, I32TruncSatF32U); } - <i> "i64.trunc_u:sat/f32" { RETURN_OPCODE(Convert, I64TruncSatF32U); } - <i> "i32.trunc_u:sat/f64" { RETURN_OPCODE(Convert, I32TruncSatF64U); } - <i> "i64.trunc_u:sat/f64" { RETURN_OPCODE(Convert, I64TruncSatF64U); } - - <i> "type" { RETURN(Type); } - <i> "func" { RETURN(Func); } - <i> "param" { RETURN(Param); } - <i> "result" { RETURN(Result); } - <i> "local" { RETURN(Local); } - <i> "global" { RETURN(Global); } - <i> "module" { RETURN(Module); } - <i> "binary" { RETURN(Bin); } - <i> "quote" { RETURN(Quote); } - <i> "table" { RETURN(Table); } - <i> "memory" { RETURN(Memory); } - <i> "start" { RETURN(Start); } - <i> "elem" { RETURN(Elem); } - <i> "data" { RETURN(Data); } - <i> "offset" { RETURN(Offset); } - <i> "import" { RETURN(Import); } - <i> "export" { RETURN(Export); } - <i> "event" { RETURN(Event); } - <i> "passive" { RETURN(Passive); } - <i> "register" { RETURN(Register); } - <i> "invoke" { RETURN(Invoke); } - <i> "get" { RETURN(Get); } - <i> "assert_malformed" { RETURN(AssertMalformed); } - <i> "assert_invalid" { RETURN(AssertInvalid); } - <i> "assert_unlinkable" { RETURN(AssertUnlinkable); } - <i> "assert_return" { RETURN(AssertReturn); } - <i> "assert_return_canonical_nan" { RETURN(AssertReturnCanonicalNan); } - <i> "assert_return_arithmetic_nan" { RETURN(AssertReturnArithmeticNan); } - <i> "assert_trap" { RETURN(AssertTrap); } - <i> "assert_exhaustion" { RETURN(AssertExhaustion); } - <i> "i8x16" { RETURN(I8X16); } - <i> "i16x8" { RETURN(I16X8); } - <i> "i32x4" { RETURN(I32X4); } - <i> "i64x2" { RETURN(I64X2); } - <i> "f32x4" { RETURN(F32X4); } - <i> "f64x2" { RETURN(F64X2); } - <i> "try" { RETURN_OPCODE0(Try); } - <i> "catch" { RETURN_OPCODE0(Catch); } - <i> "throw" { RETURN_OPCODE0(Throw); } - <i> "rethrow" { RETURN_OPCODE0(Rethrow); } - <i> "br_on_exn" { RETURN_OPCODE0(BrOnExn); } - <i> name { RETURN_TEXT(Var); } - <i> "shared" { RETURN(Shared); } - - <i> ";;" => LINE_COMMENT { continue; } - <LINE_COMMENT> "\n" => i { NEWLINE; continue; } - <LINE_COMMENT> [^\n]+ { continue; } - <i> "(;" => BLOCK_COMMENT { COMMENT_NESTING = 1; continue; } - <BLOCK_COMMENT> "(;" { COMMENT_NESTING++; continue; } - <BLOCK_COMMENT> ";)" { if (--COMMENT_NESTING == 0) { - BEGIN(YYCOND_i); - } - continue; } - <BLOCK_COMMENT> "\n" { NEWLINE; continue; } - <BLOCK_COMMENT> [^] { continue; } - <BLOCK_COMMENT> * { MAYBE_MALFORMED_UTF8(" in block comment"); } - <i> "\n" { NEWLINE; continue; } - <i> [ \t\r]+ { continue; } - <i> reserved { RETURN_TEXT(Reserved); } - <i> [^] { ERROR("unexpected char"); continue; } - <*> * { MAYBE_MALFORMED_UTF8(""); } - */ +Token WastLexer::GetNanToken() { + if (MatchString("nan")) { + if (MatchChar(':')) { + if (MatchString("0x") && ReadHexNum() && NoTrailingReservedChars()) { + return LiteralToken(TokenType::Float, LiteralType::Nan); + } + } else if (NoTrailingReservedChars()) { + return LiteralToken(TokenType::Float, LiteralType::Nan); + } } + return GetKeywordToken(); +} + +Token WastLexer::GetNameEqNumToken(string_view name, TokenType token_type) { + if (MatchString(name)) { + if (MatchString("0x")) { + if (ReadHexNum() && NoTrailingReservedChars()) { + return TextToken(token_type, name.size()); + } + } else if (ReadNum() && NoTrailingReservedChars()) { + return TextToken(token_type, name.size()); + } + } + return GetKeywordToken(); +} + +Token WastLexer::GetIdToken() { + ReadChar(); + if (NoTrailingReservedChars()) { + return TextToken(TokenType::Reserved); + } + return TextToken(TokenType::Var); +} + +Token WastLexer::GetKeywordToken() { + ReadReservedChars(); + TokenInfo* info = + Perfect_Hash::InWordSet(token_start_, cursor_ - token_start_); + if (!info) { + return TextToken(TokenType::Reserved); + } + if (IsTokenTypeBare(info->token_type)) { + return BareToken(info->token_type); + } else if (IsTokenTypeType(info->token_type)) { + return Token(GetLocation(), info->token_type, info->value_type); + } else { + assert(IsTokenTypeOpcode(info->token_type)); + return Token(GetLocation(), info->token_type, info->opcode); + } +} + +Token WastLexer::GetReservedToken() { + ReadReservedChars(); + return TextToken(TokenType::Reserved); } } // namespace wabt diff --git a/src/wast-lexer.h b/src/wast-lexer.h index 995eaabd..a1eddbf2 100644 --- a/src/wast-lexer.h +++ b/src/wast-lexer.h @@ -39,7 +39,6 @@ class WastLexer { WABT_DISALLOW_COPY_AND_ASSIGN(WastLexer); WastLexer(std::unique_ptr<LexerSource> source, string_view filename); - ~WastLexer(); // Convenience functions. static std::unique_ptr<WastLexer> CreateBufferLexer(string_view filename, @@ -47,7 +46,6 @@ class WastLexer { size_t size); Token GetToken(WastParser* parser); - Result Fill(size_t need); // TODO(binji): Move this out of the lexer. std::unique_ptr<LexerSourceLineFinder> MakeLineFinder() { @@ -55,25 +53,54 @@ class WastLexer { } private: + static const int kEof = -1; + enum class CharClass { Reserved = 1, Keyword = 2, HexDigit = 4, Digit = 8 }; + Location GetLocation(); - Literal MakeLiteral(LiteralType); - std::string GetText(size_t at = 0); + std::string GetText(size_t offset = 0); + + Token BareToken(TokenType); + Token LiteralToken(TokenType, LiteralType); + Token TextToken(TokenType, size_t offset = 0); + + int PeekChar(); + int ReadChar(); + bool MatchChar(char); + bool MatchString(string_view); + void Newline(); + bool ReadBlockComment(WastParser*); // Returns false if EOF. + bool ReadLineComment(); // Returns false if EOF. + void ReadWhitespace(); + + static bool IsCharClass(int c, CharClass); + static bool IsDigit(int c) { return IsCharClass(c, CharClass::Digit); } + static bool IsHexDigit(int c) { return IsCharClass(c, CharClass::HexDigit); } + static bool IsKeyword(int c) { return IsCharClass(c, CharClass::Keyword); } + static bool IsReserved(int c) { return IsCharClass(c, CharClass::Reserved); } + + bool ReadNum(); + bool ReadHexNum(); + int ReadReservedChars(); + bool NoTrailingReservedChars() { return ReadReservedChars() == 0; } + void ReadSign(); + Token GetStringToken(WastParser*); + Token GetNumberToken(TokenType); + Token GetHexNumberToken(TokenType); + Token GetInfToken(); + Token GetNanToken(); + Token GetNameEqNumToken(string_view name, TokenType); + Token GetIdToken(); + Token GetKeywordToken(); + Token GetReservedToken(); std::unique_ptr<LexerSource> source_; std::string filename_; int line_; - int comment_nesting_; - size_t buffer_file_offset_; // File offset of the start of the buffer. - size_t line_file_offset_; // File offset of the start of the current line. - - // Lexing data needed by re2c. - bool eof_; - char* buffer_; - size_t buffer_size_; - char* marker_; - char* next_pos_; - char* cursor_; - char* limit_; + const char* buffer_; + const char* buffer_end_; + const char* line_start_; + const char* token_start_; + const char* cursor_; }; } // namespace wabt diff --git a/test/parse/bad-string-eof.txt b/test/parse/bad-string-eof.txt index 42ef3461..17726fad 100644 --- a/test/parse/bad-string-eof.txt +++ b/test/parse/bad-string-eof.txt @@ -5,5 +5,5 @@ out/test/parse/bad-string-eof.txt:3:25: error: newline in string (module (func) (export " ^ -out/test/parse/bad-string-eof.txt:4:2: error: unexpected token "EOF", expected a quoted string (e.g. "foo"). +out/test/parse/bad-string-eof.txt:4:0: error: unexpected token "EOF", expected a quoted string (e.g. "foo"). ;;; STDERR ;;) diff --git a/test/parse/bad-string-hex-escape.txt b/test/parse/bad-string-hex-escape.txt index d6cfa7c4..0f1a7977 100644 --- a/test/parse/bad-string-hex-escape.txt +++ b/test/parse/bad-string-hex-escape.txt @@ -2,7 +2,7 @@ ;;; ERROR: 1 (module (func) (export "foo\az" (func 0))) (;; STDERR ;;; -out/test/parse/bad-string-hex-escape.txt:3:28: error: bad escape "\a" +out/test/parse/bad-string-hex-escape.txt:3:28: error: bad escape "\az" (module (func) (export "foo\az" (func 0))) - ^^ + ^^^ ;;; STDERR ;;) diff --git a/test/parse/empty-file.txt b/test/parse/empty-file.txt index 3ff78129..8fd4f01a 100644 --- a/test/parse/empty-file.txt +++ b/test/parse/empty-file.txt @@ -2,5 +2,5 @@ ;;; ERROR: 1 ;; empty file (;; STDERR ;;; -out/test/parse/empty-file.txt:4:2: error: unexpected token "EOF", expected a module field or a module. +out/test/parse/empty-file.txt:4:1: error: unexpected token "EOF", expected a module field or a module. ;;; STDERR ;;) diff --git a/test/parse/module/bad-module-no-close.txt b/test/parse/module/bad-module-no-close.txt index 1606b852..b5ab4eb7 100644 --- a/test/parse/module/bad-module-no-close.txt +++ b/test/parse/module/bad-module-no-close.txt @@ -2,5 +2,5 @@ ;;; ERROR: 1 (module (;; STDERR ;;; -out/test/parse/module/bad-module-no-close.txt:4:2: error: unexpected token "EOF", expected a module field. +out/test/parse/module/bad-module-no-close.txt:4:1: error: unexpected token "EOF", expected a module field. ;;; STDERR ;;) |